Highlighted
FUNE1
Bronze

svc_shutdownコマンドをWindowsのタスクスケジューラで実行する方法

解決策を見る

UnityのシステムシャットダウンコマンドをWindowsのタスクスケジューラで実行することは可能でしょうか。

コマンド

svc_shutdown --system-halt --force

停電対応の際、現地でUnityに接続可能な端末が用意できない可能性があるため、

事前にタスクスケジューラで予定時刻にshutdownするようにしておきたいと考えています。

なお、上記コマンド以外にも、Windows端末にUnisphere CLIをインストールし以下コマンドでも

Shutdownすることは可能と考えています。

uemcli -d <Unity mgmt. IP> -u Local/service -p <service user password> /service/system shutdown

uemcliコマンドの場合はマニュアルにnormal mode Onlyと記載されています。

svc_shutdownコマンドとuemcliコマンドとの違い含めご回答いただけると幸いです。

宜しくお願いします。

メッセージ編集者: FUNE uemcliでのshutdownコマンドを追記しました

0 件の賞賛
2 件の返信
モデレーター
モデレーター

Re: svc_shutdownコマンドをWindowsのタスクスケジューラで実行する方法

解決策を見る

FUNEさん

WindowsのタスクスケジューラでUnityのシステムシャットダウンコマンドを実行することは可能です。

svc_shutdownコマンドとuemcli shutdownコマンドの違いは

svc_shutdown: SSHでのアクセス、serviceユーザとしてのアクセス、SPがNormal mode/Service modeの両方でも動作する、歴史的に古いコマンド

uemcli shutdown: Windowsのコマンドプロンプトからのアクセス、adminユーザとしてのアクセス、SPがNormal modeの時しか動作しない、歴史的に新しいコマンド

といったところでしょうか。とはいえ上記は無理して違いを書いているような感じで、Unityをシャットダウンさせるという動作に違いはありません。

今回はWindowsのタスクスケジューラでの実行ということなので、Windowsのプログラムとして指定が出来るUemcliを利用した方が楽そうですね。

具体的にはタスクを作成する際に、「プログラム/スクリプト」として「C:\Program Files (x86)\EMC\Unisphere CLI\uemcli.exe」、「引数の追加(オプション)」として「-d <Unity mgmt. IP> -u Local/service -p <service user password> /service/system shutdown」を指定すればご希望の動作をするはずです。

(必ず今回利用するWindows端末を利用してシャットダウンコマンド以外でコマンド実行の試験をしておいてください。それでないと最初のSSL鍵の交換のところで止まることが想定されるので)

また、最近は前準備(インストール)が必要ですが、Windowsでもsshをプログラムとして利用できるようになっているようなので、面倒でなければsvc_shutdownコマンドを利用したシャットダウンについてもバックアップとして準備しておいて、uemcliと時間差で実行するようにしておくとより確実かもしれません。

FUNE1
Bronze

Re: svc_shutdownコマンドをWindowsのタスクスケジューラで実行する方法

解決策を見る

Ueharaさん

返信ありがとうございます!

動作時のModeで違いはあるものの動作に違いがない旨承知しました!

事前の別コマンドでのコマンド実行試験含め、動作検証をしてみます。

ありがとうございました!

0 件の賞賛