У меня есть скрипт .ps1, в котором есть несколько функций.Вместо того, чтобы запускать их все сразу, я бы хотел, чтобы пользователь мог указать, какие функции он хотел бы запустить.например: ./script.ps1 -func1 -func2 или ./script.ps1 -All
Я могу заставить его работать, просто сравнивая введенный пользователем параметр с именем функции, но проблема в том, что я хотел быпользователь может поставить его в любом порядке.
Вот то, что я сейчас работаю, но я не уверен, смогу ли я каким-то образом его оптимизировать.
[CmdletBinding()]
Param(
[Parameter(Mandatory=$false)][String]$Param1,
[Parameter(Mandatory=$false)][String]$Param2
)
function Test
{
Write-Host "Test Success"
}
function All
{
Write-Host "All Success"
}
If ($Param1 -eq "Test" -or $Param2 -eq "Test")
{
Test
}
If ($Param1 -eq "All" -or $Param2 -eq "All")
{
All
}
Вместо этогоя просто смотрю, как пользователь вводит функцию в качестве параметра.
Я уверен, что есть способ сделать это с помощью переключателя или массива.но я не большой программист.