treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

ネットワーク経由で別PCのコンピュータの管理を実行する

管理ツールにある「コンピュータの管理」は右クリックで「別のコンピュータへ接続」を実行することができます。
一部のWindows10 PCでこれが接続できなかったので対処した内容をご報告です。

別のコンピュータへ接続

Windows10の管理ツールにある「コンピュータの管理」を始めとした「サービス」や「イベントビューア」などのMMCは右クリックで「別のコンピュータへ接続」を実行して、ネットワーク経由で他のPCのコンピュータをリモート管理することができます。

例えば、上図のようにコンピュータの管理MMC画面で、メニューの「コンピュータの管理(%COMPUTERNAME%)」とある箇所を右クリックすると、別のコンピュータへ接続という選択ができます。

これが繋がらなかったのが発端です。

エラー内容

今回の対象は「サービス」画面、ここで「別のコンピュータへ接続」を実行したところ、以下のエラーが表示されてしまいました。

--------------------------------------------------------------
---------------------------
サービス
---------------------------
%COMPUTERNAME% のサービス コントロール マネージャー データベースを開くことができません

エラー 5: アクセスが拒否されました。
--------------------------------------------------------------

接続できないようです。試しにscコマンドで別のコンピュータ指定でサブコマンドqueryを実行してしてみました(sc \\%COMPUTERNAME% query %ServiceNAME%)が、

--------------------------------------------------------------
[SC] EnumQueryServicesStatus:OpenService FAILED 5:

アクセスが拒否されました。
--------------------------------------------------------------

認証かなと思ったので、runasを入れて、

runas /user:%COMPUTERNAME%\%USERNAME% "cmd /K sc \\%COMPUTERNAME% query %ServiceNAME%"

こんな感じでやってみたものの、結果は上記と同じエラーになってしまいました。認証が原因ではないということのよう。

Windowsファイアウォールでブロックされているのかと考えて、接続先となる対象のPCでファイアウォールを一時的に無効化して試行しましたが、エラーは変わらなかったので、ファイアウォールのブロックは関係ないと切り分けました。

必要なのはWinRM有効化

なんとなくですが解決方法として、昔Hyper-V ServerというOSを使っているときに、Hyper-V管理ツールを別PCで実行してネットワーク経由でvmmsサービスに接続する時に使った方法が必要なのかなと思いましたので、やってみることにしました。

以下の操作は「アクセスされる側のWindows」で実行します。

まずは、管理者として実行したPowerShellを起動します。

起動した画面で「winrm quickconf」を実行して、対話式に有効化していきます。ここでWindowsファイアウォールの例外を有効化も実施してくれます。

次に、ローカルグループポリシーエディタ(gpedit.msc)を開いて、「ローカルコンピュータポリシー」⇒「コンピュータの構成」⇒「管理用テンプレート」⇒システム」の順で開き、一覧から「資格情報の委任」を開きます。

※上図の画面は設定後の状態の画面ですが、これ以降の手順で設定していきます。

最初に設定するのは「NTLM のみのサーバー認証で新しい資格情報の委任を許可する」をダブルクリックで開きます。

有効にして、「サーバを一覧に追加」の表示ボタンで「WSMAN/*」と入力して、OKボタンで有効化します。

二つ目は、「NTLM のみのサーバー認証で保存された資格情報の委任を許可する」を開いて設定していきます。

開いたら、まずは「有効」化をして、「サーバを一覧に追加」の表示ボタンをクリックし、画面には「*」を入力します。
完了後、OKボタンで有効化します。

設定完了

これでポリシーの設定が出来たので、反映していきます。コマンドプロンプトで「gpupdate /force」を実行。

正常に反映されたら、アクセスされる側の操作は完了です。

試してみる

ここからはアクセスする側のPCで動作確認です。

サービスmmc(services.msc)を起動して、右クリックから「別のコンピュータへ接続」をクリックしてアクセスされる側のコンピュータ名を入力して指定します。

ちょっと時間を置いて、リモートコンピュータのサービスmmc画面を開くことが出来るようになります。

無事、開くことができるようになりました。

と、言うことは「WinRMが有効化されていなかったことがアクセスが拒否された原因」という結論に達しました。

けど、グループポリシーエディタの表記でNTLMという単語が見えたので、NTLM廃止が発表された現状では、これが使えるのも廃止までの期間だけということになりそうです。