Question Ajouter le dernier utilisateur connecté au champ de description Utilisateurs et ordinateurs AD


Le dernier endroit où j'ai travaillé avait la configuration AD comme dans le champ Description de chaque compte d’ordinateur de la console des utilisateurs et des ordinateurs AD, il était indiqué qui avait ouvert la session et quand. Comment le configurez-vous pour cela?


6
2018-06-02 14:24


origine


J'ai vu des ajouts qui ont fait cela. Voici une question similaire avec beaucoup de bonnes idées: serverfault.com/questions/44862/… - KCotreau


Réponses:


Très probablement, l'autorisation de modifier ce champ a été déléguée aux utilisateurs et un script de connexion permettant d'écrire cet attribut a été déployé via un objet de stratégie de groupe. Il n'y a pas de fonctionnalité intégrée pour accomplir cela.


6
2018-06-02 14:27



MarkM est correct. et c'est comme ça que je le ferais, via un script d'ouverture de session qui écrit dans AD - Bret Fisher
Je crois que c'est exactement comme ça qu'ils l'ont fait. Je me souviens de quelque chose à ce sujet maintenant. Merci, je vais devoir vérifier. - Matt
cela dépend aussi du type de connexion que vous souhaitez enregistrer - Jim B


Voici un script de connexion utilisateur que j'ai mis en place il y a longtemps. Il ajoute le nom de connexion, l'horodatage et l'adresse IP de l'utilisateur à la description de l'objet ordinateur dans AD. Vous pouvez l'utiliser tel quel ou le changer pour mieux vous convenir. Instructions pour l'implémenter après le script ...

On Error Resume Next

Set objSysInfo = CreateObject("ADSystemInfo") 'Bind to AD
Set objNet = CreateObject("WScript.Network")

strCompDN = objSysInfo.ComputerName 'DN for computer, e.g. "CN=VISTAWORKSTATION,OU=Child OU Name,OU=Parent OU Name,DC=domain,DC=com"
Set objComp = GetObject("LDAP://" & strCompDN) 'IADsComputer object

strUserDN = objSysInfo.UserName 'DN for user, e.g. "CN=John Smith,OU=Child OU Name,OU=Parent OU Name,DC=domain,DC=com"
Set objUser = GetObject("LDAP://" & strUserDN) 'IADsUser object

strUsrLogin = LCase(objNet.UserName)

strNow = Now
strDateStamp = DatePart("yyyy",strNow) & _
    Right("0" & DatePart("m",strNow), 2) & _
    Right("0" & DatePart("d",strNow), 2) & _
    "@" & _
    Right("0" & DatePart("h",strNow), 2) & _
    Right("0" & DatePart("n",strNow), 2)

'RegExp object used to perform a simple match on IP address
Set objRE = New RegExp
objRE.IgnoreCase = True
'Note this regexp pattern isn't "correct" for matching an IPv4 address properly, but since WMI will return an
'array of IP addresses, this is sufficient to distinguish IPv4 vs IPv6
objRE.Pattern = "^\d+\.\d+\.\d+\.\d+$"

strIP = ""

'Connect to WMI and retreive all network adapters
Set objWMI = GetObject("winmgmts:")
Set colNICs = objWMI.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration")

'Get the IP(s) assigned to whichever network adapter has our default gateway
If colNICs.Count > 0 Then
    For Each objNIC in colNICs
        If IsArray(objNIC.DefaultIPGateway) Then
            arrIP = objNIC.IPAddress
            For i = 0 To UBound(arrip)
                If objRE.Test(arrIP(i)) Then strIP = strIP & " " & arrIP(i)
            Next
            strMAC = objNIC.MACAddress
        End If    
    Next
End If

strIP = Trim(strIP)

objComp.Description = strDateStamp & " " & strUsrLogin & " " & strIP
objComp.Put "extensionAttribute1", strUsrLogin
objComp.Put "extensionAttribute2", strIP
objComp.Put "extensionAttribute3", strMAC

objComp.SetInfo

Enregistrez le script dans un endroit raisonnable, comme le partage SYSVOL sur vos contrôleurs de domaine. Ensuite, assignez-le en tant que script de connexion utilisateur à l'aide de la stratégie de groupe.

Enfin, comme les utilisateurs normaux ne peuvent normalement pas modifier la description d’un objet ordinateur, vous devez leur en donner la permission, comme suit:

  1. Ouvrez Utilisateurs et ordinateurs AD.
  2. Clic-droit ton domaine dans l'arborescence située à gauche, puis sélectionnez Déléguer le contrôle.
  3. L'assistant de délégation de contrôle apparaît. Cliquez sur Suivant.
  4. Sur la page Utilisateurs ou Groupe, ajoutez «Utilisateurs authentifiés», puis cliquez sur Suivant.
  5. Sur la page Tâches à déléguer, sélectionnez l'option de tâche personnalisée, puis cliquez sur Suivant.
  6. Sur la page Type d'objet Active Directory, sélectionnez uniquement les objets Ordinateur, puis cliquez sur suivant.
  7. Sur la page Autorisations, cochez la case spécifique à la propriété, puis cochez les cases correspondantes dans la liste:
    • Écrire la description
    • Ecrire extensionAttribute1
    • Ecrire extensionAttribute2
    • Ecrire extensionAttribute3
    • Ecrire extensionAttribute4
    • Ecrire extensionAttribute5
    • Ecrire extensionAttribute6
    • Ecrire extensionAttribute7
    • Ecrire extensionAttribute8
    • Ecrire extensionAttribute9
    • Écrire l'extensionAttribut10
    • Ecrire extensionAttribute11
    • Ecrire l'extensionAttribute12
    • Ecrire l'extensionAttribute13
    • Ecrire l'extensionAttribute14
    • Ecrire extensionAttribute15
  8. Cliquez sur Suivant
  9. Vérifiez que le récapitulatif de l'opération de délégation semble correct, puis cliquez sur Terminer.

3
2018-06-02 15:02





Ajout à La réponse de MarkM, après la délégation, un vbscript comme celui-ci ferait ce que vous voulez:

Set objADSystemInfo = CreateObject("ADSystemInfo")
Set objLDAPComp = GetObject("LDAP://" & objADSystemInfo.ComputerName)

objLDAPComp.Description = objADSystemInfo.UserName & " " & Now()
objLDAPComp.SetInfo

Cela aurait pour conséquence que le champ de description de l’ordinateur soit réglé sur quelque chose allant dans le sens de
  CN=Joe Blow,OU=The Users,DC=example,DC=com 6/2/2011 10:55:00 AM


2
2018-06-02 14:55