Ваша проблема: Set-Service
не имеет параметра ComputerName
, поэтому он не может действовать против удаленных служб.
Get-Service
может действовать против удаленного компьютера (у него естьпараметр ComputerName
), эта команда возвращает объект службы, который может быть передан на Set-Service
для удаленного действия.
Предполагается, что вы хотите остановить удаленную службу и установить для нее значение Вручную.при запуске это будет код:
$servicename = 'spooler'
$server = 'server2'
$service = Get-Service -Name $servicename -ComputerName $server
if ($service.Status -eq 'Running') {
$service | Set-Service -Status Stopped
}
if ($service.StartType -eq 'Automatic') {
$service | Set-Service -StartupType Manual
}
# If you need to start the service again
# $service | Set-Service -Status Running