1. ホーム
  2. powershell

[解決済み] PowerShellで「このシステムではスクリプトの実行が無効になっています」と言われる。

2022-03-19 01:19:35

質問

を実行しようとしています。 cmd からPowerShellスクリプトを呼び出すファイルです。 cmd.exe が、このエラーが発生します。

Management_Install.ps1 は、このシステムではスクリプトの実行が無効になっているため、読み込むことができません。

このコマンドを実行しました。

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

を実行すると Get-ExecutionPolicy を PowerShell から実行すると Unrestricted .

PS C:\Users\Administrator\> Get-ExecutionPolicy
Unrestricted


C:\ProjectsMicrosoft.Practices.ESBSourceSamplesManagement PortalInstallScripts> powershell .╱Management_Install.ps1 1

警告: x86 PowerShell を実行しています...

ファイル C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\Management_Install.ps1 このシステムでは、スクリプトの実行が無効になっているため、読み込むことができません。詳しくは、"をご覧ください。 get-help about_signing 詳しくはこちら

行番号:1 文字数:25

  • .\Management_Install.ps1 <<<< 1

    • CategoryInfo : NotSpecified: (:) [], PSSecurityException

    • FullyQualifiedErrorId : RuntimeException (ランタイムエクセプション)

C:\ProjectsMicrosoft.Practices.ESBSourceSamplesManagement PortalInstallScripts> PAUSE

何かキーを押して続ける . . .


システムは、Windows Server 2008R2です。

何が間違っているのでしょうか?

どうすればいいですか?

を使用している場合 Windows Server 2008 R2 では x64 x86 バージョンのPowerShellの両方が、実行ポリシーを設定する必要があります。両方のホストで実行ポリシーを設定しましたか?

として 管理者 PowerShellウィンドウに次のように入力することで、実行ポリシーを設定することができます。

Set-ExecutionPolicy RemoteSigned

詳しくは Set-ExecutionPolicy Cmdletの使用法 .

終了したら、次の方法でポリシーをデフォルト値に戻すことができます。

Set-ExecutionPolicy Restricted

エラーが表示される場合があります。

Access to the registry key
'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell' is denied. 
To change the execution policy for the default (LocalMachine) scope, 
  start Windows PowerShell with the "Run as administrator" option. 
To change the execution policy for the current user, 
  run "Set-ExecutionPolicy -Scope CurrentUser".

そのため、このようなコマンドを実行する必要があるかもしれません(コメントにあるように)。

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser