10 votes

Création d'un groupe dynamique dans Active Directory avec des utilisateurs d'une OU

Je voudrais créer un groupe dynamique avec des utilisateurs d'une OU spécifique dans mon Active Directory. Je peux parfaitement le faire en utilisant la liste de distribution dynamique d'Exchange, mais bien sûr, les DDL d'Ex ne concernent que le courrier.

Y a-t-il un moyen de créer cela ? J'ai trouvé des guides utilisant System Center pour gérer cela, mais System Center n'est pas une option.

Merci d'avance,

14voto

Mathias R. Jessen Points 24807

Il n'existe pas de groupe de sécurité dynamique dans Active Directory, mais seulement des groupes de distribution dynamiques.

Pour accomplir cela, je pense que l'option la plus viable serait d'avoir un script Powershell déterminant qui sont dans l'OU donné et mettant à jour le groupe de sécurité en conséquence, peut-être comme ceci :

Import-Module ActiveDirectory
$groupname = PseudoDynamicGroup
$users = Get-ADUser -Filter * -SearchBase "ou=desiredUsers,dc=domain,dc=tld"
foreach($user in $users)
{
  Add-ADGroupMember -Identity $groupname -Member $user.samaccountname -ErrorAction SilentlyContinue
}
$members = Get-ADGroupMember -Identity $groupname
foreach($member in $members)
{
  if($member.distinguishedname -notlike "*ou=desiredUsers,dc=domain,dc=tld*")
  {
    Remove-ADGroupMember -Identity $groupname -Member $member.samaccountname
  }
}

0 votes

+1 Puis-je faire exécuter un tel script sur mon Active Directory périodiquement pour m'assurer que mes groupes AD sont à jour ? Ou peut-être en quelque sorte s'abonner à un système d'événements ? Je suis un développeur, pas un administrateur, mais je peux influencer l'administrateur et mon gestionnaire.

0 votes

Je ferais les suppressions d'abord, juste pour ne pas revérifier les objets utilisateurs que nous venons de vérifier (et d'ajouter).

4voto

apalopohapa Points 654

Je réponds à ma propre question. Avec les idées PowerShell de Mathias, j'ai trouvé ceci sur Internet :

https://github.com/davegreen/shadowGroupSync

Caractéristiques

  • Synchroniser les objets utilisateurs ou ordinateurs d'un ou plusieurs OUs vers un seul groupe.
  • Possibilité de filtrer les objets inclus dans le groupe fantôme à l'aide du filtre Active Directory PowerShell.
  • Possibilité de choisir le type de groupe fantôme (Sécurité/Distribution).

Le site blog de l'auteur contient des informations supplémentaires sur la conception et les motifs de l'outil.

1 votes

Si Mathias est celui qui t'a aidé, alors tu dois accepter sa réponse. C'est lui qui t'a éclairé !

3voto

Cela peut être fait avec des Adaxes. Techniquement, il mettra dynamiquement à jour l'appartenance à un groupe lorsque les utilisateurs sont mis à jour ou déplacés. Voici un exemple de maintien automatique de l'appartenance à un groupe sur la base de l'attribut Département, mais il est très facile de le modifier pour faire la même chose sur la base de l'OU. http://www.adaxes.com/tutorials_AutomatingDailyTasks_AddUsersToGroupsByDepartment.htm

1voto

Espen Olsen Points 31

J'ai également cherché un moyen de créer des groupes de sécurité dynamiques dans Active Directory, et je suis arrivé à la même conclusion que Mathias. Ma solution n'était pas aussi élégante que la sienne, j'utilise un script powershell-script pour supprimer tous les utilisateurs des groupes, puis les remplir avec les utilisateurs de l'OU. En outre, j'ai veillé à ce que les groupes des sous-OU soient ajoutés au groupe de sécurité de l'OU parent, là où il convient.

import-module ActiveDirectory
Get-ADGroupMember OU_GroupName | % { Remove-ADGroupMember 'OU_GroupName' -Members $_ -Confirm:$false}
Get-ADUser -SearchBase 'OU=OUName,OU=ParentOUName,DC=DomainName,DC=TopDomainName' -Searchscope 1 -Filter * | % { Add-ADGroupMember 'OU_GroupName' -Members $_ }
Add-ADGroupMember -Identity "OU_ParentName" -Members "OU_ChildOneName", "OU_ChildTwoName", "OU_ChildThreeName"

Je ne suis pas sûr que cela puisse s'appliquer à une grande entreprise, mais le script ne prend que quelques minutes dans notre entreprise de 300 utilisateurs.

1 votes

D'un point de vue pratique, votre solution est parfaite (pour quelques centaines d'utilisateurs). Cependant, en ajoutant tout d'abord (et en supprimant les avertissements/erreurs pour les doublons), puis en supprimant uniquement les non-correspondances, vous 1) minimisez le nombre de mises à jour des attributs de l'objet AD et 2) contournez le risque que quelqu'un s'authentifie et n'ait pas de groupe de sécurité dans son jeton, s'il se trouve qu'il est en ligne pendant que votre script est en cours d'exécution.

1voto

Matthias Points 11

Le moyen le plus simple est d'utiliser DynamicGroup. http://www.firstattribute.com/en/active-directory/ad-automation/dynamic-groups/

Nous l'utilisons dans différents environnements après une migration de Novell vers Active Directory.

Il s'agit d'un logiciel permettant de créer automatiquement des groupes OU, des groupes de départements, etc. Il suffit de créer le filtre et le tour est joué.

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