Firma de los scripts digitalmente en Windows PowerShell

Completado

Al usar Windows PowerShell scripts en el entorno de producción, debe haber un proceso de aprobación para verificar que esos scripts se han probado. El proceso de aprobación variará en función del tamaño de la organización y del nivel de burocracia, pero debe haber algún proceso de aprobación.

Una manera de formalizar el proceso de aprobación de los scripts usados en un entorno de producción es firmar digitalmente los scripts y usar la directiva de ejecución de scripts AllSigned . Al implementar esta directiva, los scripts modificados deben actualizarse con una nueva firma digital. Esto impide que los administradores u otro personal realicen cambios de script aleatorios. Por ejemplo, si su organización tiene un conjunto de scripts aprobados para administrar usuarios de Servicios de dominio de Active Directory (AD DS), esta configuración impedirá que el personal del departamento de soporte técnico modifique los scripts a propósito o por accidente.

Para añadir una firma digital a un script, debe tener un certificado de firma de código de confianza para todos los equipos que ejecutarán el script. Puede obtener un certificado de firma de código de confianza de una entidad de certificación pública. También puede obtener un certificado de firma de código de una entidad de certificación interna de confianza para los equipos.

Puede añadir una firma digital mediante el cmdlet Set-AuthenticodeSignature, como se muestra en el código siguiente:

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