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 スクリプトを実行する」を参照してください。

注:

Configuration Manager サイト ドライブからConfiguration Managerコマンドレットを実行します (例: PS XYZ:\>)。 詳細については、「作業の 開始」を参照してください。

例 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 です

Type:IResultObject[]
Aliases:Conditions
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

コマンドレットを実行する前に確認メッセージを表示します。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ContinueOnError

このパラメーターを追加して、ステップ オプション [ エラー時に続行] を有効にします。 このオプションを有効にすると、ステップが失敗した場合、タスク シーケンスは続行されます。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

このタスク シーケンス ステップの説明 (省略可能) を指定します。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Disable

このタスク シーケンス ステップを無効にするには、このパラメーターを追加します。

Type:SwitchParameter
Aliases:DisableThisStep
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableWildcardHandling

このパラメーターは、ワイルドカード文字をリテラル文字の値として扱います。 ForceWildcardHandling と組み合わせることはできません。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ExecutionPolicy

コンピューターでの実行を許可するスクリプトの PowerShell 実行ポリシーを指定します。 次のいずれかのポリシーを選択します。

  • AllSigned: 信頼された発行元によって署名されたスクリプトのみを実行します。

  • Undefined: 実行ポリシーを定義しないでください。

  • Bypass: すべての構成ファイルを読み込み、すべてのスクリプトを実行します。 署名されていないスクリプトをインターネットからダウンロードした場合、PowerShell はスクリプトを実行する前にアクセス許可を求められません。

Type:ExecutionPolicyType
Aliases:PowerShellExecutionPolicy
Accepted values:AllSigned, Undefined, Bypass
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ForceWildcardHandling

このパラメーターはワイルドカード文字を処理し、予期しない動作が発生する可能性があります (推奨されません)。 DisableWildcardHandling と組み合わせることはできません。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

この手順の名前を指定して、タスク シーケンスで識別します。

Type:String
Aliases:StepName
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-OutputVariableName

カスタム タスク シーケンス変数の名前を指定します。 このパラメーターを使用すると、コマンド出力の最後の 1,000 文字が変数に保存されます。

Type:String
Aliases:Output, OutputVariable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PackageId

PowerShell スクリプトを持つパッケージのパッケージ ID を 指定します。 パッケージにはプログラムは必要ありません。 1 つのパッケージに複数のスクリプトを含めることができます。

この値は、標準パッケージ ID です (例: XYZ00821)。

次に、 ScriptName パラメーターを使用してスクリプトの名前を指定します。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Parameter

PowerShell スクリプトに渡されるパラメーターを指定します。 これらのパラメーターは、コマンド ラインの PowerShell スクリプト パラメーターと同じです。 PowerShell コマンド ラインではなく、スクリプトによって使用されるパラメーターを指定します。

次の例には 、有効な パラメーターが含まれています。

-MyParameter1 MyValue1 -MyParameter2 MyValue2

次の例には 、無効な パラメーターが含まれています。 最初の 2 つの項目は、PowerShell コマンド ライン パラメーター (NoLogoExecutionPolicy) です。 スクリプトでは、これらのパラメーターは使用されません。

-NoLogo -ExecutionPolicy Unrestricted -File MyScript.ps1 -MyParameter1 MyValue1 -MyParameter2 MyValue2

パラメーター値に特殊文字またはスペースが含まれている場合は、値の周囲に単一引用符 (') を使用します。 二重引用符 (") を使用すると、タスク シーケンス ステップでパラメーターが誤って処理される可能性があります。

例: -Arg1 '%TSVar1%' -Arg2 '%TSVar2%'

このパラメーターをタスク シーケンス変数に設定することもできます。 たとえば、タスク シーケンスでスクリプトを実行するときに を指定 %MyScriptVariable%すると、このカスタム変数の値が PowerShell コマンド ラインに追加されます。

Type:String
Aliases:Parameters
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScriptName

実行するスクリプトの名前を指定します。 このスクリプトは、 PackageId パラメーターで指定されたパッケージ内にあります。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-SourceScript

PackageId パラメーターと ScriptName パラメーターを使用する代わりに、このパラメーターを使用してスクリプト コマンドを直接指定します。 この文字列値は、この手順で実行される PowerShell コマンドです。

既存のスクリプト ファイルの内容を文字列変数に読み取り、その変数をこのパラメーターに使用できます。 以下に例を示します。

$script = [IO.File]::ReadAllText( "C:\temp\script.ps1" )

Type:String
Aliases:SourceCode
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-SuccessCode

ステップが成功と評価するスクリプトの終了コードとして整数値の配列を指定します。

Type:Int32[]
Aliases:SuccessCodes
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TimeoutMins

スクリプトの実行を許可するConfiguration Manager時間を表す整数値を指定します。 この値は分単位から 1 分単位で 999 指定できます。 既定値は 15 分です。

指定したスクリプトが正常に完了するのに十分な時間を許可しない値を入力すると、この手順は失敗します。 ステップまたはグループの条件によっては、タスク シーケンス全体が失敗する可能性があります。 タイムアウトが切れた場合、Configuration Managerは PowerShell プロセスを終了します。

Type:Int32
Aliases:TimeoutInMinutes
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UserName

このパラメーターを使用して、ローカル システム アカウントではなく Windows ユーザー アカウントとしてスクリプトを実行します。 Windows ユーザー アカウントの名前を指定します。 アカウント パスワードを指定するには、 UserPassword パラメーターを使用します。

Type:String
Aliases:User
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UserPassword

UserName で指定するアカウントのパスワードを指定するには、このパラメーターを使用します。

Type:SecureString
Aliases:Password
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

コマンドレットが実行されるとどうなるかを示します。 コマンドレットは実行されません。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WorkingDirectory

コマンドを開始するフォルダーを指定します。 このパスは最大 127 文字です。

Type:String
Aliases:StartIn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

None

出力

IResultObject

メモ

この戻りオブジェクトとそのプロパティの詳細については、「 サーバー WMI クラスSMS_TaskSequence_RunPowerShellScriptAction」を参照してください。