У меня есть сценарий powershell, который выполняется на узле Jenkins и вызывает некоторые команды, которые выполняются на отдельных серверах.Он пытается зарегистрировать конфигурацию сеанса powershell и создать новый сеанс с использованием этой конфигурации.В противном случае он возвращается к обычному удаленному сеансу PowerShell.Тем не менее, я вижу случайные сбои на случайных серверах.Он не сможет создать сеанс PowerShell, и весь скрипт завершится неудачно.Существуют ли какие-то параметры удаленной PowerShell, которые я пропускаю?
Я попытался включить групповую политику «Не выгружать принудительно выгружать реестр пользователей при выходе из системы», но не было никаких изменений в поведении.Политика выполнения установлена на «RemoteSigned».
Я вызываю следующую команду для регистрации конфигурации сеанса powershell.
Register-PSSessionConfiguration -Name AdminSession -RunAsCredential $Credentials -Force -NoServiceRestart -WarningAction SilentlyContinue
Затем я принудительно перезапускаю службу WinRM (требуется для доступности конфигурации).
Invoke-Command -ComputerName $TargetServer -Credential $Credentials -ScriptBlock {Restart-Service -Name WinRM -Force} -ErrorAction SilentlyContinue | Out-Null
Я пытаюсь создать новый сеанс powershell с конфигурацией AdminSession, и если это не удается, я пытаюсь создать нормальный сеанс powershell.
$TargetSession = New-PSSession -ComputerName $TargetServer -Credential $Credentials
Вывод ошибки следующий: Попытка недопустимой операции с разделом реестра, помеченным для удаления.