Powershell 一个用于获取服务启动类型的班轮

Powershell 一个用于获取服务启动类型的班轮,powershell,command-line,salt-stack,Powershell,Command Line,Salt Stack,我写这封信的目的是用盐和窗户做检查。。我认为这只是语法,而且我对powershell还很陌生,任何帮助都会很好 powershell -NoProfile "if ( Get-Service someCoolService -ErrorAction SilentlyContinue) -And if (someCoolService.StartUpType -ne "Disabled") { Write-Output "True" } 就像你说的,这是一个语法错误。如果您想自己修复它,我建议您

我写这封信的目的是用盐和窗户做检查。。我认为这只是语法,而且我对powershell还很陌生,任何帮助都会很好

powershell -NoProfile "if ( Get-Service someCoolService -ErrorAction SilentlyContinue) -And if (someCoolService.StartUpType -ne "Disabled") { Write-Output "True" }

就像你说的,这是一个语法错误。如果您想自己修复它,我建议您下次打开powershell窗口,并在“powershell-Noprofile”->之后执行所有操作,因为如果您在powershell窗口中,则不需要此部分。(要运行powershell,只需在命令提示符下键入powershell或从应用程序中打开powershell窗口)

无论如何,让我来帮你解决这个问题,你可以用我之前提到的来解决你以后遇到的问题

powershell -profile if(( Get-Service someCoolService -ErrorAction SilentlyContinue) -And (someCoolService.StartUpType -ne "Disabled")) { Write-Output "True" }
为此使用WMI:

powershell -NoProfile "&{![bool](Get-WmiObject Win32_Service -Filter \"Name='yourService' AND StartMode='Disabled'\")}"
假设您正在讨论SaltStack配置管理系统,您还应该能够通过指定
shell
参数:

salt '*' cmd.run "![bool](Get-WmiObject Win32_Service -Filter \"Name='yourService' AND StartMode='Disabled'\"" shell='powershell'

我的salt部分是正确的,我对语法错误理解得不太好。我试图修复它,但没有用,因为我还是新手,正在尝试理解powershell。感谢您为此向我展示WMI。谷歌有一些例子,但没有那么大的帮助。谢谢。是的,我打开了PS并做了所有这些,但是我不理解错误,我在谷歌上搜索了一些例子,但从来没有真正正确地工作过。我也不确定这个错误是什么意思。但是谢谢你,太好了!很高兴知道这有帮助:)