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.
Тип: | IResultObject[] |
Aliases: | Conditions |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Confirm
Перед запуском командлет запросит подтверждение.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ContinueOnError
Добавьте этот параметр, чтобы включить параметр шага Продолжить при ошибке. Если этот параметр включен, если шаг завершается ошибкой, последовательность задач продолжается.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Description
Укажите необязательное описание для этого шага последовательности задач.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Disable
Добавьте этот параметр, чтобы отключить этот шаг последовательности задач.
Тип: | SwitchParameter |
Aliases: | DisableThisStep |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-DisableWildcardHandling
Этот параметр обрабатывает подстановочные знаки как литеральные символы. Вы не можете объединить его с ForceWildcardHandling.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ExecutionPolicy
Укажите политику выполнения PowerShell для сценариев, которые можно запускать на компьютере. Выберите одну из следующих политик:
AllSigned
: выполняются только скрипты, подписанные доверенным издателем.Undefined
: не определяйте политику выполнения.Bypass
: загрузите все файлы конфигурации и запустите все скрипты. Если вы скачаете неподписанный скрипт из Интернета, PowerShell не запрашивает разрешение перед выполнением скрипта.
Тип: | ExecutionPolicyType |
Aliases: | PowerShellExecutionPolicy |
Допустимые значения: | AllSigned, Undefined, Bypass |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ForceWildcardHandling
Этот параметр обрабатывает подстановочные знаки и может привести к непредвиденному поведению (не рекомендуется). Его нельзя объединить с DisableWildcardHandling.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Name
Укажите имя для этого шага, чтобы определить его в последовательности задач.
Тип: | String |
Aliases: | StepName |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-OutputVariableName
Укажите имя настраиваемой переменной последовательности задач. При использовании этого параметра шаг сохраняет последние 1000 символов выходных данных команды в переменную.
Тип: | String |
Aliases: | Output, OutputVariable |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-PackageId
Укажите идентификатор пакета , который содержит скрипт PowerShell. Для пакета не требуется программа. Один пакет может содержать несколько скриптов.
Это значение является стандартным идентификатором пакета, например XYZ00821
.
Затем используйте параметр ScriptName , чтобы указать имя скрипта.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | 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.
Тип: | String |
Aliases: | Parameters |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ScriptName
Укажите имя выполняемого скрипта. Этот скрипт находится в пакете, указанном параметром PackageId .
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-SourceScript
Вместо использования параметров PackageId и ScriptName используйте этот параметр для непосредственного указания команд скрипта. Это строковое значение является командами PowerShell, которые выполняются на этом шаге.
Содержимое существующего файла скрипта можно считывать в строковую переменную, а затем использовать эту переменную для этого параметра. Например:
$script = [IO.File]::ReadAllText( "C:\temp\script.ps1" )
Тип: | String |
Aliases: | SourceCode |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-SuccessCode
Укажите массив целочисленных значений в качестве кодов выхода из скрипта, который шаг должен вычислить как успешное.
Тип: | Int32[] |
Aliases: | SuccessCodes |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-TimeoutMins
Укажите целочисленное значение, указывающее, как долго Configuration Manager позволяет выполнять скрипт. Это значение может быть от 1
минуты до 999
минут. Значение по умолчанию — минуты 15
.
Если ввести значение, которое не дает достаточно времени для успешного выполнения указанного скрипта, этот шаг завершается ошибкой. Вся последовательность задач может завершиться ошибкой в зависимости от условий шага или группы. Если истекло время ожидания, Configuration Manager завершает процесс PowerShell.
Тип: | Int32 |
Aliases: | TimeoutInMinutes |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-UserName
Этот параметр используется для запуска скрипта в качестве учетной записи пользователя Windows, а не от учетной записи локальной системы. Укажите имя учетной записи пользователя Windows. Чтобы указать пароль учетной записи, используйте параметр UserPassword .
Тип: | String |
Aliases: | User |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-UserPassword
Используйте этот параметр, чтобы указать пароль учетной записи, указанной с помощью userName.
Тип: | SecureString |
Aliases: | Password |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет при запуске этого командлета. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-WorkingDirectory
Укажите папку, в которой запускается команда. Этот путь может содержать до 127 символов.
Тип: | String |
Aliases: | StartIn |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
None
Выходные данные
IResultObject
Примечания
Дополнительные сведения об этом возвращаемом объекте и его свойствах см . в разделе SMS_TaskSequence_RunPowerShellScriptAction класс WMI сервера.