Cum se semnează scriptul powershell cu un certificat, ferestre pentru administratorii de sistem

Prezența unei semnături digitale dintr-un script sau dintr-un fișier executabil permite utilizatorului să se asigure că fișierul este original și că codul său nu a fost modificat de terți. PowerShell are, de asemenea, o abilitate încorporată de a semna fișierul de scriere * .ps1.

Puteți să semnați scriptul PowerShell utilizând un tip special de certificat CodeSigning. Acest certificat poate fi obținut de la o autoritate externă de certificare comercială, de la o companie internă de certificare sau de la un certificat cu auto-semnare (desigur, aceasta nu este cea mai bună opțiune).

Cum se semnează scriptul powershell cu un certificat, ferestre pentru administratorii de sistem

Instalați certificatul în magazinul local de certificate al computerului.

După ce certificatul este primit, vom configura politica de execuție a scriptului PowerShell, permițând executarea numai a scripturilor semnate. Valoarea politicii implicite (Restricted) blochează executarea oricărui script. Pentru a permite ca scripturile semnate să fie difuzate, puteți modifica tipul de politică la AllSigned sau RemoteSigned, diferența dintre acestea fiind că RemoteSigned necesită semnarea numai pentru scripturile primite de pe Internet.

Set-ExecutionPolicy AllSigned -Force

Într-un obiect separat, salvăm certificatul din magazinul local pentru utilizatorul curent:

$ cert = (Obțineți-ChildItem cert: \ CurrentUser \ my-CodeSigningCert) [0]

Apoi vom semna scenariul cu acest certificat:

Setați-AuthenticodeSignature -Certificate $ cert -FilePath C: \ PS \ test_script.ps1

Consiliul. Când creați un certificat cu auto-semnare pentru a semna codul utilizând certificatul New-SelfSignedCertificate. trebuie să specificați tipul certificatului CodeSigning:

New-SelfSignedCertificate -DnsName test1 -Signarea codului de tip

După generarea certificatului, va trebui să fie transferat de la containerul Intermediar la rădăcina de încredere din consola de administrare a magazinului de certificate (certmgr.msc).

Puteți semna acest script cu acest certificat:

Set-AuthenticodeSignature C: \ PS \ test_script.ps1 @ (gc Cert: \ LocalMachine \ My -DnsName test1 - codificare) [0]

Cum se semnează scriptul powershell cu un certificat, ferestre pentru administratorii de sistem
După ce scriptul PowerShell este semnat, se adaugă un bloc de semnătura semnătură în fișierul text psc script, înconjurat de linii

# SIG # Începeți blocul de semnătură
.
.
# SIG # Blocarea semnăturii

Cum se semnează scriptul powershell cu un certificat, ferestre pentru administratorii de sistem
Prima dată când încercați să porniți scriptul, va apărea un avertisment dacă selectați [A] Always run. Când executați scripturi care sunt semnate cu acest certificat, avertismentul nu va mai apărea.

Doriți să rulați software-ul de la acest editor de încredere?

Fișierul C: \ PS \ test_script.ps1 este publicat de CN = test1 și nu are încredere în sistemul dvs. Rulați numai scripturi de la editori de încredere.

Ce se întâmplă dacă schimba codul pentru un script PowerShell semnat? Lansarea sa va fi blocată, indicând faptul că conținutul scriptului a fost modificat.

C: \ PS \ test_script.ps1. Fișierul C: \ PS \ test_script.ps1 nu poate fi încărcat. Conținutul fișierului C: \ PS \ test_script.ps1 ar fi putut fi modificat de către un utilizator sau proces neautorizat, deoarece hash-ul fișierului nu se potrivește cu hash-ul stocat în semnătura digitală. Scriptul nu poate rula pe sistemul specificat.

Astfel, orice modificare a scriptului semnat va necesita re-semnarea acestuia.

PowerShell: Get-ADUser cmdlet pentru informații despre utilizatorii Active Directory

Primiți informații despre fusul orar curent și disponibilitatea KB2998527 pe computerele de domeniu

PowerShell: Get-ADComputer - obține informații despre computerele din Active Directory

Auditarea parolelor de utilizatori în Active Directory

Măsurarea IOPS a subsistemului disc utilizând PowerShell

Rezoluție: 1346 x 733 52 interogări. 0.424 sec 23.36 MB

MAXCACHE: 0,39 MB / 0,00033 sec

Articole similare