Se vi capita di ricevere l’errore della Figura 1 è perché il vostro file ps1 non ha la firma digitale.

Anzitutto bisognerà creare un certificato autofirmato per il proprio utente che ci servirà per firmare lo script:
$NomeCertificato = "Certificato autofirmato per firma script" $NomeFilePfx = ".\CertificatoAutofirmato-"+(Get-Date -UFormat "%Y%m%d")+"-"+(Get-Date -UFormat "%H%M%S")+".pfx" $LaMiaPassword = Read-Host "Inserire una password per il certificato autofirmato" -AsSecureString New-SelfSignedCertificate -subject $NomeCertificato -Type CodeSigning | Export-PfxCertificate -FilePath $NomeFilePfx -password $LaMiaPassword Write-Output "Creato certificato PFX $NomeCertificato" Write-Output "Nome file: $NomeFilePfx"
Per verificare il certificato autofirmato:
certutil $NomeFilePfx
A questo punto si dovrà firmare digitalmente il file FileDaFirmare.ps1:
$MioCertificatoPfx = Get-PfxCertificate -FilePath $NomeFilePfx Set-AuthenticodeSignature -PSPath .\FileDaFirmare.ps1 -Certificate $MioCertificatoPfx Write-Host "Non dimenticare di salvare il file ps1 in formato UTF-8"
Ora il file di testo FileDaFirmare.ps1 avrà una nuova sezione contenente la firma: