New-CMTSStepRunPowerShellScript
タスク シーケンスで PowerShell スクリプトの実行 ステップを作成します。
構文
New-CMTSStepRunPowerShellScript
-Name <String>
[-SuccessCode <Int32[]>]
[-Condition <IResultObject[]>]
[-ContinueOnError]
[-Description <String>]
[-Disable]
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-CMTSStepRunPowerShellScript
[-ExecutionPolicy <ExecutionPolicyType>]
-Name <String>
[-OutputVariableName <String>]
[-Parameter <String>]
-SourceScript <String>
[-SuccessCode <Int32[]>]
[-TimeoutMins <Int32>]
[-UserName <String>]
[-UserPassword <SecureString>]
[-WorkingDirectory <String>]
[-Condition <IResultObject[]>]
[-ContinueOnError]
[-Description <String>]
[-Disable]
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-CMTSStepRunPowerShellScript
[-ExecutionPolicy <ExecutionPolicyType>]
-Name <String>
[-OutputVariableName <String>]
-PackageId <String>
[-Parameter <String>]
-ScriptName <String>
[-SuccessCode <Int32[]>]
[-TimeoutMins <Int32>]
[-UserName <String>]
[-UserPassword <SecureString>]
[-WorkingDirectory <String>]
[-Condition <IResultObject[]>]
[-ContinueOnError]
[-Description <String>]
[-Disable]
[-DisableWildcardHandling]
[-ForceWildcardHandling]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
このコマンドレットは、 新しい PowerShell スクリプトの実行 ステップ オブジェクトを作成します。 次に、 Add-CMTaskSequenceStep コマンドレットを使用して、タスク シーケンスにステップを追加します。 この手順の詳細については、「 タスク シーケンスの手順について: PowerShell スクリプトを実行する」を参照してください。
注:
PS XYZ:\>
など、Configuration Manager サイト ドライブから Configuration Manager コマンドレットを実行します。 詳細については、「作業の 開始」を参照してください。
例
例 1
この例では、最初に PowerShell スクリプトの実行 ステップのオブジェクトを作成します。 実行するスクリプトの名前を持つパッケージを指定します。 PowerShell 実行ポリシーを最も安全な AllSigned レベルに 設定します。このレベルでは、スクリプトをデジタル署名する必要があります。
次に、タスク シーケンス オブジェクトを取得し、インデックス 11 のタスク シーケンスにこの新しいステップを追加します。
$step = New-CMTSStepRunPowerShellScript -Name "Run PowerShell Script" -PackageId "XYZ00821" -ScriptName "Add-ContosoBranding.ps1" -ExecutionPolicy AllSigned
$tsNameOsd = "Default OS deployment"
$tsOsd = Get-CMTaskSequence -Name $tsNameOsd -Fast
$tsOsd | Add-CMTaskSequenceStep -Step $step -InsertStepStartIndex 11
パラメーター
-Condition
この手順で使用する条件オブジェクトを指定します。 このオブジェクトを取得するには、タスク シーケンス条件コマンドレットのいずれかを使用します。 たとえば、 Get-CMTSStepConditionVariable です。
型: | IResultObject[] |
Aliases: | Conditions |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Confirm
コマンドレットを実行する前に確認メッセージを表示します。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ContinueOnError
このパラメーターを追加して、ステップ オプション [ エラー時に続行] を有効にします。 このオプションを有効にすると、ステップが失敗した場合、タスク シーケンスは続行されます。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Description
このタスク シーケンス ステップの説明 (省略可能) を指定します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Disable
このタスク シーケンス ステップを無効にするには、このパラメーターを追加します。
型: | SwitchParameter |
Aliases: | DisableThisStep |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DisableWildcardHandling
このパラメーターは、ワイルドカード文字をリテラル文字の値として扱います。 ForceWildcardHandling と組み合わせることはできません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ExecutionPolicy
コンピューターでの実行を許可するスクリプトの PowerShell 実行ポリシーを指定します。 次のいずれかのポリシーを選択します。
AllSigned
: 信頼された発行元によって署名されたスクリプトのみを実行します。Undefined
: 実行ポリシーを定義しないでください。Bypass
: すべての構成ファイルを読み込み、すべてのスクリプトを実行します。 署名されていないスクリプトをインターネットからダウンロードした場合、PowerShell はスクリプトを実行する前にアクセス許可を求められません。
型: | ExecutionPolicyType |
Aliases: | PowerShellExecutionPolicy |
指定可能な値: | AllSigned, Undefined, Bypass |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ForceWildcardHandling
このパラメーターはワイルドカード文字を処理し、予期しない動作が発生する可能性があります (推奨されません)。 DisableWildcardHandling と組み合わせることはできません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Name
この手順の名前を指定して、タスク シーケンスで識別します。
型: | String |
Aliases: | StepName |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-OutputVariableName
カスタム タスク シーケンス変数の名前を指定します。 このパラメーターを使用すると、コマンド出力の最後の 1,000 文字が変数に保存されます。
型: | String |
Aliases: | Output, OutputVariable |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-PackageId
PowerShell スクリプトを持つパッケージのパッケージ ID を 指定します。 パッケージにはプログラムは必要ありません。 1 つのパッケージに複数のスクリプトを含めることができます。
この値は、 XYZ00821
などの標準パッケージ ID です。
次に、 ScriptName パラメーターを使用してスクリプトの名前を指定します。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Parameter
PowerShell スクリプトに渡されるパラメーターを指定します。 これらのパラメーターは、コマンド ラインの PowerShell スクリプト パラメーターと同じです。 PowerShell コマンド ラインではなく、スクリプトによって使用されるパラメーターを指定します。
次の例には 、有効な パラメーターが含まれています。
-MyParameter1 MyValue1 -MyParameter2 MyValue2
次の例には 、無効な パラメーターが含まれています。 最初の 2 つの項目は、PowerShell コマンド ライン パラメーター (NoLogo と ExecutionPolicy) です。 スクリプトでは、これらのパラメーターは使用されません。
-NoLogo -ExecutionPolicy Unrestricted -File MyScript.ps1 -MyParameter1 MyValue1 -MyParameter2 MyValue2
パラメーター値に特殊文字またはスペースが含まれている場合は、値の周囲に単一引用符 ('
) を使用します。 二重引用符 ("
) を使用すると、タスク シーケンス ステップでパラメーターが誤って処理される可能性があります。
例: -Arg1 '%TSVar1%' -Arg2 '%TSVar2%'
このパラメーターをタスク シーケンス変数に設定することもできます。 たとえば、 %MyScriptVariable%
を指定すると、タスク シーケンスでスクリプトが実行されるときに、このカスタム変数の値が PowerShell コマンド ラインに追加されます。
型: | String |
Aliases: | Parameters |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ScriptName
実行するスクリプトの名前を指定します。 このスクリプトは、 PackageId パラメーターで指定されたパッケージ内にあります。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-SourceScript
PackageId パラメーターと ScriptName パラメーターを使用する代わりに、このパラメーターを使用してスクリプト コマンドを直接指定します。 この文字列値は、この手順で実行される PowerShell コマンドです。
既存のスクリプト ファイルの内容を文字列変数に読み取り、その変数をこのパラメーターに使用できます。 例:
$script = [IO.File]::ReadAllText( "C:\temp\script.ps1" )
型: | String |
Aliases: | SourceCode |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-SuccessCode
ステップが成功と評価するスクリプトの終了コードとして整数値の配列を指定します。
型: | Int32[] |
Aliases: | SuccessCodes |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-TimeoutMins
Configuration Manager がスクリプトの実行を許可する期間を表す整数値を指定します。 この値は、 1
分から 999
分までです。 既定値は 15
分です。
指定したスクリプトが正常に完了するのに十分な時間を許可しない値を入力すると、この手順は失敗します。 ステップまたはグループの条件によっては、タスク シーケンス全体が失敗する可能性があります。 タイムアウトが切れた場合、Configuration Manager は PowerShell プロセスを終了します。
型: | Int32 |
Aliases: | TimeoutInMinutes |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-UserName
このパラメーターを使用して、ローカル システム アカウントではなく Windows ユーザー アカウントとしてスクリプトを実行します。 Windows ユーザー アカウントの名前を指定します。 アカウント パスワードを指定するには、 UserPassword パラメーターを使用します。
型: | String |
Aliases: | User |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-UserPassword
UserName で指定するアカウントのパスワードを指定するには、このパラメーターを使用します。
型: | SecureString |
Aliases: | Password |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットが実行されるとどうなるかを示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WorkingDirectory
コマンドを開始するフォルダーを指定します。 このパスは最大 127 文字です。
型: | String |
Aliases: | StartIn |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
出力
IResultObject
メモ
この戻りオブジェクトとそのプロパティの詳細については、「 サーバー WMI クラスSMS_TaskSequence_RunPowerShellScriptAction」を参照してください。