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

パラメーター

-Condition

この手順で使用する条件オブジェクトを指定します。 このオブジェクトを取得するには、タスク シーケンス条件コマンドレットのいずれかを使用します。 たとえば 、Get-CMTSStepConditionVariable です

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

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

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

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

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

このタスク シーケンス ステップのオプションの説明を指定します。

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

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

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

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

Type:SwitchParameter
Position:Named
Default value:None
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
Accept pipeline input:False
Accept wildcard characters:False
-ForceWildcardHandling

このパラメーターはワイルドカード文字を処理し、予期しない動作を引き起こします (推奨されません)。 DisableWildcardHandling と組み合わせは使用できない

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

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

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

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

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

PowerShell スクリプトを持 つパッケージのパッケージ ID を指定します。 パッケージにはプログラムは必要ない。 1 つのパッケージに複数のスクリプトを含めできます。

この値は、たとえば、標準パッケージ ID です XYZ00821

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

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters: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%'

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

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

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

Type:String
Position:Named
Default value:None
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
Accept pipeline input:False
Accept wildcard characters:False
-SuccessCode

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

Type:Int32[]
Aliases:SuccessCodes
Position:Named
Default value:None
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
Accept pipeline input:False
Accept wildcard characters:False
-UserName

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

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

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

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

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

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

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

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

入力

なし

出力

IResultObject

メモ

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