【Management】Msgコマンドを使用すると「セッション名の取得エラー5」

前回の投稿で Msgコマンドを紹介しました。 【Windows7/Vista】ポップアップメッセージを送りたい(net send あらため msg.exe) 非常に便利なコマンドなのですが、規定ではリモートの Windows 7 や Windows Vistaに対してメッセージを送付することができません。例えば、以下のようなエラーが帰ってきます。 C:\>msg console /server:client01 “ログオフしてください~” セッション名の取得エラー5 これは、ターミナルサービスセッションに対するリモートからのRPC接続が無効に設定されているせいです。 リモートからのRPC接続を有効にするには、クライアントごとに以下のレジストリエントリを編集します。 キー HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server 値の名前 AllowRemoteRPC タイプ REG_DWORD 値 1 この設定はグループポリシーでは提供されておらず、残念ながら手動で設定する必要があります。 でも、この設定を1000台のクライアントに適用すると思うと、胃が痛くなりますね…。もしくはポリシーテンプレートを自分で作成しなければなりません。 でも大丈夫です。PowerShell 2.0 がインストールされていれば、必殺技を使うことができます。 以前以下の投稿をしました。 【Managemnt】WS2008 R2:ADMXファイルを作らずに業務アプリのレジストリ設定をグループポリシー化する 同様の手法を使用すれば、PowerShell のコマンドレット一発で、レジストリ設定をグループポリシーに組み込んでしまうことができます。手順を以下に示します。 Active Directory がインストールされたサーバーで PowerShell を起動してください PowerShell コンソールで「Import-Module GroupPolicy」と入力してください。これはグループポリシー関連のコマンドレットを読み込むための操作です。 グループポリシー管理コンソールで、ドメインの直下に新しいポリシーオブジェクトを作成してください。名前はなんでもけっこうです。ここでは「DemoPolicy」という名前で作成したとしましょう。 PowerShell コンソールから、以下のように Set-GPRegistryValue コマンドレットを入力します。 ※Set-GPRegistryValue 以降は1行で記述してください PS C:\>…

2

【Windows7/Vista】ポップアップメッセージを送りたい(net send あらため msg.exe)

ユーザーやドメイン内のコンピューターにポップアップメッセージを送付する場合に重宝していた net send コマンドは、Vista以降 msg.exe という新しいコマンドに置き換わっています。 知ってました?実は、私は全く知りませんでした…(恥)。やっぱり現場を離れるとだめですなぁ…。 で、Msg.exe コマンドの良いところは、ターミナルサービス(リモードデスクトップサービス)に対応している点です! 以下の画面では、管理者がセッション番号「1」でログオンしていることがわかります。 この場合には、以下のように入力します。 C:\> msg 1 “大変大変!!サーバーが死んだよ!” またはセッション名を使用して、以下のように書いてもOKです。 C:\> msg rdp-tcp#0 “大変大変!!サーバーが死んだよ!” 対話ログオンセッションに対して送付する際には、Console を使用します。 C:\> msg Console “大変大変!!サーバーが死んだよ!” もちろん、メッセージはログオンしていなくても表示されます。 面白いのは、/w オプションが用意されていることです。このオプションを使用すると、相手がポップアップメッセージのOKボタンをクリックするまで処理を止めることができます。 で、リモートコンピュータにメッセージを送る場合には1点注意がありまして、それについては次の投稿で。 ※2010/4/6 19:34 エラー発生時に対処法を投稿しました 【Management】Msgコマンドを使用すると「セッション名の取得エラー5」