我的目标是创建我的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