Подтвердить что ты не робот

Путаное поведение Powershell

Немного смущен w/удаленный запуск команды powershell. У меня есть тестовый сервер (Win 2k8-R2-SP1), называемый ServerA, который правильно включил дистанционное управление powershell. С моей машины dev (Win 2k8-R2-SP1), я могу правильно выполнять команды powershell. Но когда я пытаюсь выполнить ту же команду с другого сервера под названием ServerB (Win 2k8-R2), я получаю следующую ошибку

[ServerA] Connecting to remote server failed with the following error message : The client cannot connect to the destination specified in the request. Verify that the service on the destination is running and is accepting requests. Consult the logs and documentation for the WS-Management service running on the destination, most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the destination to analyze and configure the WinRM service: "winrm quickconfig". For more information, see the about_Remote_Troubleshooting Help topic. + CategoryInfo : OpenError: (:) [], PSRemotingTransportException + FullyQualifiedErrorId : PSSessionStateBroken

Все три машины находятся в одном домене. Моя путаница в том, что с моей машины dev я отлично могу подключиться к ServerA и выполнить команду.

Будет ли тот факт, что ServerB не имеет SP1, имеет значение? Пожалуйста, порекомендуйте. Я использую ту же учетную запись домена, которая имеет права администратора на всех 3 серверах.

И команда, которую я пытаюсь сделать Invoke-Command -ComputerName ServerA -ScriptBlock {Get-UICulture}.

Пожалуйста, помогите.

Спасибо

4b9b3361

Ответ 1

Запустите winrm quickconfig или Enable-PSRemoting -force из ServerB.

Служба проверки работает с get-service winrm

http://technet.microsoft.com/en-us/magazine/ff700227.aspx

Кроме того, запустите это из своего локального dev:

Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*" -Force

Ответ 2

У меня была такая же проблема, как и на машине, которая работала на удаленной машине в прошлом. В моем случае решение состояло в том, чтобы очистить журнал безопасности. Это было полно, и я считаю, что это мешает PowerShell обеспечить надлежащую безопасную связь.

Ответ 3

Следующая исправленная моя проблема:

Вам либо нужно очистить список iplisten, который можно проверить, используя следующую команду CMD:

netsh http show iplist

или добавить к нему обратный адрес цикла, если есть другие адреса:

netsh http add iplisten 127.0.0.1

Ответ 4

Чтобы сохранить включение WinRM на каждом отдельном сервере, который вы управляете, вы можете запустить этот пакет script:

Требования:

Использование: EnablePSRemoting.bat PCs.txt

@echo off
for /f %%f in (%1) do (
  psexec.exe \\%%f -accepteula -h -d -s powershell.exe "enable-psremoting -force"
  echo Enabled on %%f
)

Ответ 5

Я искал ответ в течение нескольких дней, и я нашел проблему;

Похоже, что компонент IIS 7.NET Extensibility не был установлен, вызвав эту проблему. У нас есть сервер Exchange 2010 R2,

https://technet.microsoft.com/en-us/library/dd421841(v=exchg.80).aspx

Я установил его, введя это в powershell;

См. здесь предварительные условия для Exchange 2010.

https://technet.microsoft.com/en-us/library/bb691354(v=exchg.141)

Этот сервер Exchange имеет только роль почтового ящика, другой - транспорт CAS и HUB;

Итак, нам нужна эта команда;

Add-WindowsFeature NET-Framework-функции, RSAT-кластеризация, Web-Mgmt-Console, WAS-Process-Model, Web-Basic-Auth, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Net- Ext, Web-сервер, Web-Windows-Auth -Restart

Часть Web-Net-Ext установила компонент IIS 7.NET Extensibility. Не нужно перезапускать.

Только мои 2 цента, возможно, это помогает кому-то еще: -)