New-CMTSStepRunPowerShellScript

Creare il passaggio Esegui script di PowerShell in una sequenza di attività.

Sintassi

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>]

Descrizione

Questo cmdlet crea un nuovo oggetto passaggio Esegui script di PowerShell . Usare quindi il cmdlet Add-CMTaskSequenceStep per aggiungere il passaggio a una sequenza di attività. Per altre informazioni su questo passaggio, vedere Informazioni sui passaggi della sequenza di attività: Eseguire script di PowerShell.

Nota

Eseguire i cmdlet di Configuration Manager dall'unità del sito di Configuration Manager, ad esempio PS XYZ:\>. Per altre informazioni, vedere Introduzione.

Esempio

Esempio 1

In questo esempio viene prima creato un oggetto per il passaggio Esegui script di PowerShell . Specifica il pacchetto con il nome dello script da eseguire. Imposta i criteri di esecuzione di PowerShell sul livello AllSigned più sicuro, che richiede che lo script sia firmato digitalmente.

Ottiene quindi un oggetto sequenza di attività e aggiunge questo nuovo passaggio alla sequenza di attività in corrispondenza dell'indice 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

Parametri

-Condition

Specificare un oggetto condizione da usare con questo passaggio. Per ottenere questo oggetto, usare uno dei cmdlet della condizione della sequenza di attività. Ad esempio, Get-CMTSStepConditionVariable.

Tipo:IResultObject[]
Alias:Conditions
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Confirm

Richiede la conferma prima di eseguire il cmdlet.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ContinueOnError

Aggiungere questo parametro per abilitare l'opzione di passaggio Continua in caso di errore. Quando si abilita questa opzione, se il passaggio ha esito negativo, la sequenza di attività continua.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Description

Specificare una descrizione facoltativa per questo passaggio della sequenza di attività.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Disable

Aggiungere questo parametro per disabilitare questo passaggio della sequenza di attività.

Tipo:SwitchParameter
Alias:DisableThisStep
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DisableWildcardHandling

Questo parametro considera i caratteri jolly come valori letterali. Non è possibile combinarlo con ForceWildcardHandling.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ExecutionPolicy

Specificare i criteri di esecuzione di PowerShell per gli script consentiti per l'esecuzione nel computer. Scegliere uno dei criteri seguenti:

  • AllSigned: esegue solo script firmati da un autore attendibile.

  • Undefined: non definire criteri di esecuzione.

  • Bypass: caricare tutti i file di configurazione ed eseguire tutti gli script. Se si scarica uno script non firmato da Internet, PowerShell non richiede l'autorizzazione prima di eseguire lo script.

Tipo:ExecutionPolicyType
Alias:PowerShellExecutionPolicy
Valori accettati:AllSigned, Undefined, Bypass
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ForceWildcardHandling

Questo parametro elabora caratteri jolly e può causare un comportamento imprevisto (non consigliato). Non è possibile combinarlo con DisableWildcardHandling.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Name

Specificare un nome per questo passaggio per identificarlo nella sequenza di attività.

Tipo:String
Alias:StepName
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-OutputVariableName

Specificare il nome di una variabile della sequenza di attività personalizzata. Quando si usa questo parametro, il passaggio salva gli ultimi 1000 caratteri dell'output del comando nella variabile.

Tipo:String
Alias:Output, OutputVariable
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-PackageId

Specificare l'ID pacchetto per il pacchetto con lo script di PowerShell. Il pacchetto non richiede un programma. Un pacchetto può contenere più script.

Questo valore è un ID pacchetto standard, ad esempio XYZ00821.

Usare quindi il parametro ScriptName per specificare il nome dello script.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Parameter

Specificare i parametri passati allo script di PowerShell. Questi parametri sono gli stessi dei parametri di script di PowerShell nella riga di comando. Specificare i parametri utilizzati dallo script, non per la riga di comando di PowerShell.

L'esempio seguente contiene parametri validi :

-MyParameter1 MyValue1 -MyParameter2 MyValue2

L'esempio seguente contiene parametri non validi . I primi due elementi sono parametri della riga di comando di PowerShell (NoLogo ed ExecutionPolicy). Lo script non usa questi parametri.

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

Se un valore di parametro include un carattere speciale o uno spazio, usare virgolette singole (') intorno al valore. L'uso di virgolette doppie (") può causare l'elaborazione errata del parametro da parte del passaggio della sequenza di attività.

Ad esempio: -Arg1 '%TSVar1%' -Arg2 '%TSVar2%'

È anche possibile impostare questo parametro su una variabile della sequenza di attività. Ad esempio, se si specifica %MyScriptVariable%, quando la sequenza di attività esegue lo script, aggiunge il valore di questa variabile personalizzata alla riga di comando di PowerShell.

Tipo:String
Alias:Parameters
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ScriptName

Specificare il nome dello script da eseguire. Questo script si trova nel pacchetto specificato dal parametro PackageId .

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-SourceScript

Anziché usare i parametri PackageId e ScriptName , usare questo parametro per specificare direttamente i comandi dello script. Questo valore stringa è costituito dai comandi di PowerShell eseguiti in questo passaggio.

È possibile leggere il contenuto di un file di script esistente in una variabile stringa e quindi usare tale variabile per questo parametro. Ad esempio:

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

Tipo:String
Alias:SourceCode
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-SuccessCode

Specificare una matrice di valori integer come codici di uscita dallo script che il passaggio deve valutare come esito positivo.

Tipo:Int32[]
Alias:SuccessCodes
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-TimeoutMins

Specificare un valore intero che rappresenta per quanto tempo Configuration Manager consente l'esecuzione dello script. Questo valore può essere compreso tra 1 minuti e 999 minuti. Il valore predefinito è 15 minuti.

Se si immette un valore che non consente il completamento dello script specificato, questo passaggio avrà esito negativo. L'intera sequenza di attività potrebbe non riuscire a seconda delle condizioni del passaggio o del gruppo. Se il timeout scade, Configuration Manager termina il processo di PowerShell.

Tipo:Int32
Alias:TimeoutInMinutes
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-UserName

Usare questo parametro per eseguire lo script come account utente di Windows e non come account di sistema locale. Specificare il nome dell'account utente di Windows. Per specificare la password dell'account, usare il parametro UserPassword .

Tipo:String
Alias:User
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-UserPassword

Usare questo parametro per specificare la password dell'account specificato con UserName.

Tipo:SecureString
Alias:Password
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-WhatIf

Mostra cosa accade se viene eseguito il cmdlet. Il cmdlet non viene eseguito.

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-WorkingDirectory

Specificare la cartella in cui viene avviato il comando. Questo percorso può contenere fino a 127 caratteri.

Tipo:String
Alias:StartIn
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

None

Output

IResultObject

Note

Per altre informazioni su questo oggetto restituito e sulle relative proprietà, vedere SMS_TaskSequence_RunPowerShellScriptAction classe WMI del server.