Я бы, вероятно, сделал что-то вроде этого:
$server = 'server2'
$servicename = 'spooler'
$services = Get-Service -ComputerName $server -Name $servicename
# show what was found
Write-Host "`r`nService(s) named '$servicename' on '$server'" -ForegroundColor Yellow
$services | Format-Table DisplayName, Name, ServiceName, Status, StartType, MachineName -AutoSize
# next change the StartupType for any service found that is set to 'Automatic'
$services | Where-Object { $_.StartType -eq 'Automatic' } | ForEach-Object {
Write-Host "Setting StartupType for service '$($_.Name)' on computer '$($_.MachineName)' to 'Manual'" -ForegroundColor Green
$_ | Set-Service -StartupType Manual }
# show what has changed
Get-Service -ComputerName $server -Name $servicename |
Format-Table DisplayName, Name, ServiceName, Status, StartType, MachineName -AutoSize
Если вы не знаете точного названия службы, вам лучше использовать Get-Service
с частичным именем.Вы можете сделать это с помощью оператора like
.В этом случае добавьте звездочки вокруг имени сервика и измените строки $services = Get-Service -ComputerName $server -Name $servicename
, чтобы они стали:
$servicename = '*spooler*'
$services = Get-Service -ComputerName $server | Where-Object { $_.Name -like $servicename }