Windows 10 MSGコマンドの謎

Windows 10 MSGコマンドの謎

私は昔からのベテラン Windows ユーザーです。メイン コンピューターは Windows 7 Pro ボックスです。新しいオフィス用に新しい PC を購入しました。もちろん、Windows 10 (Home) がインストールされています。新しい PC で作業していたのですが、作業の結果 (プリンターの IPv6 アドレス) を Win 7 PC に送り返したいと思いました。使いたかったのですNET SENDが、Win 10 (または Win 7) では利用できませんでした。

調査の結果、このコマンドは、昔行われていたこととMSG(ある程度) 同じことを行うはずであることがわかりました。Web サイトのサンプルでは、​​現在のディレクトリが C:\WINDOWS\SYSTEM32 であるコマンド プロンプト ウィンドウが表示され、コマンドの構文を指定した結果が表示されました。まさに私が求めていたものです。NET SENDMSG /?

しかし、MSG /?Win 10 ボックスで実行すると、MSG がコマンドとして認識されないと表示されます。(Win 7 では、MSG.EXE が SYSTEM32 にあるため動作します。) 少し調べてみると、MSG.EXEWinSxS の下のディレクトリに次のような問題が見つかりました。

C:\Windows\WinSxS\amd64_microsoft-windows-t..commandlinetoolsmqq_31bf3856ad364e35_10.0.17134.1_none_0ea9fdb9152f846c

しかし、それを現在のディレクトリに設定しても、正しく実行されません。何かをインストールする必要があるようですが、私が見つけたオンライン サンプルには、そのようなことを行う方法については何も記載されていませんでした。

「プログラム」(以前は「プログラムと機能」でした)を確認しましたが、インストールできるものとしては表示されませんでした。

何が起こっているのでしょうか? これを使えるようにするにはどうすればいいでしょうか? 通常のコマンド プロンプトから動作するようにするには、他のどのコマンドにも同様の魔法をかける必要がありますか?

ご協力いただきありがとうございます。

答え1

すべてのコンピューターで Home バージョンを使用しているようです。このバージョンには MSG コマンドは含まれていません。このコマンドは Pro 以降の Windows バージョンでのみ使用できます。

余談ですが、Windows Enterprise でテストしたところ、古い「net send」コマンドもそのバージョンにはまだ存在しています。

すべての報告によると、上位バージョンの Windows から Home に移植しようとしてもmsg.exeうまくいかないため、簡単な回避策はありません。

ただし、独自のものを書くこともできます。

無料の psexec リモート コンピューター上でポップアップ メッセージを作成するコードを実行できます。

投稿を見る Windows バッチファイルからポップアップ/メッセージ ボックスを表示する いくつかのアイデアについては。

私が見つけた最も気の利いたものは次のとおりです。

  • mshta.exeWindows HTML アプリケーションのランタイム エンジンであるは.hta、プロトコル URL を含む一般的な URL をコマンド ライン引数として受け入れますjavascript: 。したがって、次のように 10 秒のタイムアウトでアラートを発行できます。

    mshta "javascript:var sh=new ActiveXObject( 'WScript.Shell' ); sh.Popup( 'Message!', 10, 'Title!', 64 );close()"
    
  • VBScript ファイルを使用し、.vbsファイル内で次のような内容で CScript を使用して呼び出します。

    Set objArgs = WScript.Arguments
    messageText = objArgs(0)
    MsgBox messageText
    

答え2

MSG プログラムは、Windows の Pro または Enterprise バージョンでのみ使用できます。
その主な目的は、ターミナル サーバーなどのユーザーに通知することです。通常は管理者のみが使用できる特定の権限が必要です (一般ユーザーにも使用権限が与えられます)。つまり、その主な目的は、Windows 管理者がシャットダウンや問題などをユーザーに通知するために使用することです。WinSxS

内のサブフォルダーは、Windows Update からのものです。Microsoft はこのフォルダーを「コンポーネント ストア」と呼んでおり、詳細については次の記事を参照してください。
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/manage-the-component-store
私のシステムでは、msg.exe と同じフォルダを見つけることができました。調べてみると、有効な .exe ファイルではないようです。16 進エディタで見ると「DCS」で始まっていますが、実行可能ファイルの場合は「MZ」で始まっているはずです。この「DCS」ヘッダーに関するドキュメントは見つかりませんでした。

代替案としては、両方のコンピュータがインターネットにアクセスできる場合は、単にメールを送信してWebメールクライアントで開くという方法があります。Windows 7と10には、他の人に支援を提供する機能も付属しており、msra.exeを起動することで開くことができます。この方法が機能しない場合は、次のような他のリモート管理ツールを使用できます。チームビューアーTeamviewer には LAN のみの接続を使用するオプションがあり、ローカル LAN で使用するためにインターネットは必要ありません。

答え3

MSG /? Win 10ボックスで実行するとMSG、コマンドとして認識されないと言われました

新しいオフィス用に新しい PC を購入しました。もちろん、Windows 10 (Home) がインストールされています。

Windowsのホームエディションには含まれませんmsg

ソースメッセージ - Windows CMD - SS64.com

通常のコマンド プロンプトから動作するように、他のどのコマンドでも同様の魔法を実行する必要がありますか?

その質問は「範囲が広すぎる」です。

答え4

これは私のオリジナルのアイデアではありませんが、私が実際に vbs を使用する方法は次のとおりです (ファイルは自動的に削除されます)。

echo x=msgbox("Hey! Here is a message!" ,4096, "Hey! Here is a title!") > %tmp%\tmp.vbs && cscript //nologo %tmp%\tmp.vbs & del %tmp%\tmp.vbs

参照するこれ答え

関連情報