powershell -NoProfile "if ( Get-Service someCoolService -ErrorAction SilentlyContinue) -And if (someCoolService.StartUpType -ne "Disabled") { Write-Output "True" }
答案 0 :(得分:2)
使用WMI:
powershell -NoProfile "&{![bool](Get-WmiObject Win32_Service -Filter \"Name='yourService' AND StartMode='Disabled'\")}"
假设您正在谈论SaltStack配置管理系统,您还应该能够run PowerShell code directly指定shell
参数:
salt '*' cmd.run "![bool](Get-WmiObject Win32_Service -Filter \"Name='yourService' AND StartMode='Disabled'\"" shell='powershell'
答案 1 :(得分:0)
就像你说的那样,它的语法错误。如果您想自己修复它,我建议您下次打开一个PowerShell窗口,并在" powershell -Noprofile"之后执行所有操作。 - >因为如果您在PowerShell窗口中,则不需要此部分。 (要运行powershell,只需在命令提示符下键入powershell或从应用程序中打开PowerShell窗口。)
无论如何,让我帮你解决这个问题,同时你可以使用我之前提到的那些你以后被困的时间。
powershell -profile if(( Get-Service someCoolService -ErrorAction SilentlyContinue) -And (someCoolService.StartUpType -ne "Disabled")) { Write-Output "True" }