Powershell相當新穎。我正在開發一個腳本,讓用戶安裝不同的軟件。此過程目前正在手動完成,安裝所需的所有內容可能需要30-45分鐘。但是,並非所有工作站都需要安裝,因此我需要爲用戶提供靈活性。這是我到目前爲止所提出的。 (爲了簡潔起見)如何通過腳本循環讓用戶選擇不同的選項?
$Software1Path = "Path to installer"
$Software2Path = "Path to installer"
$Software3Path = "Path to installer"
function Software1 {
$Software1Arguments = "/S"
Start-Process -FilePath $Software1Installer $Software1Arguments -Wait
InstallOptions
}
function Software2 {
$Software2Arguments = "/silent"
Start-Process -FilePath $Software2Installer $Software2Arguments -Wait
InstallOptions
}
function Software3 {
$Software3Arguments = "/passive"
Start-Process -FilePath $Software3Installer $Software3Arguments -Wait
InstallOptions
}
function InstallOptions {
Do {
Clear-Host
Write-Host('1. Install Software1')
Write-Host('2. Install Software1')
Write-Host('3. Install Software1')
Write-Host('4. Install All Three')
Write-Host('0. Exit')
$value = Read-Host 'Input your selection (0-3)'
}
Until ($value -eq "o"){
switch ($value) {
"0" {exit}
"1" { Software 1}
"2" { Software 2}
"3" { Software 3}
"4" { Software1
Software2
Software3}
}
}
}
它沒有給出期望的結果。我可以安裝一個軟件,但腳本退出,我也不能安裝所有三個。我玩過InstallOptions並以十種不同的方式寫出來,但我仍然沒有得到理想的結果。有什麼建議麼?
遞歸每次你安裝的東西 –
那是因爲你叫什麼InstallOptions將循環更好的方式回到我的身邊來了「菜單」? – MBH
好吧,如果我正在做這件事,我會完全重新設計的方法,tbh,沒有一點嘗試使這更好 – 4c74356b41