3

Когда я вошел в систему как тот же user что и сервер, я могу Enter-PSSession с помощью:

> Enter-PSSession -ConnectionURI http://xxx.xx.xxx.xx:5985

Однако, когда я вошел в систему как другой пользователь (на том же компьютере) и попытался Enter-PSSession PSSession с параметром -Credential :

> Enter-PSSession -ConnectionUri http://xxx.xx.xxx.xx:5985 -Credential user

После ввода пароля я получаю:

Enter-PSSession : Connecting to remote server xxx.xx.xxx.xx failed with the
following error message : Access is denied. For more information, see the
about_Remote_Troubleshooting Help topic.
At line:1 char:1
+ Enter-PSSession -ConnectionUri http://xxx.xx.xxx.xx:5985 -Credential user
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (http://xxx.xx.xxx.xx:5985/:Uri
  ) [Enter-PSSession], PSRemotingTransportException
+ FullyQualifiedErrorId : CreateRemoteRunspaceFailed

1 ответ1

7

(1) Вы можете пропустить материал http://, если вы используете конфигурацию WinRM по умолчанию и вместо:

Enter-PSSession -ConnectionURI http://xxx.xx.xxx.xx:5985

введите следующее:

Enter-PSSession xxx.xx.xx.xx

Вы также можете использовать DNS-имя сервера вместо его IP-адреса, если для системы есть запись DNS.

(2) По умолчанию только членам группы администраторов разрешено подключаться к конечным точкам удаленного взаимодействия PS. Вы уверены, что ваша учетная запись является членом этой группы?

(3) Я где-то читал, что параметр -Credential в Enter-PSSession не работает. Обходной путь должен заранее создать учетный объект:

$ cred = Get-Credential

Enter-PSSession XXX.XX.XX.XX -credential $ cred

Пожалуйста, попробуйте и сообщите, работает ли он.

(4) Если вы пытаетесь подключиться к компьютеру, который не является частью вашего домена, вам нужно добавить его в список доверенных компьютеров на компьютере, с которого вы пытаетесь запустить сеанс удаленного взаимодействия:

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

И вам нужно явно указать enter-pssession, какая учетная запись пользователя на удаленной машине будет использоваться:

$ Cred = Get-Credential "имя удаленного компьютера \ имя пользователя"

Enter-PSSession XXX.XX.XX.XX -Credential $ Cred

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .