Când încercați să executați un script PowerShell care nu a fost semnat de un editor de încredere, este posibil să primiți următoarea eroare de securitate:
„script.ps1 :Fișierul path\script.ps1 nu poate fi încărcat. Fișierul path\script.ps1 nu este semnat digital. Nu puteți executa acest script pe sistemul curent.”

Această eroare de securitate poate apărea atunci când politica de execuție PowerShell este setată la Allsigned sau Remotesigned și scriptul nu este semnat.

Politica de execuție Allsigned permite executarea tuturor scripturilor Powershell care sunt semnate. Înainte de a executa scriptul, vi se va solicita să confirmați că aveți încredere în editorul care a semnat scriptul.

Politica de execuție la distanță restricționează executarea scripturilor descărcate care nu sunt semnate. Scripturile care sunt executate de pe calculatorul local nu trebuie să fie semnate.

Soluție

Există diferite metode pentru a depăși această eroare. Puteți alege fie să semnați scriptul PowerShell, fie să modificați politica de execuție, fie să ocoliți politica sau să deblocați fișierul astfel încât acesta să poată fi executat o singură dată în acea sesiune.

Verificați politica de execuție

În primul rând, verificați politica de execuție utilizând cmdlet Get-ExecutionPolicy

PS C:\> Get-ExecutionPolicyAllSigned

Parametrul list din cmdlet Get-ExecutionPolicy vă indică politica de execuție pentru fiecare domeniu de aplicare.

PS C:\> Get-ExecutionPolicy -list Scope ExecutionPolicy ----- --------------- MachinePolicy Undefined UserPolicy Undefined Process Undefined CurrentUser Undefined LocalMachine RemoteSigned

Politica de execuție implicită pentru toate versiunile Windows, cu excepția Windows 2012 R2, este Restricted. Politica de execuție implicită în Windows 2012 R2 este RemoteSigned.

Schimbarea permanentă a politicii de execuție

Metoda cea mai simplă, dar nesigură, de a scăpa de acest mesaj de eroare este de a schimba ExecutionPolicy utilizând cmdlet-ul SetExecutionPolicy. Următoarea comandă setează execution policy la unrestricted.

PS C:\> Set-ExecutionPolicy unrestricted

Presați Y pentru a confirma modificarea atunci când vi se solicită. Modificarea politicii este actualizată în registru și va rămâne până când o modificați din nou.

Schimbarea politicii de execuție temporar

În loc să schimbați permanent politica de execuție, ați putea seta o politică diferită pentru o singură sesiune PowerShell. Acest lucru se face utilizând parametrul ExecutionPolicy din powershell.exe

Deschideți un prompt de comandă sau PowerShell și rulați comanda:

C:\> powershell.exe -executionpolicy -bypass

Comanda de mai sus deschide o sesiune PowerShell cu politica de execuție pentru acea sesiune setată la Bypass, ceea ce înseamnă că nimic nu este blocat.

Deblocarea unui fișier care a fost descărcat

Când politica de execuție este RemoteSigned, fișierele care sunt descărcate de pe internet (sau din e-mailuri) sunt blocate pentru a vă proteja de rularea scripturilor nesigure. Dacă aveți încredere că conținutul scriptului este sigur, atunci îl puteți debloca pentru a fi executat în sesiunea dvs. utilizând cmdlet Unblock-File

PS C:\> Unblock-File -Path C:\Downloads\script1.ps1

După ce ați schimbat permanent sau temporar politica de execuție pentru o sesiune sau un anumit script, puteți continua să executați scriptul, dar înainte de a face acest lucru asigurați-vă că conținutul scriptului nu vă dăunează computerului

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.