Поделиться через


UseShouldProcessForStateChangingFunctions

уровень серьезности : предупреждение

Описание

Функции, команды которых изменяют состояние системы, должны поддерживать ShouldProcess. Чтобы включить функцию ShouldProcess, задайте аргумент SupportsShouldProcess в атрибуте CmdletBinding. Аргумент SupportsShouldProcess добавляет в функцию подтверждение и параметры WhatIf. Параметр Confirm запрашивает пользователя перед выполнением команды для каждого объекта в конвейере. Параметр WhatIf содержит изменения, внесенные командой, вместо выполнения команды.

Команды, которые должны поддерживать ShouldProcess:

  • New
  • Set
  • Remove
  • Start
  • Stop
  • Restart
  • Reset
  • Update

Как

Включите аргумент SupportsShouldProcess в атрибут CmdletBinding.

Пример

Неправильный

function Set-ServiceObject
{
    [CmdletBinding()]
    param
    (
        [string]
        $Parameter1
    )
    ...
}

Правильно

function Set-ServiceObject
{
    [CmdletBinding(SupportsShouldProcess = $true)]
    param
    (
        [string]
        $Parameter1
    )
    ...
}

Дополнительные сведения