Configuration Managerでは、タスク シーケンス環境 COM オートメーション オブジェクト (Microsoft.SMS.TSEnvironment
) を使用して、実行中のタスク シーケンスでタスク シーケンス変数を作成、取得、設定できます。
通常、スクリプトを実行するコマンド ライン アクションを使用して、タスク シーケンス変数にアクセスします。 ただし、実行中のタスク シーケンス内で、COM オートメーション オブジェクトを使用できる任意のプログラミング環境を使用して、それらにアクセスすることもできます。
注:
Configuration Manager クライアントでタスク変数を設定すると、タスク シーケンスの後続の手順で使用できるようになります。
カスタム タスク シーケンス変数を作成するには、作成する新しい変数の名前を使用して、 Microsoft.SMS.TSEnvironment
プロパティを設定します。 変数がまだ存在しない場合は、作成されます。 変数が既に存在する場合は、その値が更新されます。 後で、 Microsoft.SMS.TSEnvironment
からカスタム変数の値を取得できます。
タスク シーケンス変数が配列の場合、次の形式で渡されます。
<base array name><element #><Property>="value".
たとえば、 OSDPartitions
変数は SMS_TaskSequencePartitionSettings
の配列です。 次の例は、Array OSDPartitions
1 つの要素を表します。
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 プロバイダーに接続する方法の概要オペレーティング システム展開タスク シーケンス変数を設定する方法