ドメイン以外のサーバーでリモートPSセッションが失敗する


10

Win8ホストからPSを使用して、ドメインに参加していないリモートWin2008R2サーバーに接続しようとしています(同じサブネット、ローカルVMです)。私が見つけることができるすべてを試してみましたが、何も機能しません。

サーバ:

PS C:\Users\Administrator> winrm quickconfig
PS C:\Users\Administrator> enable-psremoting

クライアント:

PS C:\scripts> $cred = get-credential -username "administrator" -message "Enter password"

PS C:\scripts> $sess = new-pssession -computername 10.10.106.2 -credential $cred -authentication default
new-pssession : [10.10.106.2] Connecting to remote server 10.10.106.2 failed with the following error message : The
WinRM client cannot process the request. If the authentication scheme is different from Kerberos, or if the client
computer is not joined to a domain, then HTTPS transport must be used or the destination machine must be added to the
TrustedHosts configuration setting. Use winrm.cmd to configure TrustedHosts. Note that computers in the TrustedHosts
list might not be authenticated. You can get more information about that by running the following command: winrm help
config. For more information, see the about_Remote_Troubleshooting Help topic.
At line:1 char:9
  + $sess = new-pssession -computername 10.10.106.2 -credential $cred -authenticatio ...
  + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotingTransportException
    + FullyQualifiedErrorId : ServerNotTrusted,PSSessionOpenFailed

PS C:\scripts> winrm set winrm/config/client '@{TrustedHosts="10.10.106.2"}'
WSManFault
Message = The client cannot connect to the destination specified in the request. Verify that the service on the dest
ination is running and is accepting requests. Consult the logs and documentation for the WS-Management service running o
n 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".
Error number:  -2144108526 0x80338012
The client cannot connect to the destination specified in the request. Verify that the service on the destination is run
ning and is accepting requests. Consult the logs and documentation for the WS-Management service running on the destinat
ion, most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the destination t
o analyze and configure the WinRM service: "winrm quickconfig".

PS C:\scripts> $sess = new-pssession -computername 10.10.106.2 -credential $cred -usessl
new-pssession : [10.10.106.2] Connecting to remote server 10.10.106.2 failed with the following error message : WinRM
cannot complete the operation. Verify that the specified computer name is valid, that the computer is accessible over
the network, and that a firewall exception for the WinRM service is enabled and allows access from this computer. By
default, the WinRM firewall exception for public profiles limits access to remote computers within the same local
subnet. For more information, see the about_Remote_Troubleshooting Help topic.
At line:1 char:9
  + $sess = new-pssession -computername 10.10.106.2 -credential $cred -usessl
  +         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotin   gTransportException
    + FullyQualifiedErrorId : WinRMOperationTimeout,PSSessionOpenFailed

ああ、RDPは同じ資格情報を持つこれら2つのホスト間で正常に動作します。

これでも機能します:

PS C:\scripts> Get-WinEvent -computername 10.10.106.2 -credential $cred

回答:


17

クライアント側

winrm quickconfig
winrm set winrm/config/client '@{TrustedHosts="Computer1,Computer2"}'

サーバー側

Enable-PSRemoting -Force
winrm quickconfig

https用

winrm create winrm/config/Listener?Address=*+Transport=HTTPS @{Hostname="_";CertificateThumbprint="_"}

httpの

winrm create winrm/config/Listener?Address=*+Transport=HTTP

でテスト

Test-WsMan ComputerName
Test-WsMan ComputerName -UseSSL

編集:PowerShellでTrustedHostsを設定する

またはPowerShellを使用(管理者として)

Set-Item -Path WSMan:\localhost\Client\TrustedHosts -Value "Computer1,Computer2"

そしてチェックしてください(そのために管理者は必要ありません)

Get-Item WSMan:\localhost\Client\TrustedHosts

5

これらのエラーメッセージの1つに見られる問題は次のとおりです。

認証方式がKerberosと異なる場合、またはクライアントコンピューターがドメインに参加していない場合は、HTTPSトランスポートを使用するか、宛先マシンをTrustedHosts構成設定に追加する必要があります。

基本的に、WinRMを設定して(デフォルトのHTTPではなく)HTTPSを使用するか、接続元のマシンを信頼できるホストとして接続先のマシンに追加する必要があります。


サーバーに有効な証明書がないため、そのコマンドを使用できません。私の元の質問で見たように、クライアント側のtrustedhostsにマシンを追加しようとしました。サーバー側でも同じようにする必要がありますか?
Dendory、2015年

RDPをリモートサーバーに追加し、RDPセッションから信頼できるホストを設定します(これが目的の方法である場合)。私が管理するすべてのコンピューターで、HTTPではなくHTTPSを使用するようにWinRM / WinRSを設定する方が簡単でずっと良いと思います(この特定の問題だけではなく、さまざまな理由で)。
HopelessN00b 2015年

そうですが、PS HTTPSには、パブリックDNS名とともに実際の証明書(自己署名なし)が必要なようです。RDPと同じ暗号化を使用しないのはなぜですか?特別なことは必要ありません。これは開発用のローカルVMであり、そのため、選択肢がなく、パブリックCAを取得できません。
Dendory

winrm set winrm/config/client '@{TrustedHosts="10.10.106.1"}'サーバーで動作しましたが、クライアントでも同じエラーメッセージが表示されますが、接続できません。
Dendory、2015年

1
@Dendory WinRM over HTTPSは、発行元のCAを信頼するようにマシンを適切に設定していれば、内部認証局が発行した証明書で正常に機能します。マシンが有効な外部DNS名を持っている必要はありません。そのDNS名を使用することと、証明書も同様です。それが選択肢にならない場合は、何らかの理由で、Trusted Hostsエントリ(エントリ?)だけで機能するように手助けしてくれる誰かがやってくれることを期待する必要があります。それはお尻の痛みが多すぎて、私には確実に機能しないようでした。
HopelessN00b 2015年

1

私の問題は、AWSでホストされているインスタンスに関するものでした。

  • インスタンスセキュリティグループで5985を開く必要がありました
  • すべてのプロファイルとリモートアドレスに5985を許可するようにファイアウォールルールを変更する必要がありました

    New-NetFirewallRule -Name PsRemotingHttp -Direction Inbound -Action Allow -Protocol tcp -LocalPort 5985 -DisplayName PsRemotingHttp

私はtest-wsmanを実行したときにこれを解決しました:

「デフォルトでは、パブリックプロファイルのWinRMファイアウォール例外により、同じローカルサブネット内のリモートコンピューターへのアクセスが制限されます。」


0

私はようやく私の仕事を始めました... xxx.xxx.xxx.xxxはIPアドレスです。

PS C:\Users\Administrator> winrm quickconfig
WinRM service is already running on this machine.
WinRM is already set up for remote management on this computer.
PS C:\Users\Administrator> Enable-PSRemoting -Force
WinRM is already set up to receive requests on this computer.
WinRM is already set up for remote management on this computer.
PS C:\Users\Administrator> winrm set winrm/config/client '@{TrustedHosts="xxx.xxx.xxx.xxx"}'
Client
    NetworkDelayms = 5000
    URLPrefix = wsman
    AllowUnencrypted = false
    Auth
        Basic = true
        Digest = true
        Kerberos = true
        Negotiate = true
        Certificate = true
        CredSSP = false
    DefaultPorts
        HTTP = 5985
        HTTPS = 5986
    TrustedHosts = xxx.xxx.xxx.xxx

PS C:\Users\Administrator> Enter-PSSession  -ComputerName xxx.xxx.xxx.xxx -Credential "~\Administrator"
[xxx.xxx.xxx.xxx]: PS C:\Users\Administrator\Documents>

0

この問題の数か月後、リモートサーバーのIPとDNS名の両方を信頼できるホストに追加する必要があることがわかりました。IPを追加するだけでは不十分でした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.