2015-05-25 3 views
4

Я пытаюсь подключиться к локальному хосту, используя New-PSSession.New-PSSession не работает локально

У меня есть

  • сконфигурированной WinRM с помощью

    winrm quickconfig 
    
  • Enabled PS Remoting

    Enable-PSRemoting 
    
  • Добавлено Trusted Host

    Set-Item WSMan:\localhost\Client\TrustedHosts * -Force 
    
  • На брандмауэре есть входное правило на порту 8173.

Выход winrm:

PS C:\> winrm get winrm/config/listener?Address=*+Transport=HTTP 
Listener 
    Address = * 
    Transport = HTTP 
    Port = 8173 
    Hostname 
    Enabled = true 
    URLPrefix = wsman 
    CertificateThumbprint 
    Listening on = 127.0.0.1 

Я пытаюсь выполнить следующую команду:

New-PSSession -ConnectionUri http://localhost:8173/WSMAN 

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

[localhost] Processing data from remote server failed with the following error message: 
Error with error code 14 occurred while calling method WSManPluginReceiveResult. For 
more information, see the about_Remote_Troubleshooting Help topic. 
    + CategoryInfo   : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException 
    + FullyQualifiedErrorId : PSSessionOpenFailed 

EDIT:

Единственная дополнительная вещь, которую я вижу в том, что сеть подключена к общественной $ listenerport = "8173" winrmwinrm создать WinRM/Config/Слушатель? Адрес = * + Транспорт = HTTP "@ {Порт =" $ listenerport "

C:\>winrm get winrm/config 
Config 
    MaxEnvelopeSizekb = 1039440 
    MaxTimeoutms = 60000 
    MaxBatchItems = 32000 
    MaxProviderRequests = 4294967295 
    Client 
     NetworkDelayms = 5000 
     URLPrefix = wsman 
     AllowUnencrypted = true 
     Auth 
      Basic = true 
      Digest = true 
      Kerberos = true 
      Negotiate = true 
      Certificate = true 
      CredSSP = false 
     DefaultPorts 
      HTTP = 8173 
      HTTPS = 5986 
     TrustedHosts = * 
    Service 
     RootSDDL = O:NSG:BAD:P(A;;GA;;;BA)(A;;GA;;;S-1-5-21-2458768215-3945602940-3262220185-1045)S:P(AU;FA;GA;;;WD)(AU;SA;GWGX;;;WD) 
     MaxConcurrentOperations = 4294967295 
     MaxConcurrentOperationsPerUser = 500 
     EnumerationTimeoutms = 60000 
     MaxConnections = 25 
     MaxPacketRetrievalTimeSeconds = 120 
     AllowUnencrypted = true 
     Auth 
      Basic = true 
      Kerberos = false 
      Negotiate = true 
      Certificate = true 
      CredSSP = false 
      CbtHardeningLevel = Relaxed 
     DefaultPorts 
      HTTP = 5985 
      HTTPS = 5986 
     IPv4Filter = * 
     IPv6Filter = * 
     EnableCompatibilityHttpListener = false 
     EnableCompatibilityHttpsListener = false 
     CertificateThumbprint 
    Winrs 
     AllowRemoteShellAccess = true 
     IdleTimeout = 180000 
     MaxConcurrentUsers = 5 
     MaxShellRunTime = 2147483647 
     MaxProcessesPerShell = 15 
     MaxMemoryPerShellMB = 150 
     MaxShellsPerUser = 5 


PS C:\> Get-PSSessionConfiguration microsoft.powershell | fl * 


xmlns   : http://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration 
Name    : Microsoft.PowerShell 
Filename   : %windir%\system32\pwrshplugin.dll 
SDKVersion  : 1 
XmlRenderingType : text 
lang    : en-US 
PSVersion  : 2.0 
ResourceUri  : http://schemas.microsoft.com/powershell/Microsoft.PowerShell 
SupportsOptions : true 
ExactMatch  : true 
Capability  : {Shell} 
Permission  : 

Administrators group have permission as I see in the window popup (Set-PSSessionConfiguration -Name Microsoft.PowerShell -showSecurityDescriptorUI) 

EDIT 2: Permissions

+0

Порт по умолчанию - '5985'. Как вы установили '8173' с' winrm quickconfig'? Меня поражает то, что на выходе 'winrm get' отсутствует строка, которая у меня есть:' ListeningOn = 127.0.0.1, :: 1' (у меня также есть другие IP-адреса, которые есть у сервера). – briantist

+0

Используется winrm create winrm/config/Listener? Address = * + Transport = HTTP-команда и создан прослушиватель на порту 8173. Затем добавлено правило исключения брандмауэра на порт 8173. И да, мой вывод содержит «Прослушивание». Пропущен. –

+0

У вас есть какие-либо предложения по http://powershell.com/cs/forums/t/11426.aspx? –

ответ

2

Методом исключения, мы можем исключить брандмауэр, как вопрос, так как вы только подключения к кольцевому адресу (127.0.0.1). Мы также можем исключить конфигурацию WinRM, которая выглядит нормально.

Сообщение об ошибке указывает на то, что соединение TCP с http://localhost:8173/WSMAN действительно успешно, но возникает ошибка при установке сеанса PS.

Это указывает на конфигурацию сеанса Microsoft.PowerShell.

Похоже, существует расхождение в разрешениях, которые вы видите, когда смотрите на

Set-PSSessionConfiguration -Name Microsoft.PowerShell -showSecurityDescriptorUI 

и разрешение фактически назначен Microsoft.PowerShell. Выход

Get-PSSessionConfiguration microsoft.powershell | fl * 

должен иметь «SecurityDescriptorSDDL» и «разрешение» приличий в списке. Например:

Name     : microsoft.powershell 
Filename    : %windir%\system32\pwrshplugin.dll 
SDKVersion    : 1 
XmlRenderingType  : text 
lang     : en-US 
PSVersion    : 2.0 
ResourceUri   : http://schemas.microsoft.com/powershell/microsoft.powershell 
SupportsOptions  : true 
Capability    : {Shell} 
xmlns     : http://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration 
Uri     : http://schemas.microsoft.com/powershell/microsoft.powershell 
ExactMatch    : true 
SecurityDescriptorSddl : O:NSG:BAD:P(A;;GA;;;BA)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;;WD) 
Permission    : BUILTIN\Administrators AccessAllowed 

Попробуйте удалить и переназначить эти разрешения.

EDIT:

На основании информации, предоставленной вами это не главная проблема. Я также заметил, что у вас есть нестандартный «RootSDDL» в настройках службы WinRM.

RootSDDL = O:NSG:BAD:P(A;;GA;;;BA)S:P(AU;FA;GA;;;S-1-5-21-2458768215-3945602940-3262220185-1045)(AU;SA;GWGX;;;WD) 

по умолчанию это должно быть

RootSDDL = O:NSG:BAD:P(A;;GA;;;BA)S:P(AU;FA;GA;;;WD)(AU;SA;GWGX;;;WD) 

Я воссоздал это на тесте VM и Remoting все еще работает. Поэтому я еще раз взглянуть на конфигурацию WinRM ...

Решение

Ваша проблема эта линия

MaxEnvelopeSizekb = 1039440 

Установив это значение, я могу повторить вопрос у вас есть. Я предлагаю установить это в нечто более разумное или по умолчанию.

winrm set winrm/config '@{MaxEnvelopeSizekb="150"}' 

Поможет ли ваша проблема.

+0

Обновлен вопрос с изображением разрешений –

+0

выполнил следующий PS> Unregister-PSSessionConfiguration microsoft.powershell PS> Enable-PSRemoting PS> Get-PSSessionConfiguration microsoft.powershell | fl max * –

+0

Это сработало, спасибо! –

0

В «строгой» среде IPV4 у нас была та же проблема.

Причина: WinRM (и другие службы), похоже, используют IpV6-Loopback-Address, даже если ipv6 отключен повсюду. (Что не является проблемой, за исключением WinRM)

Следовательно, если WinRM-Listener для адреса IPV6-Loopback отсутствует, вы не можете подключиться к локальному хосту, даже если WinRM работает с удаленным хостом.

0

установки следующие работал для меня после того, как я модернизировал к компьютерам с выигрышем 10 1607 до 1708

обновление изменило следующий рег ключ 1, и установить его обратно в 0, работал для меня

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 
FilterAdministratorToken=dword:0 
Смежные вопросы