[问题] 用 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