Code PowerShell pour gérer en masse des objets Active Directory comme les utilisateurs, les groupes et les ordinateurs. C'est un outil de console très basique pour le moment, mais dans ma ligne de travail, je l'ai trouvé très puissant, car les utilisateurs et les ordinateurs Active Directory manquent de fonctionnalités importantes.
Pour faciliter le travail de l'utilisateur, il peut traduire la structure de domainOUOU plus amicale plus de l'utilisateur dans le nom DistinguishedName, ce qui est requis dans les requêtes pour collecter des objets d'un OU. Il peut également gérer toutes les exceptions (OU inexistant, ou qui n'a pas le type d'objet interrogé, nom d'utilisateur, nom de groupe, pas assez de droits pour modifier les groupes, créer des fichiers) que j'ai rencontré jusqu'à présent. Il informe l'utilisateur des résultats réussis et partiellement réussis et insruptés des opérations. Il utilise également un propre FolderTree (AD-Out, par défaut, il est créé à la racine de Drive D:, mais il peut être modifié par l'utilisateur) afin qu'il n'encombre pas le disque dur de l'utilisateur.
Cela fonctionne-t-il sans RSAT (outils d'administration de serveur distant) installés sur l'ordinateur?
Oui et non. Fondamentalement, il a été conçu pour être utilisé sur un ordinateur installé RSAT, mais il peut fonctionner sans lui. Pour le faire fonctionner, vous aurez besoin de Microsoft.ActiveDirectory.Management.dll , et Microsoft.ActiveDirectory.Management.resources.dll pour être mis dans le même dossier que le fichier PS1. Évidemment, je ne peux pas partager ces DLL (il va sans dire que vous ne devriez jamais télécharger DLL à partir d'une source non fiable), mais si vous les obtenez, le programme fonctionnera sans RSAT. Si un PC n'a ni RSAT installé, ni ces deux DLL dans le même dossier que le fichier PS1, le programme ne s'exécutera pas du tout (il vérifie ces deux conditions au début, et si aucun n'est respecté, il ne vous laissera pas continuer).
Où puis-je trouver ces DLL?
Ironiquement, vous aurez besoin d'un ordinateur installé RSAT. Les DLL sont dans leurs dossiers avec le même nom sous C:WindowsMicrosoft.NETassemblyGAC_64 ou GAC_32 dans le cas de 32 bits OS.
Quelles langues sont prises en charge?
Le programme soutient l'anglais et le Hongrois. Comme ma langue maternelle est hongroise, la traduction anglaise a probablement des erreurs grammaticales et autres, bien que j'espère pas tant. Les commentaires sont également en anglais. Au cas où vous aimeriez m'aider avec une traduction dans votre langue, je serais très reconnaissant, mais seul je ne ferai pas d'autres traductions.
Vous prévoyez d'ajouter des fonctions comme l'ajout d'un utilisateur à un groupe?
Je prévois d'ajouter plus de fonctionnalités, mais seulement ceux qui élargissent les fonctionnalités d'ADUC (utilisateurs et ordinateurs Active Directory), je ne vois aucun intérêt à implémenter des fonctionnalités qui y travaillent déjà bien. Je suis ouvert aux suggestions qui peuvent rendre ce programme plus utile.
C'est bon et tout, mais êtes-vous sérieux que chaque fois que je voudrais l'utiliser, je dois exécuter le script à partir de la ligne de commande? Ne pourrait-il pas être un exécutable approprié?
D'accord, cela pourrait être une question tellement débutante que personne sur ce site ne poserait, mais comme je l'ai mis là, je vais y répondre. Vous pouvez compiler le fichier PS1 en un exécutable avec PS2EXE à tout moment. https://gallery.technet.microsoft.com/scriptcenter/ps2exe-gui-convert-e7cb69d5 N'essayez pas d'utiliser la version GUI des ex compilés, dans ce cas, qui ne fonctionnent vraiment pas comme prévu.
Fonctions, améliorations
Autres plans
Dans un avenir très lointain, je prévois de réécrire le code pour avoir une GUI. J'ai considéré à la fois C # et PowerShell, mais je ne suis pas tout à fait sûr de savoir si je le ferai réellement. Mon objectif principal avec ce programme était de donner aux administrateurs (nommer mes collègues avec des connaissances Zero PowerShell) un outil gratuit qu'ils sont autorisés à utiliser même lorsque les applications tierces sont interdites. Comme il s'agit d'un script PowerShell (cependant plus long, mais quand même), il est probablement autorisé à utiliser tous ceux qui ont des droits administratifs dans leur Active Directory. Mais je ne sais vraiment pas si la même chose serait vraie à propos d'un programme qui utilise également des bibliothèques C #, au lieu de compter uniquement sur PowerShell.
Bien sûr, j'ai hâte de comporter des suggestions, des rapports de bogues ou tout ce que vous souhaitez ajouter.