powershell参数命令行菜单

powershell parameters command line menu

我想创建一个脚本,它接受来自命令行的输入并根据第一个值确定下一个提供的参数。

例如确定您是要对密码更改操作执行单个 运行 还是批量 运行:

./script.ps1 -singleMODE -UserName -Password

./script.ps1 -batchMODE -filename

我在学习Powershell的时候很困惑,这是什么?我查看了参数并可以从命令行将它们读入变量...但是我上面想要的有一些逻辑,我有点迷路了。有人能告诉我这叫什么吗……然后我就可以继续我的谷歌搜索了! :)

我在想我以某种方式结合了参数和函数,所以它会轻弹到不同的块...但我猜

感谢任何帮助! :)

干杯

你需要的是参数集

这是一个带有函数的演示,但它与脚本一起使用效果一样好(只需将参数块放在顶部即可。)

function Demo {
    param(
        [Parameter(ParameterSetName='Funk')][switch]$Funk,
        [Parameter(ParameterSetName='Rock')][switch]$Rock,
        [Parameter(ParameterSetName='Funk')][string]$WriteFunk,
        [Parameter(ParameterSetName='Rock')][string]$WriteRock
    )
    if($Funk){
        foreach ($C in $WriteFunk.ToCharArray()){
            $N = 0..15 | Get-Random
            Write-Host $C -ForegroundColor $N -BackgroundColor $(15-$N) -NoNewline
        }
        Write-Host ''
    }
    if($Rock){
        Write-Host $WriteRock -ForegroundColor Gray -BackgroundColor DarkGray
    }
}

Demo -Funk -WriteFunk "Melt your brain"
Demo -Rock -WriteRock "Riders on the storm"