netcmd


はじめに

私は仕事で MS-Windows を使って開発をやっています. まぁこいつにはいろいろと愚痴はあるんですが, その中によくお亡くなりになるということがあります. ネットワーク越しに ping をかけてみると, ちゃんと返ってくるので マシン自体は生きてるんだけど, マウスかディスプレイドライバが死んで 画面が動かせないようです.

これが unix だったら rlogin して kill なり shutdown して安全に マシンを落せるんだけど, Windows の場合それができません. なんとかならないかな~と思っていたら, こちらの方に shutdown.exe という NT のシャットダウンコマンドを発見しました.

これを利用すると, ネットワーク越しのポートを用意して, そこから ID とパスワードを打ち込むと, shutdown.exe が起動されるようなものを 作るだけでよさそうです.

ってわけで作ってみたのが これ (DLL 版: 28672 byte) です.

shutdown.exe 以外何に使えるんだろうという疑問は残りますが, 一応 他のコマンドも起動可能にしてます.


使い方

netcmd を初めて起動すると, 設定ファイルがありませんから, 次のような ダイアログが現れます.

画面

設定項目ですが...

  1. command にはログインに成功した時に起動するコマンドを入れます.
    例) D:\Tools\etc\shutdown.exe /R /F
  2. USER の部分ではログインするための ID と パスワードを入れます.
    一応, パスワードは暗号化して設定ファイルに書き込んでいますが, けっこう いい加減な暗号化なので, 本当のログイン用パスワードと別のものにしていて 下さい.
  3. PORT の部分では, ポート番号を指定します.
    特に問題なければ 3500 でいいと思います.

この後, [設定] ボタンを押すと, 設定ファイルが実行ファイルと同じディレクトリに 保存されます.

利用の方法ですが, 適当なターミナルで

% telnet コンピュータ名 3500
と打ち込みます (ターミナルソフトによっては設定の中にポート指定の項目があります). なお説明するまでもありませんが, 「コンピュータ名」 は netcmd が動いてるもの, 3500 は上記の手順 3 で指定した番号です. ID とパスワードを聞かれますので上記の手順 2 で設定した ID とパスワードを入力 してログインします. ログインに成功すると 5 秒後に手順 1 で指定したコマンドを実行します.


でもやっぱり

一つだけ Windows について愚痴を言わせてもらえば, アクティブなウィンドウが必ず前に出るのはなんとかしてほしいっすね. 表面に資料を表示させて, 裏で半分隠れているエディタを操作するとか したいじゃないですか. なんで出来ないの? こんなもん, 設定で個人の好みに合わせるべきものじゃないの?

探してみると, 一応それっぽいのがあったんだけど, 使ってみると, すべてのツール (Windows) がそうなるわけじゃないので, 操作性に統一性がなくなり, 逆に使いにくくてやめました.


[戻る]