5 votes

Existe-t-il un moyen de savoir depuis combien de temps une machine fait partie d'un groupe de sécurité ?

Les machines sont ajoutées à un groupe de sécurité pour les empêcher d'obtenir une GPO. J'aimerais que les machines soient supprimées après 30 jours de présence dans le groupe. Idéalement, j'aimerais également pouvoir générer un rapport sur les machines du groupe.

Quelque chose comme :

MachineA - 10 jours restants

MachineB - 29 jours restants

10voto

HopelessN00b Points 53075

Si vous avez un contrôleur de domaine Windows 2012, oui. !


Où peut-on trouver les coordonnées des membres du groupe ?

Lorsque vous consultez l'attribut "membre" d'un groupe AD, vous trouverez une liste de tous les membres au format "nom distingué". Mais c'est tout. Il n'y a pas de pistolet fumant ou d'empreintes digitales qui vous disent comment ils sont arrivés là. Cependant, il existe un élément de données peu connu appelé métadonnées de réplication qui peut nous dire exactement ce dont nous avons besoin. Ces données sont assez spéciales pour les groupes, car elles nous indiquent la date à laquelle les membres individuels ont été ajoutés et retirés. Génial ! Mais si vous essayez de l'afficher dans l'interface graphique, cela ressemble à un affreux hexagone.

[...]

Le script

Voici le produit PowerShell que nous attendions (également joint en bas de l'article) :

Import-Module ActiveDirectory            

$username = "janitor"            
$userobj  = Get-ADUser $username            

Get-ADUser $userobj.DistinguishedName -Properties memberOf |            
 Select-Object -ExpandProperty memberOf |            
 ForEach-Object {            
    Get-ADReplicationAttributeMetadata $_ -Server localhost -ShowAllLinkedValues |             
      Where-Object {$_.AttributeName -eq 'member' -and             
      $_.AttributeValue -eq $userobj.DistinguishedName} |            
      Select-Object FirstOriginatingCreateTime, Object, AttributeValue            
    } | Sort-Object FirstOriginatingCreateTime -Descending | Out-GridView

enter image description here

5voto

Ryan Ries Points 54671

La seule chose à laquelle je pense pour résoudre ce problème est une astuce qui consiste à utiliser un groupe intermédiaire comme objet dynamique, puis à l'imbriquer dans le groupe primaire de sorte que l'utilisateur dispose des autorisations conférées au groupe primaire par le biais de l'appartenance à un groupe imbriqué. Cependant, le groupe intermédiaire a un TTL (time to live, l'attribut entry-TTL) et lorsque ce TTL expire, le groupe disparaît et donc l'appartenance au groupe imbriqué disparaît. Nommez le groupe temporaire comme "MachineA 30 Day Temporary", par exemple.

C'est ce qu'on appelle "Objets dynamiques".

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