Я пытаюсь установить службу на удаленном компьютере с помощью PowerShell.
Пока у меня есть следующее:
Invoke-Command -ComputerName $remoteComputerName -ScriptBlock {
param($password=$password,$username=$username)
$secpasswd = ConvertTo-SecureString $password -AsPlainText -Force
$credentials = New-Object System.Management.Automation.PSCredential ($username, $secpasswd)
New-Service -Name "XXX" -BinaryPathName "c:\XXX.exe" -DisplayName "XXX XXX XXX" -Description "XXXXXX." -Credential $credentials -ErrorVariable errortext
Write-Host("Error in: " + $errortext)
} -ArgumentList $password,$username -ErrorVariable errortext
Write-Host("Error out: " + $errortext)
Когда возникает ошибка при выполнении New-Service, переменная $ errortext ErrorVariable устанавливается правильно внутри ScriptBlock, потому что текст: «Ошибка в: показывает мне ошибку.
ErrorVariable Invoke-Command не устанавливается (чего я ожидал).
У меня вопрос:
Можно ли каким-то образом установить для ErrorVariable Invoke-Command значение ошибки, которую я получил внутри ScriptBlock?
Я знаю, что могу также использовать InstalUtil, WMI и SC для установки службы, но на данный момент это не актуально.