4 votes

Assistance Powershell pour le nettoyage d'Active Directory

Je viens de commencer un contrat pour nettoyer le système Active Directory d'une grande entreprise. On m'a dit que ce serait un travail assez prenant, mais après avoir examiné le système et vu à quel point il est désorganisé et en désordre, j'ai réalisé que je ne serai pas en mesure de remplir mes fonctions de manière optimale. Essentiellement, cette société a beaucoup trop de comptes qui ne sont pas actifs mais qui ne peuvent pas encore être supprimés. Je veux effectuer un "Scream Test" pour certains comptes et les supprimer plus tard. S'il ne s'agissait que de quelques milliers de comptes inactifs, ce serait une histoire, mais malheureusement il y en a plusieurs milliers (je n'ai pas encore pris le chiffre exact, mais il est supérieur à 20 000). J'étais curieux de savoir si quelqu'un connaissait un moyen de trier ces informations de manière automatisée, sans utiliser Hyena pour obtenir des rapports et les passer en revue un par un.

2 votes

(I haven't taken an exact number yet but it is over 20,000) C'est ce que nous, professionnels, appelons un "drapeau rouge". Si ce n'est pas trop tard, exécuter loin. Ne marchez pas, courez. S'il est trop tard pour le faire, dites-leur que vous aurez besoin de plus d'argent. Beaucoup plus d'argent. S'ils viennent avec beaucoup plus d'argent, il n'est pas très difficile de créer un script PowerShell script qui peut désactiver des comptes (et peut-être les déplacer, si vous le souhaitez) sur la base d'attributs AD comme la dernière heure de connexion. Assurez-vous que votre assurance E&O est à jour, mais surtout, exécuter loin de celui-ci. On dirait qu'ils ont un nouveau directeur, pas un nettoyage.

2 votes

Je ne veux pas m'enfuir. Je travaille dans le domaine de l'informatique depuis environ 6 ans maintenant, mais c'est la première fois que je m'éloigne du Help Desk/Service Desk/Desktop Support et je me dis que c'est une bonne façon de m'y mettre. Je suis payé assez décemment par rapport à ce que j'ai été payé auparavant. Où pourrais-je commencer à apprendre ces scripts ? La documentation de MSDN est atroce.

2 votes

I don't want to run away. Vous le faites vraiment... mais je suppose que tout le monde doit apprendre des choses à la dure. Assurez-vous au moins d'être couvert par une assurance contre les erreurs et les omissions, d'autant plus que vos premiers pas loin du service d'assistance sont la mère de tous les champs de mines. Quant à savoir où vous apprenez ces scripts... Les livres de O'Reilly. Ceux de Google sont utiles. Technet's Scripting Guy Blog pourrait être un autre point de départ. Il y a un post relativement d'actualité ici que vous pourriez adapter.

0voto

vN3rd Points 1

Comme beaucoup d'autres l'ont mentionné, TESTEZ avant d'effectuer des modifications, en particulier lorsque vous créez des scripts ou effectuez des modifications de production dans AD.

Je me pencherais sur le module Active Directory gratuit (c'est en fait un Snap-in) de Quest

La cmdlet Quest Get-QADUser comprend diverses paratonnerres liées à l'inactivité du compte, telles que -Inactive , -InactiveFor , -ExpiredFor , -NotLoggedOnFor y -PasswordNotChangedFor qui vous permettent de signaler facilement les comptes inactifs en fonction des valeurs fournies à ces paramètres. Je vous suggère de télécharger le module et d'utiliser Get-Help Get-QADUser -Full | more ou si vous avez l'ISE installé, je préfère Get-Help Get-QADUser -Show pour obtenir tous les détails dans une fenêtre séparée.

Un exemple pourrait être :

Get-QADUser -ExpiredFor 30 -NotLoggedOnFor 30 -PasswordNotChangedFor 90 | Select-Object Name,SamAccountName,PasswordLastSet,PasswordIsExpired,LastLogonTimestamp,AccountIsExpired | Sort-Object Name | Export-CSV C:\InactiveADUsers.csv -NoTypeInformation -Force

Vous pouvez obtenir un résultat très similaire en utilisant le module AD natif avec un peu plus d'huile de coude.

0 votes

Je suis curieux de savoir où trouver les outils Quest. J'essaie d'utiliser les outils Quest dans un environnement de type powershell.ise mais cela ne semble pas fonctionner.

0 votes

@TheNoobofNoobs Il y a un lien vers le Snap-in Quest PowerShell via le lien dans mon post. Après l'installation, ils devraient être disponibles dans l'ISE. Vous pouvez vérifier la disponibilité en exécutant Get-Module -List dans une fenêtre PowerShell ou dans l'ISE. Le module natif Active Directory fait partie de RSAT (Remote Server Admin Tools) et doit être ajouté, manuellement, après l'installation des RSAT.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X