遠隔でDVDドライブのトレイをパカパカさせる


Windowsで作業していたら遠隔でCD-ROMを取り出したくなりますよね。
ならないとしたら、今すぐこの記事を読むのをやめて病院に行って下さい。

今回はVBScriptとPsExecを駆使してローカルネットワーク内のパソコンのDVDドライブをパカパカさせてみます。

DVDドライブをパカパカさせるexeを作る

まず、メモ帳などに以下のソースをコピーしてください。参考

Dim wmp
Set wmp = CreateObject("WMPlayer.OCX")
wmp.cdromcollection.item(0).eject()
wmp.cdromcollection.item(0).eject()

これを任意の場所に.vbs形式で保存しましょう。自分はcdpk.vbsとしました。
保存したものを実行すると上のスクリプトが実行され、自分のパソコンのDVDドライブが開いて閉じます。

なお、wmp.cdromcollection.item(0).eject()を1行にすると開くだけになります。

このままでも十分遊べます。
しばらく自分のPCをパカパカして、飽きたら、.exeに変換します。

私はフリーソフトを使わせてもらいました。
MakeExe
ダウンロードしてzipを解凍したら、makewin.exeに先ほどの.vbsをドラッグ&ドロップします。
変換されたcdpk.exeダブルクリックすると同様に自分のパソコンのDVDドライブが開いて閉じます。
しばらく自分のPCをパカパカして、飽きたら次に行きます。

操作されるパソコン(リモートPC)の下準備

操作されるパソコンが64bitのクライアント系OSの場合はPsExecから「アクセスが拒否されました。」とエラーが出ることがあるようです。
この場合、リモートアクセスを許可するために、リモートPCで次のコマンドを管理者権限で実行します。参考

※悪用されることが考えられるのでセキュリティー面は十分に配慮してください。

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "LocalAccountTokenFilterPolicy" /t REG_DWORD /d 1

PsExecの入手

PsToolsを以下よりダウンロード→解凍して、コマンドプロンプトから使えるようにしましょう。
PsTools
もちろんコマンドプロンプトでPsExec.exeのあるディレクトリに移動してもOKです。

以下のコマンドを実行すれば操作されるパソコンのコマンドプロンプトを起動できます。
(できない場合はPsExecの使い方を説明してくださってる方がたくさんいるので調べてみてください。)

PsExec -s \\[リモートPCのIPアドレス等] -u [ユーザー名] -p [パスワード] cmd

実行

では、先ほど作成したcdpk.exeを今居るディレクトリにコピーして次を実行しましょう!

PsExec -s \\[リモートPCのIPアドレス等] -u [ユーザー名] -p [パスワード] -c cdpk

-cはローカルにある実行ファイルを一時的にコピーしてリモートPCで実行するオプションです。
-dのオプションを追加すれば終了を待たずにコマンドが終わります。

頻繁にDVDドライブをパカパカさせたい健全な男子は以上のコマンドを.batファイルにしておくと便利です。
しばらく遠隔でパカパカして、飽きたら、日常生活に戻ってください。