MDT2012を使用して作成されたWindows7の自動展開の場合、特定の必須の前提条件が満たされない場合、インストールを中止する必要があります。
たとえば、展開後の構成がグループポリシーで正しく適用されるようにするには、展開を受け取るコンピューターに特定のグループメンバーシップが必要です。
タスクシーケンスにカスタムロジックを追加するために利用できるオプションがいくつかあることを知っています。たとえば、Webサービスを呼び出すことができます( MDT 2010でのRISスタイルの命名:Webサービスを使用 で説明されています)またはスクリプトを追加して、カスタムタスクシーケンスを作成できます( MDT 2012、オペレーティングシステムイメージから選択するカスタムタスクシーケンス変数 で説明されています)。
ただし、このスクリプトまたはWebサービス呼び出しを追加する場所、および前提条件が満たされない場合にデプロイメントを確実に中止する方法を決定するのに問題があります。
前提条件が満たされていることを確認するという問題に対する一般的な解決策はありますか?
エラーを報告するようにZTIUtilityに指示するだけでは、タスクシーケンサーにエラーが失敗したことは通知されません。 iRetValを「0」以外に設定してから戻る必要があると思います。
グループメンバーシップを報告するようにWebサービスを構成してから、有効なグループが存在するかどうかを判断するロジックを追加することをお勧めします。そうでない場合は、iRetValを任意の数に設定してください。そうすれば、問題ないと思います。
お役に立てれば!
.wsfスクリプトファイルに含まれているVBScriptを介して展開タスクシーケンスにカスタムコードを追加する場合、.wsfスクリプトに次の行を追加することにより、ユーティリティオブジェクトと関数のセットを含めることができます。
<script language="VBScript" src="ZTIUtility.vbs"/>
これらのユーティリティオブジェクトを使用できる場合は、次のような関数呼び出しを行って、展開ログ(C:\MININT\SMSOSD\OSDLOGS\BDD.log
にあります)にエラーを記録できます。
oLogging.CreateEntry "Error - A prerequisite condition failed.", LogTypeError
LogTypeError
はZTIUtility.vbs
で定義された定数であることに注意してください。
エラーをログに記録することで、致命的なエラーが発生したことをMDTに通知します。これにより、MDTが常にエラーポップアップをユーザーインターフェイスにスローし、展開が自動的に中止されると思います。