PowerShell вызовите script с параметром без значения, например script с параметрами

Можно ли вызвать PowerShell script с параметрами? Как параметр без значения.

Например, в настоящее время я использую:

param (
    $lastmonth=0
);

в script. Теперь я могу использовать вызов

script.ps1 -lastmonth 1

или

script.ps1 

и использовать $lastmonth для управления потоком.

Но я бы хотел, чтобы такие звонки, как

script.ps1 -lastmonth

и

script.ps1

и управлять потоком в зависимости от того, был ли задан или задан месяц.

Ответ 1

Задайте тип вашего параметра [switch], например.

param (
    [switch]$lastmonth
);

ИЗМЕНИТЬ: Обратите внимание, что переменная будет логической. Вы можете проверить его как:

if ($lastMonth) {
    Write-Host "lastMonth is set."
}
else {
    Write-Host "lastMonth is not set."
}

(спасибо Крису)