我正在尝试从 PowerShell 启动服务,启动参数类似于:-l "192.168.10.10"
。
遵循 this answer 中的建议没有帮助。
这是我的代码:
#start service
$slave = Get-Service -Name "My Service"
if ($slave.status -eq "Stopped") {
$ip = Get-NetIPAddress -InterfaceAlias myInterface -AddressFamily IPv4
$args = @('-l ', "`"$($ip.IPAddress)`"")
echo $args
$slave.Start($args) # doesn't work
} else {
echo "My service is already running"
}
运行结果如下,恐怕没有有用的错误信息:
-l "192.168.10.10"
如果我在服务管理器中手动为其提供参数,我已验证该服务启动正常。这需要几秒钟。
最佳答案
我找到了解决方法。它非常微妙,值得分享。
我开始的服务不喜欢 -l
之后的尾随空格。
$args = @('-l', $ip.IPAddress) # works great!
关于powershell - 如何从 PowerShell 启动服务并将启动参数传递给它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57762653/