1

Допустим, у меня есть .ps1 с этим контентом (фактическое содержание не имеет значения):

param(
    [Parameter(Mandatory=$true)]
    [string]
    $someArgument
)

# Do something risky
Remove-Item "c:\path\$someArgument.txt"

Я хотел бы добавить в свой скрипт (или в любой другой метод) сообщение с подтверждением, которое можно отключить (по умолчанию).

.\myscript.ps1 "foo" -Confirm:$false

Как я могу это сделать ?

1 ответ1

3

С расширенными функциями вы можете использовать что-то, что называется ShouldProcess.

В верхней части вашего скрипта вы можете добавить атрибут с именем [CmdletBinding]

[CmdletBinding(

        SupportsShouldProcess=$true,

        ConfirmImpact="High"

    )]

Если у вас есть это, в теле вашей функции вам нужно использовать оператор if

if ($pscmdlet.ShouldProcess($thingIamGoingToChange))

Взгляните на справку about_advanced_functions и справку about_functions_cmdletbinding.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .