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.