J'espère que quelque part dans Active Directory, la "dernière connexion depuis [ordinateur]" est écrite / stockée, ou qu'il existe un journal que je peux analyser?
Le but de vouloir connaître le dernier PC connecté est d'offrir une assistance à distance sur le réseau - nos utilisateurs se déplacent assez rarement, mais j'aimerais savoir que tout ce que je consulte mettait à jour ce matin (lorsqu'ils se sont connectés , vraisemblablement) au minimum.
J'envisage également des scripts de connexion qui écrivent les noms d'utilisateur et d'ordinateur à un emplacement connu que je peux référencer, mais certains de nos utilisateurs n'aiment pas se déconnecter pendant 15 jours à la fois.
S'il existe une solution élégante qui utilise des scripts de connexion, mentionnez-la certainement - mais si cela fonctionne pour simplement déverrouiller la station, ce serait encore mieux!
Nous le faisons via un script de connexion qui met à jour la description de l'objet ordinateur dans AD.
Vous devez effectuer une délégation de contrôle personnalisée pour permettre aux "utilisateurs authentifiés" d'écrire la propriété de description des objets ordinateur dans le ou les domaines.
Une fois cela fait, tout ce dont vous avez besoin est un script qui génère les informations souhaitées et écrit les propriétés dans l'objet ordinateur. Ce script est ensuite attribué en tant que script de connexion via un objet de stratégie de groupe lié au domaine.
Nous mettons un horodatage, nom d'utilisateur, IP (s) dans le champ de description. L'horodatage vient en premier car il permet de voir facilement les "anciens" objets informatiques en les triant dans le champ de description.
Voici le script que j'ai écrit pour cela si vous voulez l'utiliser comme point de départ:
la source
J'ai dû atteindre le même résultat pour des raisons similaires; déterminer en quelque sorte à partir de quelle machine un utilisateur spécifique s'est connecté. Je voulais savoir "avant le fait", et je ne pouvais pas changer les scripts de connexion utilisateur comme discuté ci-dessus.
J'ai utilisé PowerShell sur le contrôleur de domaine contre lequel l'utilisateur s'authentifiait pour analyser le journal des événements de sécurité:
get-eventlog "Security" | where {$_.Message -like "*Username*" -AND "Source Network Address"} | export-csv C:\Temp\test.csv
Ouvrez le fichier .csv avec Excel ou votre éditeur fav et recherchez l'entrée la plus récente qui affiche à la fois le nom du compte (nom d'utilisateur) et l'adresse réseau source dans le même événement.
Ce n'est peut-être pas une solution fiable à 100% (en fonction des durées de location DHCP, etc.), mais cela a fonctionné pour moi.
la source
Vous pouvez activer l'audit des événements de connexion au compte. Ces événements (y compris le déverrouillage du poste de travail) seront stockés dans le journal de sécurité du contrôleur de domaine.
Il existe également des outils tiers qui peuvent vous faciliter la tâche, comme True Last Logon .
la source
J'écris simplement le nom d'utilisateur (ainsi que d'autres informations, comme la date et l'heure, certaines versions de programme, etc.) dans la description de l'ordinateur à l'aide d'un script de connexion. De cette façon, je peux extraire toutes les informations des utilisateurs et des ordinateurs AD rapidement et facilement, et en bonus, j'ai un bon moyen d'identifier quels PC encore dans AD n'ont pas été utilisés depuis longtemps (et sont donc probablement des machines mortes).
la source
ThatGraemeGuy , merci pour l'excellent script! J'ai dû le réécrire dans PowerShell, mais cela fonctionne toujours.
la source
L'astuce pour savoir avec certitude où les utilisateurs se sont connectés pour la dernière fois en dehors des suggestions d'Adam est l'agrégation des journaux. Si vous avez plusieurs contrôleurs de domaine, vous devez tous les vérifier, ou centraliser votre journalisation, puis vérifier le journal unique.
Certains, voire la plupart, des outils tiers sont suffisamment intelligents pour interroger tous les contrôleurs de domaine. Mais si vous songez à écrire un script pour l'analyser vous-même, je ne peux pas argumenter suffisamment pour la centralisation de vos journaux.
la source
Idéalement, vous captureriez les éléments suivants pour que votre équipe CSIRT aide aux invstigations.
ID utilisateur se connectant avec le nom du poste de travail Adresse MAC Adresse IP Type de connexion date / horodatage (rdp, interfactive, etc.)
Puis transférez cela dans une commande sql dans une base de données qu'ils peuvent interroger. Les bits et les morceaux sont enregistrés partout, mais l'enregistrement cela permet d'économiser du temps en tirant les données des serveurs DHCP / WINS, etc.
la source
La seule façon d'avoir des informations très récentes est par le biais de la recherche de journaux. Utilisez un outil comme Microsoft Operations Manager ou un outil gratuit comme snare pour agréger des journaux d'événements intéressants du serveur à un emplacement central (fichiers texte normaux ou base de données SQL), puis utilisez des outils comme logparser ou des requêtes SQL pour générer le rapport que vous souhaitez.
pour trouver différents ID d'événement pour différents événements, consultez l' Encyclopédie du journal des événements
Faites-moi savoir, si vous souhaitez suivre cette route, je peux vous aider à créer les requêtes appropriées pour logparser.
la source
Si vous recherchez une référence historique, vous pouvez essayer un outil tiers comme Logon Central de Motivate Systems. Il enregistre toutes les ouvertures de session utilisateur Active Directory et fournit une interface Web pour l'exploration de données. Il comprend également de très bons graphiques qui traduisent les statistiques de connexion en pourcentage d'utilisation.
la source
ind Connexion dans AD
Plusieurs fois, nous devons savoir si une connexion particulière fait partie d'un groupe d'utilisateurs d'annonces. Ou parfois, nous devons connaître un groupe AD et nous voulons savoir qui toutes les connexions en font partie.
Il existe de nombreuses façons d'y parvenir.
Je suis cette étape pour créer un raccourci sur mon bureau où je peux facilement trouver les connexions Veuillez suivre le processus comme
START-> RUN -> rundll32 dsquery, OpenQueryWindow
Vous pouvez trouver tous les AD dont vous faites partie en utilisant ceci.
Démarrer-> Paramètres-> Panneau de configuration -> Outils d'administration -> Utilisateurs et ordinateurs Active Directory Sélectionnez le domaine que vous souhaitez rechercher, cliquez avec le bouton droit sur ce domaine et choisissez l'option «Rechercher».
la source
J'allais ajouter ceci en tant que commentaire à la réponse de marcusjv ci-dessus, mais je n'ai pas la réputation, donc une réponse distincte devra faire:
Dans cette expression -AND "Source Network Address" sera toujours évalué à TRUE
Je pense que ce dont vous avez besoin est: get-eventlog "Security" | où {$ .Message -like "* nom d'utilisateur *" -AND $ .Message.contains ("Source Network Address")}
la source