実行中のConfiguration Managerタスク シーケンスでタスク シーケンス変数を使用する方法
Configuration Managerでは、タスク シーケンス環境 COM オートメーション オブジェクト (Microsoft.SMS.TSEnvironment
) を使用して、実行中のタスク シーケンスのタスク シーケンス変数を作成、取得、設定できます。
通常、スクリプトを実行してタスク シーケンス変数にアクセスするコマンド ライン アクションを使用します。 ただし、実行中のタスク シーケンス内で、COM オートメーション オブジェクトを使用できる任意のプログラミング環境を使用して、それらにアクセスすることもできます。
注:
Configuration Manager クライアントでタスク変数を設定すると、タスク シーケンスの後続の手順で使用できるようになります。
カスタム タスク シーケンス変数を作成するには、作成する新しい変数の名前を使用してプロパティを設定 Microsoft.SMS.TSEnvironment
します。 変数がまだ存在しない場合は、作成されます。 変数が既に存在する場合は、その値が更新されます。 その後、 から Microsoft.SMS.TSEnvironment
カスタム変数の値を取得できます。
タスク シーケンス変数が配列の場合、次の形式で渡されます。
<base array name><element #><Property>="value".
たとえば、 OSDPartitions
変数は の SMS_TaskSequencePartitionSettings
配列です。 次は、1 つの要素 OSDPartitions
Array を表します。
OSDPartitions0Bootable="true"
OSDPartitions0FileSystem="NTFS"
OSDPartition0QuickFormat="false"
OSDPartitions0Size="100"
OSDPartitions0SizeUnits="Percent"
OSDPartitions0Type="Primary"
この配列にアクセス FileSystem
するには、 を使用 OSDPartitions0FileSystem
します。 配列が大きい場合は、配列を介して 2 番目の要素になどを使用OSDPartitions1FileSystem
します。
次の環境では使用できないため、タスクシーケンス環境でマネージド コードを使用することはお勧めしません。
Windows PE
Windows Server 2008
Windows 2000
マネージド コードは、正しいバージョンの.NET Frameworkがインストールされた状態で完全なオペレーティング システムが実行されている場合に機能します。
必要な.NET Frameworkのバージョンは、使用する Visual Studio のバージョンによって異なります。
Visual Studio | .NET Framework バージョン |
---|---|
Visual Studio 2003 | 1.0 |
Visual Studio 2005 | 2.0 |
Visual Studio 2008 | 2.0 から 3.5 |
オブジェクトにアクセスするには、COM 相互運用機能を使用する TSEnvironment
必要があります。 次のものが必要です。
TSEnvironment 1.0 タイプ ライブラリへの参照。
TSEnvironmentLib 名前空間。
実行中のタスク シーケンスでタスク変数を使用するには
実行中のタスク シーケンスで、 の
Microsoft.SMS.TSEnvironment
インスタンスを作成します。必要な環境変数を取得または設定します。
例
次のメソッド例では、 変数を取得します _SMSTSLogPath
。 また、カスタム変数の値と配列のカスタム変数値も設定します。
サンプル コードの呼び出しについては、「Configuration Manager コード スニペットの呼び出し」を参照してください。
Sub UseTaskSequenceVariables()
dim osd: set env = CreateObject("Microsoft.SMS.TSEnvironment")
dim logPath
' You can query the environment to get an existing variable.
logPath = env("_SMSTSLogPath")
wscript.echo logPath
' You can also set a variable in the Operating System Deployment environment.
env("MyCustomVariable") = "My Custom Value"
' Set the OSDPartitions(0) Bootable array member to 0.
env("OSDPartitions0Bootable") = "true"
End Sub
コードのコンパイル
プラットフォーム
オペレーティング システム展開タスクのシーケンス環境
堅牢なプログラミング
エラー処理の詳細については、「Configuration Manager エラーについて」を参照してください。
.NET Framework のセキュリティ
Configuration Manager アプリケーションのセキュリティ保護の詳細については、「ロールベースの管理Configuration Manager」を参照してください。
関連項目
オブジェクトの概要マネージド コードを使用してConfiguration Managerで SMS プロバイダーに接続する方法
WMI を使用してConfiguration Managerで SMS プロバイダーに接続する方法
タスク シーケンスの概要オペレーティング システム展開タスク シーケンス変数を設定する方法