UserExit スクリプトのための MDT の構成
このトピックでは、MDT 規則エンジンを構成して UserExit スクリプトを使い、プレフィックスとコンピューター MAC アドレスに基づいてコンピューター名を生成する方法を説明します。MDT は収集プロセスの一部として外部 VBScript の呼び出しをサポートしており、これらのスクリプトが UserExit スクリプトと呼ばれます。また、このスクリプトでは MAC アドレスのコロンが削除されます。
UserExit スクリプトを呼び出すための規則の構成
規則内のスクリプトを参照することで、UserExit を呼び出すことができます。その後、VBScript の関数の結果を設定するプロパティを構成できます。この例では、Setname.vbs という名前の VBScript があります (UserExit フォルダーのブック サンプル ファイルで提供されています)。
[Settings]
Priority=Default
[Default]
OSINSTALL=YES
UserExit=Setname.vbs
OSDComputerName=#SetName("%MACADDRESS%")#
UserExit、つまり Setname.vbs はスクリプトを呼び出し、コンピューター名をスクリプトの SetName 関数が返す内容に割り当てます。このサンプルでは、%MACADDRESS% 変数がスクリプトに渡されます。
Setname.vbs UserExit スクリプト
Setname.vbs スクリプトは規則から渡された MAC アドレスを受け取ります。スクリプトはその後いくつかの文字列操作を行い、プレフィックス (PC) を追加し、MAC アドレスからセミコロンを削除します。
Function UserExit(sType, sWhen, sDetail, bSkip)
UserExit = Success
End Function
Function SetName(sMac)
Dim re
Set re = new RegExp
re.IgnoreCase = true
re.Global = true
re.Pattern = ":"
SetName = "PC" & re.Replace(sMac, "")
End Function
最初の 3 行のスクリプトは、すべての UserExit スクリプトが持つヘッダーを構成しています。注目する部分は、Function と End Function の間の行です。これらの行がプレフィックス (PC) を追加し、MAC アドレスからコロンを削除して、SetName 値に設定することでその値を規則に返します。
注
このサンプルの目的はコンピューターの命名基準に MAC アドレスを使うことを推奨することではなく、MDT から変数を取得して、その変数を外部スクリプトに渡し、変更を加え、新しい値を展開プロセスに返す方法を示すことです。