Cet article vous permettra de réaliser un audit sur le groupe Administrateur local des machines. Ce mode opératoire s’appuie sur une classe WMI customisée, un élément de configuration (configuration item) et une base de référence de configuration (configuration baseline).
Vous aurez besoin de WMI explorer afin de valider vos tests.
Implémentation sur une machine de test
Pour commencer, ouvrez une console Powershell en mode administrateur. Copiez et exécutez le script ci-dessous :
A noter : si vous souhaitez exécuter ce script sur une machine avec un OS anglais, il faut modifier la ligne 213. Il faudra remplacer ‘Administrateurs’ par ‘Administrators’ (ou l’ajouter).
Afin de vérifier la bonne exécution du script, lancez WMI Explorer et suivez les instructions sur l’image ci-dessous :
La présence des instances confirmera que l’ajout de la classe est bien effectif.
Extension de l’inventaire matériel
Sur une console SCCM, allez dans « Administration », puis « Paramètres client ». Ouvrez les propriétés du client par défaut. Ensuite, allez dans « Inventaire matériel » puis cliquez sur le bouton « Définir classes ».
Cliquez ensuite sur « Ajouter ».
Connectez la machine de test et recherchez la classe « LocalSecurityGroup ». Sélectionnez-là puis cliquez sur « Editer ». Vérifiez que tout est coché puis cliquez sur OK jusqu’à fermer les propriétés du client par défaut.
Création de l’élément de configuration
Allez dans « Actifs et conformité », « Paramètre de conformité » puis « Elements de configuration ». Cliquez ensuite sur « Créer un élément de configuration ». Nommez-le « Inventaire des Admin locaux » puis cliquez sur « Suivant ».
Vérifiez que toutes les versions sont sélectionnées.
Cliquez ensuite sur « Nouveau », une nouvelle fenêtre va apparaître. Nommez-le par exemple « Paramètre de conformité », choisissez « Script » en type de paramètre et « Entier » en type de données. Cliquez ensuite sur « Ajouter un script ». Coller le script dans la nouvelle fenêtre puis cliquez sur « OK » puis « OK ». Cliquez ensuite sur « Suivant » pour passer aux règles de conformité.
Ensuite, cliquez sur « Nouveau ». Nommez-le « Détection classe WMI ». Cliquez ensuite sur « Parcourir ». Choisissez « Inventaire des Admin locaux » puis cliquez sur « Sélectionner ». Mettez la valeur sur « 0 » puis cliquez sur « OK ».
Enfin, cliquez sur « Suivant » pour accéder au résumé, « Suivant » et « Fermer ».
Création de la base de référence de configuration
Rendez-vous dans « Actifs et conformité », « Paramètre de conformité » puis « Base de référence de configuration ». Créez une nouvelle base de référence de configuration et nommez-là « Audit des groupes admin locaux ». Ajoutez l’élément de configuration en cliquant sur « Ajouter ». Sélectionnez « Inventaire des amins locaux », cliquez sur « Ajouter » puis « OK ». Cliquez une nouvelle fois sur « OK » pour terminer la configuration.
Ensuite, faites un clic droit sur « Audit des groupes admin locaux » puis cliquez sur « Déployer ». Sélectionner la collection d’ordinateur que vous souhaitez cibler et ajustez la fréquence d’évaluation. Le fait de cliquer sur « OK » lance automatiquement le déploiement.
Reporting
Une fois la base de référence de configuration déployée, vous pourrez maintenant passer à la partie reporting. Nous allons commencer par le reporting depuis la console. Pour cela, allez dans « Surveillance », puis cliquez droit sur « Requêtes » et sélectionnez « Créer une nouvelle requête ».
Donnez un nom à votre requête (Inventaire des admins locaux), puis cliquez sur « Modifier l’instruction de requête ». Une nouvelle fenêtre apparaît, cliquez sur le bouton « Afficher la requête » et copiez collez la requête ci-dessous :
select SMS_R_System.Name, SMS_G_System_LOCALSECURITYGROUPINVENTORY.Domain, SMS_G_System_LOCALSECURITYGROUPINVENTORY.User, SMS_G_System_LOCALSECURITYGROUPINVENTORY.SID from SMS_R_System inner join SMS_G_System_LOCALSECURITYGROUPINVENTORY on SMS_G_System_LOCALSECURITYGROUPINVENTORY.ResourceID = SMS_R_System.ResourceId where SMS_G_System_LOCALSECURITYGROUPINVENTORY.User not in ('AZOperator', 'azoperator', 'Exploit.Serveurs', 'vmoperator', 'admin.local', 'Administrateur', 'Admins du domaine') order by SMS_R_System.Name, SMS_G_System_LOCALSECURITYGROUPINVENTORY.Domain, SMS_G_System_LOCALSECURITYGROUPINVENTORY.User
Cliquez sur “OK” jusqu’à fermer toutes les fenêtres. Vous aurez maintenant la liste complète des admins locaux. Vous pouvez de plus exclure certains comptes pour réduire la liste.
Il peut être aussi intéressant de créer un rapport qui puisse être envoyé régulièrement. Vous trouverez ci-dessous la requête SQL pour le créer :
select s1.Name0 as Nom, v_GS_LOCALSECURITYGROUPINVENTORY.Domain0 as [Domaine], v_GS_LOCALSECURITYGROUPINVENTORY.User0 as [Utilisateur], v_GS_LOCALSECURITYGROUPINVENTORY.SID0 as [SID], csp.Version0 as [Modèle], chas.ChassisTypes0 as [Type], CASE WHEN chas.ChassisTypes0 = 3 AND csp.Version0 = '7.0' THEN 'Virtual Machine' WHEN chas.ChassisTypes0 in ('3','4','6','7','15') THEN 'Desktop' WHEN chas.ChassisTypes0 in ('8','9','10', '17', '21') THEN 'Laptop' END from v_GS_SYSTEM s1 left join v_GS_SYSTEM_ENCLOSURE chas on chas.ResourceID=s1.ResourceID left join v_GS_COMPUTER_SYSTEM_PRODUCT csp on csp.ResourceID=s1.ResourceID inner join v_GS_LOCALSECURITYGROUPINVENTORY on v_GS_LOCALSECURITYGROUPINVENTORY.ResourceID = s1.ResourceId where v_GS_LOCALSECURITYGROUPINVENTORY.User0 not in ('AZOperator', 'azoperator', 'Exploit.Serveurs', 'vmoperator', 'admin.local', 'Administrateur', 'Admins du domaine') order by s1.Name0, v_GS_LOCALSECURITYGROUPINVENTORY.Domain0, v_GS_LOCALSECURITYGROUPINVENTORY.User0
Crédits :
https://mickitblog.blogspot.com/2016/11/sccm-local-administrators-reporting.html