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

Укажите имя настраиваемой переменной последовательности задач. При использовании этого параметра шаг сохраняет последние 1000 символов выходных данных команды в переменной.

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

-PackageId

Укажите идентификатор пакета , который содержит скрипт PowerShell. Для пакета не требуется программа. Один пакет может содержать несколько скриптов.

Это значение является стандартным идентификатором пакета, например 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

В следующем примере содержатся недопустимые параметры. Первые два элемента — это параметры командной строки PowerShell (NoLogo и ExecutionPolicy). Скрипт не использует эти параметры.

-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

Примечания

Дополнительные сведения об этом возвращаемом объекте и его свойствах см . в разделе SMS_TaskSequence_RunPowerShellScriptAction класс WMI сервера.