Поэтому я использую объекты WMI для удаленного перезапуска службы, которая работает, но вывод помещает в окно загрузку параметров, что полезно для отладки, но не для конечного пользователя.
Я отправляю следующее
Try {
Write-host "Connecting to remote computer"
$service = Get-WmiObject -Class Win32_Service -ComputerName $till -Credential $cred -Filter "Name='$servname'"
Write-host "Stopping service"
$service.stopservice()
Write-host "Waiting for service to stop"
Start-Sleep -Seconds 10
Write-host "Starting service"
$service.startservice()
}
Catch {
Write-host "There was an error processing your request" -fore RED;
}
Вывод, который я получаю:
Connecting to remote computer
Stopping service
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ReturnValue : 0
PSComputerName :
Waiting for service to stop
Starting service
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ReturnValue : 0
PSComputerName :
Я считаю ReturnValue полезным для этого сценария и ничего больше.
Как можноЯ скрываю этот вывод и в то же время использую ReturnValue, чтобы передать его в оператор Switch