Avec Microsoft Intune, il est possible d’aller plus loin que les règles natives de conformité en créant une Custom Compliance. Dans cet article, nous allons voir comment mettre en place cette règle pour s’assurer que le mot de passe BIOS est bien configuré sur des ordinateurs HP.

Étape 1 – Préparer un script de détection

Le but est de vérifier si un mot de passe BIOS est défini. Nous allons pour cela interroger la classe WMI HP_BiosSetting.

https://developers.hp.com/hp-client-management/doc/understanding-hp-bios-settings

Et vérifier la propriété « IsSet » de l’objet « Setup Password » puis la comparer avec la valeur attendue, ici 1. Si le mot de passe est en place, on retourne $true sinon $false.

On transforme la valeur retournée en sortie JSON qu’Intune pourra interpréter

Etape 2 – Préparation du JSON

La deuxième action consiste à créer un fichier JSON qui servira à définir les paramètres que la politique de conformité de l’appareil doit vérifier, ainsi que les valeurs acceptables pour ces paramètres. Ce fichier contient également des options permettant de configurer un message indiquant à l’utilisateur la marche à suivre lorsque l’appareil n’est pas conforme au paramètre de conformité personnalisé. Le fichier JSON doit contenir les informations suivantes :

SettingName – Nom du paramètre de conformité personnalisé, tel que renvoyé par le script PowerShell
Operator – Opérateur (IsEquals, NotEquals, GreaterThan, GreaterEquals, LessThan, LessEquals) spécifiant l’action à utiliser pour la règle de conformité
DataType – Type de données (Boolean, Int64, Double, String, DateTime, Version) spécifiant les données, tel que renvoyé par le script PowerShell
Operand – L’opérande représente la valeur cible
MoreInfoURL – URL fournissant plus d’informations sur le paramètre de conformité personnalisé
RemediationStrings – Informations sur la non-conformité

Pour notre cas :

{
« Rules »:[
{
« SettingName »: »HPBiosBiospwdStatus »,
« Operator »: »IsEquals »,
« DataType »: »Boolean »,
« Operand »: »true »,
« MoreInfoUrl »: »https://yoururl »,
« RemediationStrings »:[
{
« Language »: « en_US »,
« Title »: « BIOSPasswordState Value discovered was {ActualValue}. »,
« Description »: « BIOSPassword is not set as required »
}
]
}
]
}

Vous retrouverez le script Powershell et le fichier JSON sur mon GitHub : https://github.com/LeblogModernWorkplace/Intune-CustomCompliance/tree/main/CheckHPBiosPwdSet

Etape 3 – Import du script dans Intune et création de la règle de conformité custom

1/ Import du script

  • Aller dans la partie Windows \ Compliance et choisir Scripts sur le haut
  • Ajouter votre script Powershell via le bouton Add et en choisissant Windows 10 and later
  • Copier ensuite le contenu du script et sélectionnez les options tel que :
  • Pour finir, validez la création du script

2/ Création de la règle de conformité

  • Aller dans la partie Windows \ Compliance et choisir Policies,
  • Créer votre politique de manière classique
  • Dans la partie « Custom Compliance », cliquez sur « Require »
  • Choisir le script de découverte précédemment importé
  • Chargé le fichier JSON de résultat (Dispo dans le github)
  • Terminer la création de la policy et déployer la sur votre cible.

Petit conseil : pensez à ajouter un filtre pour ne cibler que les postes HP.

Etape 4 : Résultats

On va terminer cet article par une visualisation du résultat dans la console d’administration Microsoft Intune

Nous pouvons voir l’état de conformité du parc vis à vis de cette règle, les postes en « Other » sont ceux qui ne sont pas concernés par la règle (Filtre)

Coté utilisateur final, il verra dans son portail d’entreprise que le poste n’est pas conforme avec les informations entrées dans le JSON notamment le Title et la Description.

Conclusion

Cette approche illustre comment les fonctionnalités de Custom Compliance ouvrent la voie à un pilotage plus fin de la sécurité des postes de travail, au-delà des simples paramètres Windows.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *