Выполнить скрипт powershell на нескольких серверах удаленно - PullRequest
0 голосов
/ 24 июня 2018

Я написал сценарий powershell, который удаляет программу и устанавливает новую версию программы на моих серверах (Обновление программ).Теперь я хочу создать еще один скрипт, который запускает вышеупомянутый скрипт на серверах.Учтите, что я должен подключаться к своим серверам, используя IP-адреса, имя пользователя и пароль, а использование домена - это не вариант.Как это возможно?Версии Powershell: 4

Я попробовал этот код, чтобы просто получить дату:

$User = "administrator"
$PWord = ConvertTo-SecureString -String "Password1234" -AsPlainText -Force
$Credential = New-Object -TypeName "System.Management.Automation.PSCredential" -ArgumentList $User, $PWord
$session = New-PSSession -ComputerName '10.60.60.100' -Credential $Credential
Invoke-Command -Session $session -ScriptBlock {Get-Date}

, и я получил эту ошибку:

New-PSSession: [10.60.60.100] Не удалось подключиться к удаленному серверу 10.60.60.100 со следующим сообщением об ошибке: Клиент WinRM не может обработать запрос.Если схема аутентификации отличается от Kerberos, или если клиентский компьютер не присоединен к домену, необходимо использовать транспорт HTTPS или конечный компьютер должен быть добавлен в параметр конфигурации TrustedHosts.Используйте winrm.cmd для настройки TrustedHosts.Обратите внимание, что компьютеры в списке TrustedHosts могут не проходить проверку подлинности.Вы можете получить больше информации об этом, выполнив следующую команду: winrm help config.Для получения дополнительной информации см. Раздел справки about_Remote_Trou Troubleshooting.

1 Ответ

0 голосов
/ 24 июня 2018

Это потому, что вы не запускаете команду с доверенного хоста, или потому что служба wsman удаленных компьютеров не настроена должным образом.Я бы начал с запуска следующей команды для настройки wsman на удаленной машине:

wsman quickconfig

Если это не решит проблему, то вам нужно добавить компьютер к доверенным хостам удаленных машин.Вы можете сделать это, выполнив следующее:

winrm s winrm/config/client '@{TrustedHosts="RemoteComputer"}'
...