対象OS |
WindowsXP |
Windows2003 |
Windows7 |
Windows2008 |
概要
システムの運用を行っていると、定常的なオペレーションとしてOS再起動に合わせた
パッチ適用を実施したい場面が出てくると思う。
良くも悪くも、Windows系のシステムの場合、
OS再起動を考慮していないシステムをあまり見たことが無いので
このような書き方をしてみましたが。。。
再起動ついでにパッチ適用もバッチ化して自動化してみようという計画です。
パッチをバッチ・・・とか狙ってる訳ではありません。
WindowsUpdateなどではなく、他にもMicrosoftからいくつか提供されていたと思うが
それらを使う訳ではなく、あくまでOS再起動をBaseとしたパッチ適用のバッチを考えてみてます。
パッチ適用バッチ
やっつけで作ったバッチなのでデバッグが足りないかもしれませんが、
以下のようなバッチを作ります。
引数なしの場合は手動実行だいう想定で、パッチのパスを指定するように作ってます。
ちょっとだけ解説
詳しく知らなかったんですが・・・最近のパッチって・・・・UpdateだのHotfixだのコマンドが仕込んで合ったのですね。。。。
新しいものはほとんどUpdateみたいですが、オプションは以下です。
Update | Hotfix | 説明 | バージョン(以降) |
/help | /? | コマンド ライン ヘルプを表示 | 5.3.24.3 以降 |
/passive | /u | 無人セットアップ モード | 5.3.24.3 以降 |
/quiet | /q | Quiet モードで実行します。無人モードと同じですが、 インストールの状況やエラー メッセージは表示されません。 |
5.3.24.3 以降 |
/norestart | /z | インストールの完了時に再起動しません。 | 5.3.24.3 以降 |
/warnrestart | 再起動のタイマーを表示し(既定値は 30 秒) /quiet または /passive スイッチと共に使用します。 |
6.1.22.0 以降 | |
/forcerestart | インストールの完了後にコンピューターを再起動します。 シャットダウン時に開いているファイル、アプリケーションは強制終了 |
5.3.24.3 以降 | |
romptrestart | 再起動が必要な場合にユーザーにダイアログ ボックスを表示 /quiet スイッチと共に使用します。 |
6.1.22.0 以降 | |
/forceappsclose | /f | コンピューターのシャットダウン時に他のプログラムを終了します。 | 5.4.15.0 以降 |
/nobackup | /n | アンインストール用にファイルをバックアップしません。 | 6.1.22.0 以降 |
/overwriteoem | /o | OEM ファイルを上書きするときに確認メッセージを表示しません。 | 6.1.22.0 以降 |
/integrate:path | /s | 指定したパスにある Windows インストール ソース ファイルに ソフトウェア更新プログラムを統合します。 :path には、i386 フォルダーが格納されているフォルダーを指定します。 |
5.4.15.0 以降 |
/log:path | ログ ファイルを作成する場所を指定できます。 | 6.1.22.0 以降 | |
/ER | 拡張エラー報告を有効にします。 | すべての バージョン |
|
/verbose | /v | 詳細ログを有効にします。インストール時に、 %Windir%\CabBuild.log ファイルを作成し、コピーされるファイルの詳細を記録します。 このスイッチを使用すると、インストール処理の所要時間が増加することがあります。 |
5.3.24.3 以降 |
/d:path | Windows Service Pack のインストール用のバックアップ ディレクトリを指定します :path には、バックアップ ファイルの保存先のフォルダーを指定します。 既定のバックアップ場所は %Systemdrive%\$ntservicepackuninstall$ です。 |
5.3.16.5 以降 | |
/extract[:path] | /x | セットアップを起動せずにファイルの展開のみを行います。 ":path" が含まれていない場合、ファイルの展開先のフォルダーのパスを 入力するように求められます。":path" が使用されている場合には、 ファイルは指定されたフォルダーに展開されます。 |
5.3.24.3 以降 |
/hotpatch:disable | ホットパッチ機能を無効にし、通常の更新プログラムとしてインストールします。 | 6.1.22.0 以降 (Windows 2003 専用) |
|
/l | インストールされているソフトウェア更新プログラムの一覧を表示します。 | ||
/m | 無人モードで実行します。 | ||
/n | アンインストール用にファイルをバックアップしません。 | ||
/y | アンインストールを行います (/m または /q と共に使用する必要があります)。 |
このあたりを元にバッチ化してみてます。
仕込みかた
①パッチをダウンロードして、適用したいサーバから参照可能な共有フォルダに保存
②グループポリシー(gpedit.msc)のシャットダウンなどに仕込めばあとは再起動時に勝手にやってくれるはず。(スクリプトとパラメータを指定)
まとめ
「サーバに検証が完了したバッチファイルだけ適用する仕組みを作りたい」と思い
やっつけでスクリプトも作成してみました。
不具合があるかもしれませんが、自動化のアプローチのご参考までに。
0 件のコメント:
コメントを投稿