我试图找出在远程计算机上运行的服务的启动类型。
我已经尝试过以下但是它给了我启动模式而不是启动类型。
[cmdletbinding()]
param(
[string[]]$Service,
[switch]$Disabled,
[switch]$Automatic,
[switch]$Manual,
[string]$ComputerName = $env:ComputerName
)
foreach($Ser in $Service) {
try {
$Obj = Get-WmiObject -Class Win32_Service -Filter "Name='$Ser'"-ComputerName $ComputerName -ErrorAction Stop
$Obj | select Name, DisplayName, StartMode
} catch {
Write-Error " Failed to get the information. More details: $_"
}
}
.\Get-ServiceStartupType.ps1 –Service wscsvc –ComputerName Computername
服务是" wscsvc"安全中心
答案 0 :(得分:1)
您需要使用Get-Service
代替Get-WmiObject
:
$svc = Get-Service wscsvc
$svc.StartType
在您的代码中使用:
$Obj = Get-Service $Ser -ComputerName $ComputerName -ErrorAction Stop
$Obj | select Name, DisplayName, StartType
答案 1 :(得分:1)
如果您使用
Get-Service -name $ser -computername $computername | select-object Name,StartType
而不是get-wmiobject。我还使用了管道而不是变量来使代码更清晰。