web-dev-qa-db-ja.com

ExecutionPolicyの設定方法:レジストリキーへのアクセスが拒否されました

Windows Server 2008を管理者として実行していて、次のようにPowerShell v2のExecutionPolicyをRemotesignedに設定しようとしました。

Set-ExecutionPolicy RemoteSigned

しかし、私はこのエラーを受け取りました:

Set-ExecutionPolicy : Access to the registry key 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft
.PowerShell' is denied.
At line:1 char:20
+ Set-ExecutionPolicy <<<<  RemoteSigned
    + CategoryInfo          : NotSpecified: (:) [Set-ExecutionPolicy], UnauthorizedAccessException
    + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyComma
   nd

これを修正するには?

22
atricapilla

Powershellショートカットを右クリックし、「管理者として実行」を選択します

24
user25572

StackOverflowの 同じ質問 に答えたStephen Jennings:

Set-ExecutionPolicy Unrestricted -Scope CurrentUser

これにより、ローカルマシン(HKEY_LOCAL_MACHINE)ではなく、現在のユーザー(HKEY_CURRENT_USERに格納されている)の実行ポリシーが設定されます。

12
Janus

「管理者として実行」が機能しない場合(最初は私には適していませんでした)、または永続的な解決策が必要な場合は、Windowsレジストリに直接アクセス許可を追加することで解決策を見つけました。これを行った後、get-ExecutionPolicyを呼び出したときに、制限が解除されなくなりました。

これはset-ExecutionPolicy RemoteSignedに相当し、実際に機能します。

それについてここに書いてください: http://kyleclegg.com/powershell/

お役に立てれば。

4
Kyle

このエラーの唯一の解決策は、regedt32を実行してキーにドリルダウンし、ユーザーのアクセス許可を読み取りからフルコントロールに変更することでした。サーバーのローカル権限は、ドメイン管理者権限よりも優先されます。

0
mark shelton