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>]
Description
此 Cmdlet 會建立新的 執行 PowerShell 腳本 步驟物件。 然後使用 Add-CMTaskSequenceStep Cmdlet 將步驟新增至工作順序。 如需此步驟的詳細資訊,請 參閱關於工作順序步驟:執行 PowerShell 腳本。
注意事項
從 Configuration Manager 月臺磁碟驅動器執行 Configuration Manager Cmdlet,例如 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
指定要與這個步驟搭配使用的條件物件。 若要取得這個物件,請使用其中一個工作順序條件 Cmdlet。 例如, Get-CMTSStepConditionVariable。
類型: | IResultObject[] |
別名: | Conditions |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Confirm
執行 Cmdlet 之前提示您確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ContinueOnError
新增此參數以啟用 [ 發生錯誤時繼續] 步驟選項。 當您啟用此選項時,如果步驟失敗,工作順序會繼續。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Description
指定此工作順序步驟的選擇性描述。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Disable
新增此參數以停用此工作順序步驟。
類型: | SwitchParameter |
別名: | DisableThisStep |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DisableWildcardHandling
此參數會將通配符視為常值字元值。 您無法將其與 ForceWildcardHandling 結合。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ExecutionPolicy
針對您允許在計算機上執行的腳本,指定 PowerShell 執行原則。 選擇下列其中一個原則:
AllSigned
:僅執行受信任發行者簽署的腳本。Undefined
:請勿定義任何執行原則。Bypass
:載入所有組態檔並執行所有腳本。 如果您從因特網下載未簽署的腳本,PowerShell 在執行腳本之前不會提示您提供許可權。
類型: | ExecutionPolicyType |
別名: | PowerShellExecutionPolicy |
接受的值: | AllSigned, Undefined, Bypass |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ForceWildcardHandling
此參數會處理通配符,並可能導致非預期的行為 (不建議) 。 您無法將其與 DisableWildcardHandling 結合。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Name
指定此步驟的名稱,以在工作順序中識別它。
類型: | String |
別名: | StepName |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-OutputVariableName
指定自訂工作順序變數的名稱。 當您使用此參數時,步驟會將命令輸出的最後 1000 個字元儲存至變數。
類型: | String |
別名: | Output, OutputVariable |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-PackageId
指定具有 PowerShell 腳本之套件的 套件識別 碼。 套件不需要程式。 一個套件可以包含多個腳本。
此值是標準套件識別碼,例如 XYZ00821
。
然後使用 ScriptName 參數來指定文稿的名稱。
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-Parameter
指定傳遞至 PowerShell 腳本的參數。 這些參數與命令行上的PowerShell腳本參數相同。 提供腳本所取用的參數,而不是 PowerShell 命令行的參數。
下列範例包含 有效的 參數:
-MyParameter1 MyValue1 -MyParameter2 MyValue2
下列範例包含 無效 的參數。 前兩個專案是 (NoLogo 和 ExecutionPolicy) 的 PowerShell 命令行參數。 腳本不會取用這些參數。
-NoLogo -ExecutionPolicy Unrestricted -File MyScript.ps1 -MyParameter1 MyValue1 -MyParameter2 MyValue2
如果參數值包含特殊字元或空格,請在值周圍使用單引號 ('
) 。 使用雙引號 ("
) 可能會導致工作順序步驟不正確地處理 參數。
例如:-Arg1 '%TSVar1%' -Arg2 '%TSVar2%'
您也可以將此參數設定為工作順序變數。 例如,如果您指定 %MyScriptVariable%
,當工作順序執行腳本時,它會將這個自定義變數的值新增至 PowerShell 命令行。
類型: | String |
別名: | Parameters |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ScriptName
指定要執行的文稿名稱。 此腳本位於 PackageId 參數所指定的封裝中。
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-SourceScript
請使用此參數直接指定文本命令,而不是使用 PackageId 和 ScriptName 參數。 此字串值是此步驟執行的 PowerShell 命令。
您可以將現有文稿檔案的內容讀入字串變數,然後將該變數用於此參數。 例如:
$script = [IO.File]::ReadAllText( "C:\temp\script.ps1" )
類型: | String |
別名: | SourceCode |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-SuccessCode
指定整數值的陣列作為腳本的結束代碼,步驟應評估為成功。
類型: | Int32[] |
別名: | SuccessCodes |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-TimeoutMins
指定整數值,表示 Configuration Manager 允許腳本執行的時間長度。 這個值可以是 1
分鐘到 999
分鐘。 預設值為 15
minutes。
如果您輸入的值不允許足夠的時間讓指定的腳本順利完成,則此步驟會失敗。 視步驟或群組條件而定,整個工作順序可能會失敗。 如果逾時到期,Configuration Manager 會終止 PowerShell 程式。
類型: | Int32 |
別名: | TimeoutInMinutes |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-UserName
使用此參數以 Windows 用戶帳戶而不是本機系統帳戶執行腳本。 指定 Windows 使用者帳戶的名稱。 若要指定帳戶密碼,請使用 UserPassword 參數。
類型: | String |
別名: | User |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-UserPassword
使用此參數來指定您使用 UserName 指定之帳戶的密碼。
類型: | SecureString |
別名: | Password |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WhatIf
顯示執行 Cmdlet 時會發生什麼情況。 Cmdlet 不會執行。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WorkingDirectory
指定命令啟動所在的資料夾。 此路徑最多可以有 127 個字元。
類型: | String |
別名: | StartIn |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
None
輸出
IResultObject
備註
如需這個傳回物件及其屬性的詳細資訊,請 參閱SMS_TaskSequence_RunPowerShellScriptAction伺服器 WMI 類別。