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


22

私は管理者として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

これを修正する方法は?

回答:


24

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


5
また、64ビットOSを使用している場合、32ビット版と64ビット版の両方のPowerShellの実行ポリシーを設定する必要があることに注意してください。
ジョーイ

あなただけでそれを実行し、管理者として実行する必要はありません-Scope CurrentUserヤヌスの答えが示唆するように
CharlesB

12

StackOverflowでの同じ質問に対する返信でのStephen Jennings :

Set-ExecutionPolicy Unrestricted -Scope CurrentUser

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


3
ありがとう。これは正しい答えです。全員に管理者権限があるわけではありませんが、これでも機能します。
チャールズクレイトン14

4

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

set-ExecutionPolicy RemoteSignedと同等であり、実際に機能します。

ここでそれについて書いた:http : //kyleclegg.com/powershell/

お役に立てれば。


0

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


他の2つの答えが既に存在することを考えると、本当に良い答えではありません...
HopelessN00b
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.