Oto przykładowe polecenia, które uruchamiam:
PS C:\> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Unrestricted
PS C:\> Set-ExecutionPolicy Unrestricted -Scope CurrentUser
PS C:\> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Unrestricted
Chcę, aby ustawić CurrentUser
się Unrestricted
, ale nie wydaje się to zrobić. Poszukałem zasad grupy zgodnie z opisem w tym dokumencie MSDN , ale nie znalazłem niczego, co zostało skonfigurowane.
Wszelkie wskazówki, jak to ustawić?
powershell
windows-10
CamronBute
źródło
źródło
Odpowiedzi:
Jak wszyscy inni powiedzieli, to wydaje się być błędem w wersji zapoznawczej systemu Windows 10. Uruchomiłem go, podając po prostu parametr -Force.
Ustawienie dla komputera lokalnego:
Set-ExecutionPolicy RemoteSigned -Force
Ustawienie dla bieżącego użytkownika:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
źródło
To wydaje się być błędem w systemie Windows 10. Musiałem utworzyć klucz
HKEY_CURRENT_USER\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
i utworzyć wartość ciągu w tym kluczu wywoływanymExecutionPolicy
z danymi,Unrestricted
zanim zadziała. Nawet wtedy nie mogę tego zmienić bez modyfikacji rejestru.źródło
Set-ExecutionPolicy
nie działa?Miałem bardziej ogólny problem z polityką PowerShell niż PO, ale kombinacja odpowiedzi tutaj i gdzie indziej okazała się potrzebna, aby moja Win10 Anniversary Edition poprawnie zaktualizowała swoje zasady:
1) Upewnij się, że ten wpis rejestru istnieje i jest ustawiony na najniższym poziomie bezpieczeństwa, na który chcesz zezwolić:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
Name:ExecutionPolicy
Type: REG_SZ
Data:Unrestricted
2) Upewnij się, że ten wpis rejestru istnieje i jest ustawiony na najniższym poziomie bezpieczeństwa, na który chcesz zezwolić:
HKLM:\Software\Policies\Microsoft\Windows\PowerShell
Name:ExecutionPolicy
Type: REG_SZ
Data: Unrestricted
3) Zaktualizuj swoje zasady grupy przez uruchom
gpedit.msc
i przejdź doComputer Configuration > Administrative Templates > Windows Components > Windows PowerShell
Wybierz
Turn on Script Execution
, a następnie Edytuj zapolicy setting
pomocąEnabled
iw polu poniżej, które mówiExecution Policy
, ustaw naAllow All Scripts
Po tym wszystkim możesz użyć odpowiedzi ddcruver, wymuszając aktualizację swoich zasad w zależności od tego, czego chcesz. Jeśli ustawisz swoje zasady na Nieograniczone, radzę ustawić wszystkie ustawienia, które się pojawiają,
Get-ExecutionPolicy -List
na coś bardziej restrykcyjnego, na przykładRemoteSigned
, ponieważ złośliwe skrypty PowerShell są jedną z głównych przyczyn złośliwego oprogramowania Windows wykorzystującego pamięć.źródło
Nie widzę błędu w mojej instalacji systemu Windows 10. Po prostu przeszedłem instalację za pomocą VMWare Workstation 11 i zbudowałem maszynę wirtualną. Uruchomiłem następujące bez wcześniejszych zmian:
Jeśli chcesz poznać wersję systemu Windows 10, mam:
10.0.10074
źródło
Musisz uruchomić PowerShell z podwyższonym trybem przed zmianą zasad wykonywania
źródło
Odkryłem, że klucz rejestru znajduje się pod adresem
został ustawiony na
RemoteSigned
. Ustawienie wartościUnrestricted
działało dla mnie.źródło