我正在撰寫一個用于啟用某些 Windows 功能的 powershell 腳本。它看起來像這樣:
...
Enable-WindowsOptionalFeature -Online -FeatureName "IIS-WebServerRole"
Enable-WindowsOptionalFeature -Online -FeatureName "IIS-WebServer"
Enable-WindowsOptionalFeature -Online -FeatureName "IIS-FTPServer"
...
在此腳本中,有多個命令可以啟用需要重新啟動的 Windows 功能。所以我注意到的是,在 powershell 中它啟用了一些東西,然后是我啟用需要重啟的東西的最后 4 行,它不斷提示我在 powershell 中重新啟動計算機。所以我必須經常說“不”,否則它會在腳本中的所有命令執行之前重新啟動計算機:

我的問題是,在我的腳本中,我如何等到所有命令都執行完畢,然后才會提示重新啟動我的電腦?我嘗試在命令中添加“Wait-Process”和“-Wait”標簽,但出現如下錯誤:

有誰知道我可以等待所有命令執行然后才有重啟提示的方法?提前致謝!
uj5u.com熱心網友回復:
Enable-WindowsOptionalFeature有一個-NoRestart開關。描述為:
禁止重新啟動。如果不需要重新啟動,則此命令不執行任何操作。此選項將阻止應用程式提示重新啟動或阻止它自動重新啟動。
uj5u.com熱心網友回復:
要以@zdan 的回答為基礎,請使用該-NoRestart標志。您可以省略-NoRestart最后一個功能,也可以自己執行提示,這使您可以使用替代邏輯模式來安裝所需功能的串列:
'IIS-WebServerRole', 'IIS-WebServer', 'IIS-FTPServer' | ForEach-Object {
Enable-WindowsOptionalFeature -Online -FeatureName $_ -NoRestart
}
if( ( Read-Host -Prompt "Would you like to reboot to complete feature installation? (y/n)" ) -match '^y' ) {
Restart-Computer -Force
}
或者,如果您想保持簡單并且在提示重新啟動之前不需要自定義提示文本,只需使用-Confirm開關Restart-Computer以獲得重新啟動提示:
'IIS-WebServerRole', 'IIS-WebServer', 'IIS-FTPServer' | ForEach-Object {
Enable-WindowsOptionalFeature -Online -FeatureName $_ -NoRestart
}
Restart-Computer -Confirm -Force
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/472132.html
