Approve-CMScript

Утвердить сценарий PowerShell в Configuration Manager.

Синтаксис

Approve-CMScript
       [-Comment <String>]
       -InputObject <IResultObject>
       [-DisableWildcardHandling]
       [-ForceWildcardHandling]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Approve-CMScript
       [-Comment <String>]
       -ScriptGuid <String>
       [-DisableWildcardHandling]
       [-ForceWildcardHandling]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Описание

Используйте этот командлет для утверждения скрипта PowerShell в Configuration Manager. Эти скрипты интегрируются и управляются в Configuration Manager. Вы не сможете запустить скрипт на устройствах, пока он не будет утвержден. После утверждения скрипта для его запуска используйте командлет Invoke-CMScript .

По умолчанию вы не можете утвердить скрипты, которые вы создаете.

Дополнительные сведения см. в статье Создание и выполнение скриптов PowerShell в консоли Configuration Manager.

Примечание.

Выполните командлеты Configuration Manager с диска сайта Configuration Manager, например PS XYZ:\>. Дополнительные сведения см. в статье Начало работы.

Примеры

Пример 1. Утверждение скрипта с помощью идентификатора скрипта

Эта команда утверждает скрипт с идентификатором DF8E7546-FD66-4A3D-A129-53AF5AA54F80.

Approve-CMScript -ScriptGuid "DF8E7546-FD66-4A3D-A129-53AF5AA54F80"

Пример 2. Утверждение скрипта с помощью переменной объекта скрипта

Первая команда получает объект скрипта с идентификатором DF8E7546-FD66-4A3D-A129-53AF5AA54F80. Затем объект сохраняется в переменной $ScriptObj .

Вторая команда утверждает скрипт, хранящийся в переменной.

$ScriptObj = Get-CMScript -Id "DF8E7546-FD66-4A3D-A129-53AF5AA54F80"
Approve-CMScript -InputObject $ScriptObj

Пример 3. Массовое утверждение всех неутвержденных скриптов

Эта команда получает все скрипты в Configuration Manager, которые не утверждены. Затем он циклически просматривает каждый скрипт в массиве scripts . Если текущий пользователь не является автором сценария, он утверждает его.

$scripts = Get-CMScript -Fast | Where-Object { -not $_.ApprovalState }

$me = $env:userdomain + "\" + $env:username
foreach ( $script in $scripts ) {
  if ( $script.Author -ne $me ) {
    Approve-CMScript -InputObject $script
  }
}

Параметры

-Comment

Указывает комментарий об утверждении скрипта.

Type:String
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

-DisableWildcardHandling

Этот параметр обрабатывает подстановочные знаки как литеральные символы. Вы не можете объединить его с ForceWildcardHandling.

Type:SwitchParameter
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

-InputObject

Укажите объект скрипта для утверждения. Чтобы получить этот объект, используйте командлет Get-CMScript .

Type:IResultObject
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ScriptGuid

Укажите идентификатор сценария для утверждения. Формат является стандартным GUID.

Type:String
Position:Named
Default value:None
Required:True
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

Входные данные

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

Выходные данные

System.Object