[問題] 用 PowerShell 自動設定 Port forwarding

作者: falcon (falken)   2024-02-06 00:49:21
問題來自於 Podman 佈署完服務後要設定 Port forwarding
但手動確認 IP 好麻煩 想要一鍵處理
```
$config += @(@{listenport=4567; connectport=4567; distroname='Ubuntu'})
$config += @(@{listenport=2283; connectport=2283; distroname='Ubuntu'})
netsh interface portproxy reset
foreach ($c in $config) {
$distroname = $c.distroname
$wslip = wsl -d "$distroname" hostname -I
netsh interface portproxy add v4tov4 `
listenport=$c.listenport `
listenaddress=0.0.0.0 `
connectport=$c.connectport `
connectaddress=$wslip
}
```
檢查過變數的值看起來沒問題
看不出來是哪裡出問題
作者: falcon (falken)   2024-02-06 19:41:00
找到問題了,$wslip 似乎混入多餘字元,用正規表示法濾掉多餘的字元之後就解決了。現在的新問題是如何開機自動以管理員身分執行腳本…找到解法了 Start-Process -Verb RunAs 呼叫出系統管理員權的限 PowerShell 去執行 .ps1做成 bat 丟個捷徑到啟動目錄
作者: saito2190 (榛香超可愛der)   2024-02-06 22:27:00
推自問自答 XD
作者: agong (agong)   2024-02-08 20:03:00
RunOnce

Links booklink

Contact Us: admin [ a t ] ucptt.com