次の方法で共有


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 から変数を取得して、その変数を外部スクリプトに渡し、変更を加え、新しい値を展開プロセスに返す方法を示すことです。

 

関連トピック

BitLocker 用 MDT のセットアップ

MDT 展開共有規則の構成

テスト環境での Windows 10 展開のシミュレート

Windows 10 展開情報のステージングのための MDT データベースの使用

MDT での役割を使ったアプリケーションの割り当て

MDT での Web サービスの使用

MDT による Orchestrator の Runbook の使用