PI Services

Le blog des collaborateurs de PI Services

[Powershell] - Importer un certificat dans le store user d'un gMSA

J'ai récemment eu besoin d'importer un certificat dans le magasin personnel d'un gMSA pour m'en resservir dans un script plus tard.

Contrairement à un compte standard, il n'est en effet pas logique / "possible" d'ouvrir une session et d'importer le certificat directement depuis la session du gMSA, par conséquent il me fallait une autre solution.

Pour cela j'ai onc utilisé une tache planifié et un script Powershell.

Le code

Ce que je vous invite à faire, c'est de faire vos modifications et signer votre script afin de ne pas avoir à bypass ou modifier les policies.

$params = @{
    FilePath = 'C:\temp\CertForgMSA.pfx'
    CertStoreLocation = 'Cert:\CurrentUser\My'
    Password = ConvertTo-SecureString -AsPlainText "MyUltraS3curePassword" -Force
}
Import-PfxCertificate @params

 

Donc ici dans les paramètres j'ai :

  • FilePath : Représente le chemin de mon script 
  • CertStoreLocation : Représente le store du gMSA
  • Password : Le mot de passe du PFX (essayez d'en utiliser un plus secure :D )

Créer la tâche

J'ai déjà présenté dans l'article ICI comment faire, nous allons donc le faire un Powershell maintenant.

$TaskAction = New-ScheduledTaskAction -Execute C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe  -Argument "-File C:\Temp\ImportPfx.ps1"
 
$TaskTrigger = New-ScheduledTaskTrigger -At 00:00 -Once # vous pouvez utiliser d'autre valeurs selon vos besoin Par exemple Daily
 
$TaskPrincipal = New-ScheduledTaskPrincipal -UserID Lab\gMSA01$ -LogonType Password
 
Register-ScheduledTask MygMSATask –Action $TaskAction –Trigger $TaskTrigger –Principal $TaskPrincipal

 

Et voilà, il n'y a plus qu'a attendre que la tâche s'exécute; on peut également vérifier via une commande supplémentaire que le script est bien présent (Get-Item sur le store user avec un export dans un fichier texte par exemple).

Ajouter un commentaire

Loading