我希望创建一个脚本,该脚本接受来自命令行的输入,并基于第一个值,然后确定要提供的下一个参数。
例如确定要对密码更改操作执行一次运行还是批量运行:
./ script.ps1 -singleMODE-用户名-密码
./ script.ps1 -batchMODE-文件名
在学习Powershell时,我感到困惑的是什么?我看了Parameters并可以从命令行将其读入变量...但是如上所述,我想要的是具有一定逻辑的,我有点迷失了。有人可以向我介绍一下这是什么。...然后我可以继续进行谷歌搜索! :)
我在想我以某种方式结合了参数和函数,因此它会跳到不同的块...但是我正在猜测
任何帮助表示赞赏! :)
欢呼
答案 0 :(得分:3)
您需要的是参数集
这是一个具有功能的演示,但它与脚本同样有效(只需将param块放在顶部。)
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"