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?

atricapilla
sumber

Jawaban:

24

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

pengguna25572
sumber
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).

Janus
sumber
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.

Kyle
sumber
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.

tandai shelton
sumber
Bukan jawaban yang benar-benar bagus, mengingat dua jawaban lainnya sudah ada ...
HopelessN00b