我正在创build一个PowerShell脚本来修复或重新安装客户端远程基于用户input(下面的基本脚本示例):
$env:COMPUTERNAME = Read-Host 'Please enter hostname' $RepairReinstall = Read.Host ' 1: Repair Client 2: Re-install Client Answer' If (RepairReinstall -eq 1) { Write-Host " Repair Started" } If (RepairReinstall -eq 2) { Write-Host " Re-install Started" } Else { Write-Host " [WARNING] Please select whether you'd like to repair or re-install the client" }
如何在Else {}语句中重新加载/重新启动脚本; 理想情况下,我只想从$ RepairReinstall提示符重新启动,而不是再次提示$ env:COMPUTERNAME值。
我已经通过超级用户,ServerFault和谷歌search,但无法find一个合适的命令来执行此操作。 任何帮助/build议表示赞赏。
你需要的是一个do { ... } while( ... )循环:
$env:COMPUTERNAME = Read-Host 'Please enter hostname' Do { $RepairReinstall = Read.Host ' 1: Repair Client 2: Re-install Client Answer' If (RepairReinstall -eq 1) { Write-Host " Repair Started" break } If (RepairReinstall -eq 2) { Write-Host " Re-install Started" break } Else { Write-Host " [WARNING] Please select whether you'd like to repair or re-install the client" } } While ($true)
这将循环你的程序,直到任何两个break语句被执行