Signer scripts digitalt i Windows PowerShell

Fuldført

Når du bruger Windows PowerShell-scripts i dit produktionsmiljø, skal der være en godkendelsesproces for at bekræfte, at disse scripts er blevet testet. Godkendelsesprocessen vil variere afhængigt af organisationens størrelse og niveauet af bureaukrati, men der bør være en vis godkendelsesproces.

En måde at formalisere godkendelsesprocessen for scripts, der bruges i et produktionsmiljø, er ved at signere scripts digitalt og bruge politikken AllSigned scriptudførelse. Når du implementerer denne politik, skal eventuelle ændrede scripts opdateres med en ny digital signatur. Dette forhindrer administratorer eller andre medarbejdere i at foretage tilfældige scriptændringer. Hvis din organisation f.eks. har et sæt godkendte scripts til administration af AD DS-brugere (Active Directory Domain Services), forhindrer denne konfiguration helpdesk-medarbejdere i at ændre scripts enten med vilje eller ved et uheld.

Hvis du vil føje en digital signatur til et script, skal du have et certifikat til kodesignering, som alle computere, der kører scriptet, har tillid til. Du kan få et certifikat til kodesignering, der er tillid til, fra et offentligt nøglecenter. Du kan også hente et certifikat til kodesignering fra et internt nøglecenter, som computerne har tillid til.

Du tilføjer en digital signatur ved hjælp af cmdlet'en Set-AuthenticodeSignature som vist i følgende kode:

$cert =  Get-ChildItem -Path "Cert:\CurrentUser\My" -CodeSigningCert
Set-AuthenticodeSignature -FilePath "C:\Scripts\MyScript.ps1" -Certificate $cert