Windowsでmsgコマンドでメッセージを送信するための設定方法

スポンサーリンク

WindowsXPの時にはnet sendコマンドでメッセージを送信していましたが、

Windows7に変わりnet sendコマンドで送信ができなくなりました。

代わりにmsgコマンドで同様にメッセージが送信することができます。

net sendに代わってmsgコマンドでメッセージを送信するために必要な

Windows側の設定手順を残しておきます。

 

スポンサーリンク

msgコマンドでメッセージ送信の設定に必要なのは

 

  1. リモートプロシージャコール(RPC)を有効にする(レジストリ)
  2. 送信先と送信元に同一のユーザが存在し、一度はログインしていること。
  3. ログイン時にパスワードを設定していない場合は空のパスワードを許可する。
  4. サービスでRPC(Remote Procedure Call)を有効にする。

 

アカウントにパスワードを設定せず、空のパスワードでログオンしている場合は

3の「空のパスワードを許可する」がデフォルトで無効になっていて上手くいかない

ことが多いです。

 

msgコマンドでメッセージ送信のための設定手順

 

●レジストリでリモートプロシージャコールを有効にするには

 

Windowsキー+「R」を押して「ファイル名を指定して実行」を表示して

「regedit」と入力してレジストリエディタを開きます。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server

を開き、AllowRemoteRPCの値が0になっていればに変更する。

変更したらレジストリエディタを閉じます。

レジストリ

 

 

コンピュータの管理のサービス内のRemoteProcedureCallが自動になっているか確認する。

RemoteProcedureCall

 

●ログイン時にパスワードを設定しておらず、空のパスワードになっている場合

 

Windowsキー+「R」を押して「ファイル名を指定して実行」を表示して

gpedit.msc」を実行してグループポリシーエディタを開きます。

「ローカルコンピューターポリシー」→「コンピュータの構成」→「Windowsの設定」→「セキュリティの設定」→「ローカルポリシー」→「セキュリティオプション」と開き、

アカウント:ローカルアカウントの空のパスワードの使用をコンソールのみに制限するの値を有効から無効に変更します。

※空のパスワードでログインできるのがコンソール以外もOKになるのでセキュリティを考慮のこと。

グループポリシーエディタ

 

●送信できる状態か確認する

Windowsキー+「R」を押して「ファイル名を指定して実行」を表示して

cmd」と入力してコマンドプロンプトを開きます。

query session /server:(送信先のコンピュータ名)と入力して

下の画像のように表示されれば送信できる状態です。

エラーや、セッションが存在しないと表示されたら設定ができていないです。

ファイアウォールやウィルス対策ソフトが遮断している可能性もあるので、

確認して見ましょう。

セッション名の取得エラー5」と表示される場合はRPCが無効になっている場合があります。

 

名称未設定-3

 

msgコマンドで実際にメッセージを送信してみる

 

コマンドプロンプトで

msg * /server:(送信先のコンピュータ名) メッセージ

でエンターを押せば送信されます。

名称未設定-4

 

社内のメッセージ通知に必要だったのでドハマリしていろいろ調べた結果上記で

送信可能になりました。

Windows7 Pro環境ですので、それ以外では多少違うかもしれないですが、

大きな流れは多分同じだと思います。

 

いちいちコマンドプロンプトを開いてコマンド打ってメッセージを送信

するのは結構面倒なので、WSHスクリプトを組んでおくと楽です。

自分は、送信先のコンピュータの数が少なかったので、

コンピュータ名手動で入力していましたが、複数ある場合は、

選択できるようにすると良いですね。

 

その他便利なmsg送信オプション

 

通常オプションを指定せすにmsgコマンドメッセージを送信すると、

相手がメッセージを見てOKボタンを押すか、送信から1分経過すると

メッセージボックスは自動的に閉じられます。

相手が席に居るか分からないけど、1分間表示されていたら

他の誰かに見られてしまうかも?

普通は離席時はログオフするとかしますが、、

 

msgコマンドに/time オプションを付けると、

表示する秒数を指定できます。

在席していたら数秒でも見れますからね。

 

msg * /server:hogehoge /time:1

 

だと相手に1秒だけ表示されます。

コメント