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>]
説明
このコマンドレットは、新しい Run PowerShell Script ステップ オブジェクトを 作成します。 次に 、Add-CMTaskSequenceStep コマンドレットを使用して、手順をタスク シーケンスに追加します。 この手順の詳細については、「タスク シーケンスの手順 について: PowerShell スクリプトの実行」を参照してください。
注意
Configuration Manager サイト ドライブから Configuration Manager コマンドレットを実行します PS XYZ:\> 。 詳細については 、「Getting started」を参照してください。
例
例 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
パラメーター
この手順で使用する条件オブジェクトを指定します。 このオブジェクトを取得するには、タスク シーケンス条件コマンドレットのいずれかを使用します。 たとえば 、Get-CMTSStepConditionVariable です。
| Type: | IResultObject[] |
| Aliases: | Conditions |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
コマンドレットを実行する前に確認メッセージを表示します。
| Type: | SwitchParameter |
| Aliases: | cf |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
このパラメーターを追加して、エラー時にステップ オプション [続行] を有効にします。 このオプションを有効にすると、手順が失敗した場合、タスク シーケンスは続行されます。
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
このタスク シーケンス ステップのオプションの説明を指定します。
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
このパラメーターを追加して、このタスク シーケンス ステップを無効にします。
| Type: | SwitchParameter |
| Aliases: | DisableThisStep |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
このパラメーターは、ワイルドカード文字をリテラル文字値として扱います。 ForceWildcardHandling と組み合わせは使用できない。
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
コンピューターで実行を許可するスクリプトの PowerShell 実行ポリシーを指定します。 次のいずれかのポリシーを選択します。
AllSigned: 信頼できる発行元によって署名されたスクリプトのみを実行します。Undefined: 実行ポリシーを定義しません。Bypass: すべての構成ファイルを読み込み、すべてのスクリプトを実行します。 署名されていないスクリプトをインターネットからダウンロードした場合、PowerShell はスクリプトを実行する前にアクセス許可を求めされません。
| Type: | ExecutionPolicyType |
| Aliases: | PowerShellExecutionPolicy |
| Accepted values: | AllSigned, Undefined, Bypass |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
このパラメーターはワイルドカード文字を処理し、予期しない動作を引き起こします (推奨されません)。 DisableWildcardHandling と組み合わせは使用できない。
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
タスク シーケンスで識別するには、この手順の名前を指定します。
| Type: | String |
| Aliases: | StepName |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
カスタム タスク シーケンス変数の名前を指定します。 このパラメーターを使用すると、コマンド出力の最後の 1000 文字が変数に保存されます。
| Type: | String |
| Aliases: | Output, OutputVariable |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
PowerShell スクリプトを持 つパッケージのパッケージ ID を指定します。 パッケージにはプログラムは必要ない。 1 つのパッケージに複数のスクリプトを含めできます。
この値は、たとえば、標準パッケージ ID です XYZ00821 。
次に 、ScriptName パラメーターを使用してスクリプトの名前を指定します。
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
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%'
また、このパラメーターをタスク シーケンス変数に設定することもできます。 たとえば、タスク シーケンスでスクリプトを実行するときに、このカスタム変数の値を PowerShell コマンド ラインに %MyScriptVariable% 追加します。
| Type: | String |
| Aliases: | Parameters |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
実行するスクリプトの名前を指定します。 このスクリプトは 、PackageId パラメーターで指定されたパッケージ内に含まれています。
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
PackageIdパラメーターとScriptNameパラメーターを使用する代わりに、このパラメーターを使用してスクリプト コマンドを直接指定します。 この文字列値は、この手順を実行する PowerShell コマンドです。
既存のスクリプト ファイルの内容を文字列変数に読み取り、その変数をこのパラメーターに使用できます。 例:
$script = [IO.File]::ReadAllText( "C:\temp\script.ps1" )
| Type: | String |
| Aliases: | SourceCode |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
ステップが成功と評価するスクリプトからの終了コードとして整数値の配列を指定します。
| Type: | Int32[] |
| Aliases: | SuccessCodes |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Configuration Manager でスクリプトを実行できる時間を表す整数値を指定します。 この値は、分 1 から分まで 999 指定できます。 既定値は分 15 です。
指定したスクリプトが正常に完了するのに十分な時間を許可しない値を入力すると、この手順は失敗します。 手順またはグループの条件によっては、タスク シーケンス全体が失敗する可能性があります。 タイムアウトが期限切れになると、Configuration Manager は PowerShell プロセスを終了します。
| Type: | Int32 |
| Aliases: | TimeoutInMinutes |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
このパラメーターを使用して、ローカル システム アカウントではなくWindowsユーザー アカウントとしてスクリプトを実行します。 ユーザー アカウントの名前をWindowsします。 アカウントのパスワードを指定するには 、UserPassword パラメーターを使用 します。
| Type: | String |
| Aliases: | User |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
UserName で指定するアカウントのパスワードを指定するには、このパラメーター を使用します。
| Type: | SecureString |
| Aliases: | Password |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
コマンドレットが実行されるとどうなるかを示します。 コマンドレットは実行されません。
| Type: | SwitchParameter |
| Aliases: | wi |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
コマンドを開始するフォルダーを指定します。 このパスには最大 127 文字を指定できます。
| Type: | String |
| Aliases: | StartIn |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
入力
なし
出力
IResultObject
メモ
この戻り値オブジェクトとそのプロパティの詳細については、「SMS_TaskSequence_RunPowerShellScriptAction WMI クラス」を参照してください。