とある理由で、常時稼働の Windows サーバを朝の 07:30 にシャットダウンすることになった。自動でやりたいので方法を探したところ、shutdown.exe というコマンドが標準で Windows にもあることがわかった。これを使えばいい。
shutdown.exe は -s オプションを付けないと実行してもヘルプを表示するだけなので、忘れずに付ける。これは Linux の shutdown コマンドと同じ挙動だ。ただ、オプションが Linux と微妙に異なる。Windows の shutdown コマンドでマシンをシャットダウンしたいときのオプションは -s だ。shutdown の略なんだろうね。Linux は -h で、halt の略。
以下、WindowsXP 付属の shutdown.exe のヘルプ。
shutdow.exe
コメントや理由コードの指定もできるのか。なかなか高機能。
ライセンスとかに問題がなければ、使ってみるのも一興。ちなみに、shutdown.exe は WindowsNT の時代からリソースキットに収録されているらしいので、実運用で使うならリソースキットのバイナリを使うのが良いだろう。
タスクを新規追加。
「スケジュールされたタスクの追加」ではなく、右クリックから「新規」の「タスク」を選んだ。shutdown コマンドに -s オプションを渡すように記述するためには、結局タスクのプロパティを開く必要があるからだ。
「実行するファイル」のテキストボックスに shutdown.exe のパスと -s オプションを記述。
私の環境では c:\WINDOWS\system32\shutdown.exe -s と記述した。その後
Administrator のパスワードを入力して設定完了。これだけ。
追記。
タスクと shutdown.exe の組み合わせで無事シャットダウンできた。事前のテストで大丈夫だったから心配はしていなかったが。Windows2003 Server のイベントログには以下のイベントが記録されていた。Windows 2000 のサーバには「イベントログサービスが停止した」という情報くらいしか記録されていなかったんだけど、そういうものだったっけ?
at コマンドで shutdown コマンドをジョブに追加。
追加はできるのだが、いざ時間になると以下のメッセージが表示されてシャットダウンされない。
うーん、ダメなのか。at で実行アカウントを指定するのってどうやるんだっけ? 調べてる時間がないから、今回はタスクスケジューラでいいか。
- shutdown.exe でシャットダウン
WindowsXP や Windows2003 Server なら標準で shutdown.exe というツールがあるので、これをコントロールパネルのタスクや at から実行するだけ。ACPI に対応したマシンなら、ちゃんと電源まで切れる。shutdown.exe は -s オプションを付けないと実行してもヘルプを表示するだけなので、忘れずに付ける。これは Linux の shutdown コマンドと同じ挙動だ。ただ、オプションが Linux と微妙に異なる。Windows の shutdown コマンドでマシンをシャットダウンしたいときのオプションは -s だ。shutdown の略なんだろうね。Linux は -h で、halt の略。
以下、WindowsXP 付属の shutdown.exe のヘルプ。
shutdow.exe
使用法: c:\WINDOWS\system32\shutdown.exe [-i | -l | -s | -r | -a] [-f] [-m \\コンピュータ名] [-t xx] [-c "コメント"] [-d up:xx:yy]
引数なし このメッセージを表示します (-? と同じです)
-i GUI インターフェイスを表示します。このオプ
ションは最初に指定する必要があります
-l ログオフ (-m オプションとは併用できません)
-s コンピュータをシャットダウンします
-r コンピュータをシャットダウンして再起動します
-a システム シャットダウンを中止します
-m \\コンピュータ名 シャットダウン/再起動/中止するリモート コン
ピュータの名前です
-t xx シャットダウンのタイムアウトを xx 秒に設定
します
-c "コメント" シャットダウンのコメントです (127 文字まで)
-f 実行中のアプリケーションを警告なしに閉じます
-d [u][p]:xx:yy シャットダウンの理由コードです
u = ユーザー コード
p = 計画されたシャットダウンのコード
xx = 重大な理由コード (255 以下の正の整数)
yy = 重大ではない理由コード (65535 以下の正の
整数)
コメントや理由コードの指定もできるのか。なかなか高機能。
- Windows2000 で shutdown.exe を使う
Windows2000 には shutdown.exe がない。ただ、私が試した限り、WindowsXP の shutdown.exe を持ち込んで実行したところ、問題なくシャットダウンすることができた。後述する「タスク」との組み合わせも問題なし。試した環境は Windows2000 Server SP4 だ。ライセンスとかに問題がなければ、使ってみるのも一興。ちなみに、shutdown.exe は WindowsNT の時代からリソースキットに収録されているらしいので、実運用で使うならリソースキットのバイナリを使うのが良いだろう。
- タスクスケジューラと shutdown.exe で日時を指定した自動シャットダウン (無事に成功)
コントロールパネルの「タスク」に shutdown.exe をスケジュールする方法。タスクを新規追加。
「スケジュールされたタスクの追加」ではなく、右クリックから「新規」の「タスク」を選んだ。shutdown コマンドに -s オプションを渡すように記述するためには、結局タスクのプロパティを開く必要があるからだ。
「実行するファイル」のテキストボックスに shutdown.exe のパスと -s オプションを記述。
私の環境では c:\WINDOWS\system32\shutdown.exe -s と記述した。その後
Administrator のパスワードを入力して設定完了。これだけ。
追記。
タスクと shutdown.exe の組み合わせで無事シャットダウンできた。事前のテストで大丈夫だったから心配はしていなかったが。Windows2003 Server のイベントログには以下のイベントが記録されていた。Windows 2000 のサーバには「イベントログサービスが停止した」という情報くらいしか記録されていなかったんだけど、そういうものだったっけ?
イベントの種類: 情報
イベント ソース: Application Popup
イベント カテゴリ: なし
イベント ID: 26
日付: 2005/09/04
時刻: 7:30:02
ユーザー: N/A
コンピュータ: BJORK
説明:
アプリケーション ポップアップ: 休む : システムはシャットダウンされます。進行中の作業をすべて保存し、ログオフしてください。保存されていない情報は失われます。シャットダウンは、BJORK\Administrator によって開始されました。シャットダウンは 30 秒後に開始されます。
詳細な情報は、http://go.microsoft.com/fwlink/events.asp の [ヘルプとサポート センター] を参照してください。
イベントの種類: 成功の監査
イベント ソース: SECURITY
イベント カテゴリ: システム イベント
イベント ID: 513
日付: 2005/09/04
時刻: 7:30:38
ユーザー: N/A
コンピュータ: BJORK
説明:
Windows をシャットダウンしています。 シャットダウンにより、すべてのログオン セッションが終了します。
詳細な情報は、http://go.microsoft.com/fwlink/events.asp の [ヘルプとサポート センター] を参照してください。
- at コマンドから shutdown.exe を使う (失敗)
本当は at コマンドを使ってコマンドラインからスケジュールしたかったのだが、うまくいかなかった。実行アカウントの問題のようだ。以下、試したこと。at コマンドで shutdown コマンドをジョブに追加。
C:\>at 18:29 /interactive /next:1 "shutdown -s"
新しいジョブをジョブ ID = 31 で追加しました。
追加はできるのだが、いざ時間になると以下のメッセージが表示されてシャットダウンされない。
ログオン セッションは、要求された操作と矛盾する状態です。
うーん、ダメなのか。at で実行アカウントを指定するのってどうやるんだっけ? 調べてる時間がないから、今回はタスクスケジューラでいいか。
- すべての記事の見出し (全1029件)
- 全カテゴリの一覧と記事の数
- カテゴリごとに記事をまとめ読みできます。記事の表題だけを見たい場合は、すべての記事の見出し (カテゴリ別表示) へ。
- .net (57件)
- 2ch (19件)
- amazon (5件)
- Apache (22件)
- bash (13件)
- Bookmarklet (9件)
- C# (45件)
- chalow (18件)
- ChangeLog メモ (20件)
- coLinux (2件)
- CSS (5件)
- Delphi (5件)
- DVD (6件)
- Excel (1件)
- F-ZERO (4件)
- FF12 (31件)
- ftp (8件)
- Google (21件)
- gpg (7件)
- HTML (19件)
- http (19件)
- IE (10件)
- IIS (4件)
- iPod (2件)
- JavaScript (14件)
- Linux (63件)
- MCP (6件)
- Mozilla (14件)
- MS SQL Server (30件)
- MySQL (4件)
- Namazu (3件)
- PC (48件)
- Perl (58件)
- PHP (2件)
- Postgres (36件)
- proftpd (2件)
- qmail (1件)
- RFC (4件)
- RSS (33件)
- Ruby (15件)
- samba (3件)
- sonic64.com (6件)
- SQL (15件)
- Squid (3件)
- ssh (7件)
- Subversion (3件)
- unix (31件)
- VSS (2件)
- Windows (34件)
- winny (9件)
- XML (9件)
- xyzzy (17件)
- おいでよ どうぶつの森 (19件)
- お菓子 (5件)
- アスキーアート (13件)
- アニメ (9件)
- クレジットカード (2件)
- ゲーム (120件)
- シェルスクリプト (18件)
- シレン2 (8件)
- セキュリティ (9件)
- ソフトウェア (21件)
- デザインパターン (2件)
- ネットワーク (30件)
- バックアップ (17件)
- プログラミング (14件)
- マリオカートDS (3件)
- メール (26件)
- メモ (116件)
- ラーメン (11件)
- 音楽 (59件)
- 給油 (3件)
- 三国志大戦 (13件)
- 車 (7件)
- 書斎 (4件)
- 食 (30件)
- 買い物 (17件)
- 簿記 (8件)
- 本 (32件)
- 漫画 (9件)
- 2007-04-23 (Mon)
- 2007-03-07 (Wed)
- 2007-02-27 (Tue)
- 2007-01-17 (Wed)
- 2007-01-15 (Mon)
- 2007-01-14 (Sun)
- 2007-01-08 (Mon)
- 2006-12-01 (Fri)
- 2006-11-22 (Wed)
- 2006-11-20 (Mon)
- 2006-11-19 (Sun)
- 2006-09-30 (Sat)
- 2006-08-29 (Tue)
- 2006-08-04 (Fri)
- 2006-07-27 (Thu)
- 2006-07-23 (Sun)
- 2006-07-17 (Mon)
- 2006-07-10 (Mon)
- 2006-07-06 (Thu)
- 2006-07-03 (Mon)
- 2006-06-29 (Thu)
- 2006-06-28 (Wed)
- 2006-06-27 (Tue)
- 2006-06-25 (Sun)
- 2006-06-19 (Mon)
- 2006-06-18 (Sun)
- 2006-06-15 (Thu)
- 2006-06-11 (Sun)
- 2006-06-01 (Thu)
- 2006-05-30 (Tue)
- プロファイル
- 斎藤 宏明。エンジニアです。宇都宮市に住んでいます。
- リンク
- RSS
- スポンサードリンク
- Powered by
- ☆さくらインターネット☆