Power Chuteのコマンドで他のPCのシャットダウンをしたい・・
正確にはPCでは、なくてサーバなんですが、本日サーバ2台の設定で、Power Chuteの設定をしていたのですが、諸々の事情で、片方のサーバがUPSとUSBもシリアル接続もできないと言う事になってしまいました(;一_一)
それで、お客様の了承を得て、Power Chuteで、コマンドシーケンスでシャットダウンをする事になりました。(Business Editionなんで、それしか方法がなくて・・・)
まず、バッチファイルから作成したのですが、shutdownコマンドは、同じユーザ名、パスワードでないと他のサーバは受け付けてくれないので、一時的に他のユーザ権限を取得するコマンドrunasを使用しました。
バッチファイルの中味は
runas /savecred /user:『サーバ名』\『ユーザ名』 "shutdown /m \\サーバ名 -s" |
って感じで作成しました。サーバがhogeで、ユーザがadministratorだった場合
runas /savecred /user:hoge\administrator "shutdown /m \\hoge -s" |
って感じになります。ただしこれは、バッチファイルを動かす前に実際にコマンドプロンプト上で、動作させます。これを一回やっておけばパスワードを聞かれる事がなくなります。
実際、コマンドプロンプト上で動作するのを確認したので、Power Chuteのコマンドシーケンスに登録したら、うんともスンとも動作しない!?!?(@_@;)
うぉ~~なぜだ~~って事でそこであわてて、やり方を検索しました。なんとなく想像はついていたのですが、Power Chuteの動作ソフトの権限の問題だと思ってのですが、やはりそうでした。
Windowsのサービス内の『APC PBE Agent』の権限の変更が必要でした。
まず、Windowsの管理のサービスから開きます。(コンピュータも右クリックして、管理をクリックすればサービスが表示されています)その中のAPC PBE Agentを右クリックして、プロパティを開きます。
『ログオン』タブをクリックして、『デスクトップとの対話をサービスに許可』にチェックを入れます。そしてその下のアカウントを選択して、Power Chuteをインストールしてあるサーバの管理者権限があるユーザ名、パスワードを登録します。
この作業もやって無事シャットダウンシーケンスが動作しました。
は~~~よかった。現場対応だったので、結構テンパリましたが、何とかできてよかったです。