ローカルマシンとリモートマシンでコマンドプロンプトを使用してWinRM接続をテストしていますが、私の質問は2つの部分に分かれています。
パートI
私はpingコマンドを使用してTCP/IP接続をテストしました。ローカルコンピューターとリモートコンピューターのIPアドレス、デフォルトゲートウェイ、およびDNSサーバーで、ローカルコンピューターとリモートコンピューターの両方で完全に動作します。
しかし、WinRMコマンドを使用してテストするとき、このコマンドを使用してリスナーとアドレスを特定しました
winrm e winrm/config/listener
それは私に私のローカルマシンのためのこの出力を与えます
Listener
Address = *
Transport = HTTP
Port = 5985
Hostname
Enabled = true
URLPrefix = wsman
CertificateThumbprint
ListeningOn =<IP Address>,127.0.0.1, ::1,fe80::100:7f:fffe%13,fe80::803:5e43:50ef:c50%11
しかし、リモートマシンで実行したときの同じコマンドで、他のすべてが同じである出力が得られますが、
Listener[Source="GPO"]
.
.
.
ListeningOn=null
正しくリッスンするように構成したいと思います。
パートII
これらのコマンドをリモートマシンで1つずつ実行すると
winrm id -r:<machine name>
winrm get winrm/config -r:<machine name>
winrm get wmicimv2/Win32_Service?Name = WinRM -r:<machine name>
次のようなエラーメッセージでWSMan障害が発生します。
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 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 analyse and configure the WinRM service:
"winrm quickconfig".
一方、ローカルマシンで実行したときと同じコマンドが正しく実行されます。
winrm id
winrm get winrm/config
winrm get wmicimv2/Win32_Service?Name = WinRM
せいぜい、私が直面している問題はすべて、リモートマシンにあります。これが発生する原因は何ですか?リスニングして接続するように構成するにはどうすればよいですか?ありがとうございました。
パートII、これで、他のリモートマシンの1つで正しい出力を使用してこれらを実行できるようになりました。
私は質問を投稿したこの特定のリモートマシンにいくつかの変更を加えたので、一部を修正するまでこれらのコマンドは実行されませんが、何も変更されていない場合は他のマシンと同じように実行されますリモートマシン。
誰かが私を取り除く必要がある私と一緒に誰かが私を助けることができれば私はまだ感謝します
Listener[Source=GPO]
..
.
ListeningOn=null
コマンドを実行すると
winrm e winrm/config/listener
これが問題の原因ですが、グループポリシー設定を無効または削除する方法がわかりません。
WinRMを構成しているグループポリシーを確認するには、管理コマンドプロンプトから次のコマンドを実行します。
gpresult /h result.html & result.html
表示された結果で、Windowsコンポーネント/ Windowsリモート管理(WinRM)/ WinRMサービスを見つけます。優勝GPOは、GPO設定を有効/無効にできる場所です。GPMC(グループポリシー管理コンソール)を使用してグループポリシーを管理します。
ListeningOn = nullは、管理者がAllowの自動構成を許可するグループポリシーIPv4フィルター設定を誤って構成すると表示されます通常はIPを使用または影響を受けるサーバーに存在しないネットワーク。
同じ問題があり、GPO設定:Allow remote server management through WinRMの場合、IPv4フィルターがIPに設定されていることがわかりましたjumphost
のアドレスwinrm e winrm/config/listener
コマンドがListeningOn=null
の問題を生成しました。
これを解決するには、フィルターを*
に設定し、代わりにファイアウォールレベルでアクセス許可を並べ替えます。
IPアドレス(ListeningOn
)をリセットするには、おそらくリスナーを再作成する必要があります(古いHTTPリスナーを削除して新しいリスナーを作成する)。以下の例をご覧ください。
PowerShellの場合:
Remove-WSManInstance winrm/config/Listener -SelectorSet @{Address="*";Transport="http"}
New-WSManInstance winrm/config/Listener -SelectorSet @{Address="*";Transport="http"}
バインドする特定のIPアドレスの構文は次のとおりです。
New-WSManInstance winrm/config/Listener -SelectorSet @{Address="IP:192.168.100.2";Transport="http"}
コマンドプロンプト:
winrm delete winrm/config/Listener?Address=*+Transport=HTTP
winrm create winrm/config/Listener?Address=*+Transport=HTTP
参考文献:
関連質問: 1つのアドレスからのみPowerShellリモート処理を許可する 。
入力するIP範囲は、システムにアクセスできる範囲ではなく、システムがWinRMインターフェイスとして使用できるIP範囲を定義するということです。 GPOが影響しているすべてのクライアントIPを含むIPアドレスの範囲を指定する必要があることを意味します。
[コンピューターの構成]/[ポリシー]/[管理用テンプレート]/[Windowsコンポーネント]/[Windowsリモート管理(WinRM)の[WinRMによるリモートサーバー管理を許可する]で定義されたフィルター(IPv4またはIPv6、あるいはその両方)があることを確認します。 )]/[WinRMサービス]。
フィルタリングする対象がわからない場合は、IPv4とIPv6の両方に「*」のフィルターをお勧めします。
私はこれをGPOを変更することで解決しました。回答はNessianとまったく同じです(申し訳ありませんが、コメントを追加するだけの評判はありません)。 しかし、「IPv4フィルター」は空であってはならず、CIDR表記を受け入れてはいけません(それは私の大きな間違いでした)。すでにCraneumで述べられているように、ローカルネットワークデバイスが接続されているインターフェイスまたはIPアドレスの範囲で「*」を使用します(「192.168.0.1-192.168.0.254」など)。
「192.168.0.0/24」の表記は使用しないでください。はい、ヘルプセクションはそれについて非常に明確ですが、私は間違った表記法を使用しました。