Cara mengatur ExecutionPolicy: akses ke kunci registri ditolak


22

Saya menjalankan Windows Server 2008 sebagai admin dan saya mencoba mengatur ExecutionPolicy sebagai Remotesigned untuk PowerShell v2 seperti ini:

Set-ExecutionPolicy RemoteSigned

Tapi saya mendapat kesalahan ini:

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

Bagaimana cara memperbaikinya?

Jawaban:


24

Klik kanan pada pintasan Powershell dan pilih 'Jalankan sebagai Administrator'


5
Perhatikan juga bahwa jika Anda memiliki OS 64-bit, Anda perlu menetapkan kebijakan eksekusi untuk PowerShell versi 32-bit dan 64-bit.
Joey

Anda tidak perlu menjalankannya sebagai admin, jalankan saja -Scope CurrentUsersesuai dengan jawaban Janus
CharlesB

12

Stephen Jennings sebagai balasan untuk pertanyaan yang sama di StackOverflow:

Set-ExecutionPolicy Unrestricted -Scope CurrentUser

Ini akan menetapkan kebijakan eksekusi untuk pengguna saat ini (disimpan di HKEY_CURRENT_USER) daripada mesin lokal (HKEY_LOCAL_MACHINE).


3
Terima kasih. Ini adalah jawaban yang benar, tidak semua orang memiliki hak administrator, tetapi ini masih berfungsi.
Charles Clayton

4

Dalam hal "Jalankan sebagai Administrator" tidak berfungsi untuk Anda (tidak untuk saya pada awalnya) atau jika Anda menginginkan solusi permanen, saya menemukan perbaikan dengan menambahkan izin langsung ke registri windows. Setelah melakukan ini ketika saya menelepon get-ExecutionPolicy tidak lagi dibatasi.

Ini setara dengan set-ExecutionPolicy RemoteSigned, dengan itu benar-benar berfungsi.

Menulis tentang itu di sini: http://kyleclegg.com/powershell/

Semoga ini membantu.


0

Saya menemukan bahwa satu-satunya solusi untuk kesalahan ini yang berhasil bagi saya adalah menjalankan regedt32 & menelusuri ke kunci lalu mengubah izin untuk pengguna dari membaca ke kontrol penuh. Izin lokal di server lebih diutamakan dari hak admin domain.


Bukan jawaban yang benar-benar bagus, mengingat dua jawaban lainnya sudah ada ...
HopelessN00b
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.