Het ondertekenen van een PowerShell (PS1)-scriptbestand verbetert het vertrouwen en de veiligheid door de identiteit van de uitgever te valideren en ervoor te zorgen dat er niet met het script is geknoeid. U kunt als volgt een PowerShell-script ondertekenen:
Vereisten :
- U moet een certificaat voor codeondertekening hebben. Als u er geen heeft, kunt u een zelfondertekend certificaat verkrijgen of er een aanschaffen bij een vertrouwde certificeringsinstantie (CA).
- Zorg ervoor dat het PowerShell-script syntactisch correct en foutloos is.
Stappen voor het ondertekenen van een PowerShell-script :
1. Genereer een certificaat :
- Open de Windows PowerShell ISE (Integrated Scripting Environment) of een gewone PowerShell-console.
- Typ de volgende opdracht om een zelfondertekend certificaat voor codeondertekening te genereren:
```powershell
Nieuw-SelfSignedCertificate -DnsName [UwDomein] -CertStoreLocation Cert:\CurrentUser\Mijn
```
Vervang [UwDomein] door uw domeinnaam.
2. Exporteer het certificaat :
- Typ de volgende opdracht om het nieuw gemaakte, zelfondertekende certificaat te exporteren als een .pfx-bestand:
```powershell
Export-PfxCertificate -Cert [ThumbprintOfTheCertificate] -FilePath [OutputFilePath].pfx -Wachtwoord [Wachtwoord]
```
Vervang [ThumbprintOfTheCertificate] door de vingerafdruk van uw nieuw aangemaakte certificaat.
Vervang [OutputFilePath] door de gewenste locatie voor het geëxporteerde .pfx-bestand.
Vervang [Wachtwoord] door een sterk wachtwoord voor het .pfx-bestand.
3. Onderteken het script :
- Typ de volgende opdracht om uw script te ondertekenen. Vervang [ScriptPath] door het volledige pad naar uw PowerShell-scriptbestand (.ps1):
```powershell
Set-AuthenticodeSignature -FilePath [ScriptPath] -Certificaat ([Get-ChildItem -Path Cert:\CurrentUser\Mijn | Waar { $_.Subject -match 'CN=[UwDomein]' }) | Selecteer -Index 0) -Wachtwoord [Wachtwoord]
```
Vervang [ScriptPath] door het volledige pad naar uw PowerShell-scriptbestand (.ps1).
Vervang [Wachtwoord] door het wachtwoord dat u hebt gebruikt bij het exporteren van het .pfx-bestand.
4. Valideer de handtekening :
- Typ de volgende opdracht om de scripthandtekening te verifiëren:
```powershell
Get-AuthenticodeSignature -FilePath [Scriptpad]
```
Dit bevestigt dat het script is ondertekend en gevalideerd.
Aanvullende opmerkingen :
- Wanneer het ondertekende script wordt uitgevoerd, ontvangt de gebruiker een prompt waarin wordt gevraagd de uitgever te vertrouwen. Door het codeondertekeningscertificaat in hun vertrouwde rootstore te installeren of door dit als uitzondering toe te staan, kunnen gebruikers het script als betrouwbaar accepteren.
- Als u een zelfondertekend certificaat gebruikt, wordt er een beveiligingswaarschuwing weergegeven. Om het vertrouwen te vergroten, kunt u uw certificaat laten ondertekenen door een vertrouwde CA zoals VeriSign of DigiCert.
- Het ondertekende script kan veilig door anderen worden gedeeld en gebruikt. Wanneer een ondertekend script wordt uitgevoerd, worden de gegevens van de uitgever weergegeven, waardoor de zekerheid wordt geboden dat het script niet is gewijzigd of gecompromitteerd. |