0

PowerShell スクリプトの実行を許可するために、バッチ ファイルを使用してPowerShell に実行ポリシー権限を設定しています。

Windows PowerShell にはRestricted、既定で実行ポリシーがあります。はい、昇格された (管理者) 権限で PowerShell を起動し、ポリシーをUnrestricted手動で設定できます。

ここで問題は、手動で設定できる場合、バッチ ファイルを介して設定するのが理にかなっているということです。

スクリプト ファイルを複数のマシンで実行する必要がある場合 (テスト目的など)、各マシンにポリシー権限を手動で設定するのは面倒です。人にとっては大した作業ではありませんが、ユーザーにこの設定を自分で行うように依頼すると、オーバーヘッドになる可能性があります。一部のユーザーは、物事を機能させるためにできる限り最小限のことを行うことを好みます。

したがって、ユーザーは、ポリシー権限を自動的に設定する管理者権限でバッチ ファイルを実行するだけで済みます。バッチ ファイルと PowerShell スクリプトの両方が同じフォルダーにあるため (推奨)、スクリプトを実行するパスは問題になりません。

これは、これまでにバッチ (.bat) ファイルで試したことです。

powershell.exe -Set ExecutionPolicy Unrestricted -FILE file.ps1 "args[0]" "args[1]"....

はPowerShellfile.ps1スクリプトの名前でargs[0]、 , args[1],.... はスクリプトに渡されるオプションの引数です。

ここで機能していないのは、実行ポリシーだけです。構文の問題でもある可能性があります。お知らせ下さい。

4

2 に答える 2

1

これは私のために働いた解決策です。

@powershell -ExecutionPolicy Unrestricted -FILE file.ps1 "args[0]" "args[1]" "args[2]"

最終的に、お気づきのように、問題は構文にありました。

于 2012-09-27T11:02:38.847 に答える