Es posible que tengáis la necesidad de realizar la instalación de certificados de empresa o personales a vuestros usuarios, sino tenéis ninguna herramienta especializada para ello, os voy a mostrar lo sencillo que es hacerlo con Intune. El proceso es muy sencillo:
- Exportamos el certificado a importar con su clave privada
- Crearemos un pequeño script en PowerShell para realizar su instalación
- Empaquetamos en .intunewin todos los ficheros
- Creamos un grupo de seguridad de AzureAD/On-Premises para filtrar a quien se la instalará el certificado
- Crearemos una app en Intune y la publicamos
El proceso es súper sencillo, en muy similar al que había explicado en su momento utilizando GPO [Cómo instalar certificados personales vía Directivas de Grupo], aquí la infografía del proceso con Intune:
Dicho todo esto, os voy a dejar los scripts que voy a utilizar para realizar la instalación y también la desinstalación de un certificado digital vía Intune. Además, utilizaremos otro script para utilizar en las reglas de detección de la app que vamos a crear para asegurarnos de que el certificado esté instalado e Intune así nos lo informe:
PS instalación del certificado [Intune-Ins-Certificates.ps1]: tenéis que especificar en la variable $SecureString la contraseña que le habéis configurado a vuestro certificado cuando lo habéis exportado
$SecureString = ConvertTo-SecureString “password” -AsPlainText -Force
Import-PfxCertificate -FilePath Certificado.pfx -CertStoreLocation cert:\CurrentUser\My -Password $SecureString
PS desinstalación del certificado [Intune-Ins-Certificates-Delete.ps1]: debéis sustituir la palabra Thumbprint por el Thumbprintde vuestro certificado, podéis conseguirlo con el siguiente cmdlet: Get-ChildItem -Path cert:\CurrentUser\My -Recurse
Remove-Item -Path cert:\CurrentUser\My\Thumbprint
PS regla de detección para Intune [Intune-Ins-Certificates-DR.ps1]: debéis sustituir la palabra Thumbprint por el Thumbprintde vuestro certificado, podéis conseguirlo con el siguiente cmdlet: Get-ChildItem -Path cert:\CurrentUser\My -Recurse
$Thumbprint = $Certificado = “cert:\CurrentUser\My\Thumbprint“
$ExisteCertificado = Test-path $Thumbprint
if ($ExisteCertificado -eq “True”)
{
Write-Host “El certificados se ha instalado correctamente”
Exit 0
}
else
{
Write-Host “El certificado no se ha instalado”
Exit 1618
}
Una vez que tenemos ambos script por separado, los dejamos todos en un carpeta incluyendo el certificado que queremos instalar a los usuarios y creamos nuestro paquete .intunewin. Ahora, crearemos un grupos de seguridad de AzureAD por cada certificado distintos que vayamos a desplegar, así se lo podemos asignar a diferentes usuarios: “Grp Az Intune App Certificado Empresa“.
Una vez que ya tenemos todo listo, cogemos el paquete .intunewim y lo subimos a Intune con la siguiente configuración:
- Nombre: Certificado XXXX
- Mostrar en el Portal de Empresa: Si
Comandos de instalación y desinstalación:
- Instalación: PowerShell -ExecutionPolicy Bypass -File Intune-Ins-Certificates.ps1
- Desinstalación: PowerShell -ExecutionPolicy Bypass -File Intune-Ins-Certificates-Delete.ps1
Reglas de detección: manual utilizando el script comentado anteriormente
Modo de asignación: aquí que cada uno elija lo que sea más cómodo, si elegimos Requerid se le instalará automáticamente el certificado a los usuarios miembros del grupo que hemos creado anteriormente. En mi caso, he elegido Available for enrolled devices y así el usuario lo podrá instalar cuando quiera.
Nota: si queréis que se desinstale automáticamente para tener controlado que usuario tiene el certificado instalado os creáis otro grupo de seguridad [Grp Az Intune App Certificado Empresa Quitar] y lo configuración con el modo de asignación Uninstall.
Ahora que ya lo tengo publicado, mis usuarios lo pueden encontrar en el Portal de Empresa e instalarlo cuando ellos quieran:
En cuestión de segundos el usuario tendrá el certificado instalado, desde la consola del Portal de Empresa nos mostrará si el proceso se ha completado correctamente o no:
Por último, para comprobarlo en la sesión del usuario abrimos el contenedor de certificados de usuario [certmgr.msc] y comprobamos si lo tenemos instalado:
Como veis es un proceso muy sencillo y útil, sobre todo sino tenéis alguna herramienta profesional de gestión de certificados.
Ahora, como siempre, os toca probarlo a vosotros!!
Eduardo Galbis / 7 noviembre, 2022
Buenas tardes,
Una pregunta? como creas el paquete .intunewin, porque cuando lo creo con la app IntuneWinAppUtil.exe me pregunta cual es el “setup file”.
Para otro tipo de aplicaciones lo tenía claro, pero en ese caso, con los ps1 y el certificado, no he logrado que me funcione.
Santiago Buitrago Reis / Autor / 7 noviembre, 2022
Hola:
Tienes que indicarle que es el .ps1, pero en el .intunewim yo llevo el certificado y además otro .ps1 para la desinstalación y sin problema.
Un saludo
Eduardo Galbis / 7 noviembre, 2022
Me respondo yo mismo.
He copiado los Script en notepad++ y al guardarlos como .ps1 no ha detectado correctamente las comillas y la ha sustituido por otros caracteres. Los he creado desde el ISE y todo correcto.
El fichero .intunewin lo he creado poniendo el .pfx como “setup file”.
Me da un error en la comprobación, pero si ejecuto el script a mano funciona correctamente… le daré una vuelta creando una configuración desde 0.
Muchas gracias por el articulo, me ha sido de mucha ayuda.
Eduardo Galbis / 7 noviembre, 2022
Me respondo yo mismo.
He copiado los Script en notepad++ y al guardarlos como .ps1 no ha detectado correctamente las comillas y la ha sustituido por otros caracteres. Los he creado desde el ISE y todo correcto.
El fichero .intunewin lo he creado poniendo el .pfx como “setup file”.
Me da un error en la comprobación, pero si ejecuto el script a mano funciona correctamente… le daré una vuelta creando una configuración desde 0.
Muchas gracias por el articulo, me ha sido de mucha ayuda.
Eduardo Galbis / 7 noviembre, 2022
Se ha duplicado el comentario. Disculpa. Lo puedes eliminar.
Lo dicho, muchas gracias!
Santiago Buitrago Reis / Autor / 7 noviembre, 2022
Sin problema, pero el .ps1 es el que tienes que configurar en intunewin y luego ejecutarlo en el contexto de seguridad del usuario al igual que el script de comprobación de la instalación del mismo.
Un saludo