IIS と必要なすべての機能のインストールを自動化する Powershell スクリプトを作成することを目指しており、「Modules -> SetExecutionPolicy ...」に移動することなく PowerShell スクリプトを実行できるようにするバッチ ファイルも見つけました。管理しやすくなります。
私がやりたかったのは、「マシンでスクリプトの実行が有効になっていますか?」と尋ねるバッチ ファイルを作成することです。「はい、実行を有効にしています」、「いいえ、実行を有効にしていません」、「わかりません」のような 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
エラーを指摘して、修正するのを手伝ってもらえますか?
EDIT1: エラー メッセージは表示されません。空のコマンド ウィンドウが表示されるだけです。
EDIT2: Jubjub Bandersnatchからの簡単な回答で問題を解決しました、ありがとうございます!ひどいコードと単純なエラー (特にオプション 1 と 2 で見られるように) で申し訳ありません。もっと勉強して、より良い質問ができるようにします。みんなありがとう。:))
cls
Powershell -noexit -command "& {Set-ExecutionPolicy remotesigned -Force}"
Powershell -File c:\ScriptsIIS\IISInstallation.ps1
これはうまくいくはずです。