我的目標是創建我的Powershell腳本,以自動安裝IIS和我們需要的所有功能,甚至找到一個批處理文件來啓用PowerShell腳本的執行,而無需繼續進行「模塊 - > SetExecutionPolicy ...」,使其更容易管理。嘗試自動執行安裝IIS 7.0的兩個腳本
我想要做的是創建一個BATCH文件,詢問「您的機器上是否啓用腳本執行?」我們有3個不同的答案,如下所示:「是的,我已啓用執行」,「不,我沒有啓用執行」和「我不知道」。根據答案,批處理執行所需的文件來安裝IIS。如果答案是數字1,只執行.ps1文件,如果答案是數字2或3,請首先執行.bat以啓用,然後執行.ps1文件。
因此,經過大量的研究,並試圖創建一個腳本,我不能拿出一個工程。正如你所看到的,那裏有很多錯誤,但我沒有足夠的腳本知識來完成這個。有人能幫我嗎?
@ECHO OFF
:BEGIN
CLS
CHOICE /N /C:123 /M "In your system: 1 - Scripts are enabled. 2 - Scripts are disabled. 3 - I dont know (1, 2, or 3)"%1
IF ERRORLEVEL ==3 GOTO THREE
IF ERRORLEVEL ==2 GOTO TWO
IF ERRORLEVEL ==1 GOTO ONE
:THREE
CALL c:\ScriptsIIS\IISInstallation.ps1
CALL c:\ScriptsIIS\IISInstallation.ps1
ECHO Installation finished.
:TWO
CALL c:\ScriptsIIS\IISInstallation.ps1
CALL c:\ScriptsIIS\ScriptEnableExecution.bat
ECHO Installation finished.
:ONE
CALL c:\ScriptsIIS\ScriptEnableExecution.bat
ECHO Installation finished.
PAUSE
你們可以請指出錯誤並幫我糾正它嗎?
編輯1:我沒有收到錯誤消息,我只是得到一個空的cmd窗口。
編輯2:解決了這個問題,從Jubjub Bandersnatch的簡單答案,謝謝!對於可怕的代碼和簡單的錯誤數量(如選項1和2等),我會學習更多,所以我可以提出更多的問題。多謝你們。 :))
cls
Powershell -noexit -command "& {Set-ExecutionPolicy remotesigned -Force}"
Powershell -File c:\ScriptsIIS\IISInstallation.ps1
這一個應該工作。
結果我現在正在按下「1」,「2」或「3」後,只是一個空的cmd窗口。 我放置了goto:eof,並且在按下其中一個選項後仍然會看到一個空的cmd窗口。 – InLoveWithPs1
您無法從批處理中調用ps1文件。您必須使用powershell.exe -file script.ps1例如 –
哦,謝謝,讓我試試它,然後編輯問題中的代碼。 (也是我注意到的「:THREE」標籤上的一個錯誤) – InLoveWithPs1