我尝试以编程方式创建一个服务,其中的binpath包含嵌套引号,用于包含空格的参数。
通过命令提示符运行它可以正常工作,但是在powershell中使用调用表达式会失败。我试过在这里使用字符串和脚本块,但是仍然不能让它工作。
$serviceName = "my service"
$svcBinaryPath = '\"' + $pathToExe + '\" \"' + $parameterWithSpaces + '\"'
$cmd = "sc.exe create $('"' + $serviceName + '"') binpath= $('"' + $svcBinaryPath + '"')"
Invoke-Command $cmd
打印出$cmd
并在命令提示符中运行它所显示的内容工作正常。
2条答案
按热度按时间wljmcqd81#
请注意,有一个用于创建服务的new-service cmdlet。
创建带有引号的新服务的示例:
ttygqcqt2#
你不能只把一个字符串传递给
Invoke-Command
,而且你不需要它,就这样运行它: