si vous souhaitez le faire côté domain controller, il faut activer l'audit
les événements "logon/logoff" et ensuite, après plusieurs heures ou jours,
inspect l'event log "Security" afin d'y trouver les événement dont l'EventID
est 528 (logon réussi) ou 529 à 539 (logon fautif, excepté 538). La
description de l'événement contiendra l'adresse IP du client. Cela vous
permettra de repérer quel client dirige ses requêtes d'authentification sur
quel DC. Attention, si de nombreaux utilisateur ouvrent des session sur le
même DC, cela générera évidemment beaucoup d'événements.
Côté client, vous pouvez exécuter la commande nltest /dsgetdc:DOMAIN (DOMAIN
étant le nom DNS de votre domaine), cela rapportera le DC que le client
utilise pour un logon (ainsi que d'autres informations utiles). Cette
command fait part des "Support Tools", il est possible de exécuter contre
une machine distante.
Marc
"laurence" <laurence...@sogreah.fr> wrote in message
news:eF7AQe6y...@TK2MSFTNGP03.phx.gbl...
Bonjour,
En complément de la réponse de Marc, la variable d'environnement
%logonserver% sur le poste client vous indiquera le contrôleur de
domaine qui a procédé à l'authentification du client. Vous pouvez
consolider ces informations dans un fichier de type texte en vous
appuyant sur le script d'ouverture de session.
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
"Gilles LAURENT [MVP]" <gl...@free.fr> a écrit dans le message de news:
uTMd0LIz...@TK2MSFTNGP05.phx.gbl...
Bonsoir,
| Ton idée m'interresse, je sais que cette variable existe mais à part
| la vérifier sur chaque poste !!!! Alors comment la faire remonter
| dans un script en .bat ? Si t'as une astuce n'hésite pas sinon faut
| faire du vb et c'est pas mon truc !
| laurence
Vous avez certainement mis en oeuvre un script d'ouverture de session
(par exemple logonscript.cmd) pour vos utilisateurs du domaine (pour
monter les lecteurs réseau, la connexion aux imprimantes, etc ...). Si
cela est le cas alors vous pouvez donc utiliser ce script d'ouverture de
session pour consolider le résultat des authentifications dans un
fichier de type texte centralisé sur une ressource réseau accessible en
écriture pour les utilisateurs du domaine.
Etape 1: Créez une ressource réseau sur une machine (serveur ou poste de
travail) membre du domaine et fixez les droits d'écriture aux
utilisateurs authentifiés. Cette ressource réseau sera accessible via le
chemin UNC \\server\share avec "server" le nom de la machine hébergeant
la ressource et "share" le nom du partage réseau.
Etape 2: Ajouter cette ligne (UNE seule ligne) dans votre script
d'ouverture de session :
echo %date:~-10%
%time:~-11,8%,%computername%,%logonserver:~2%>>\\server\share\LogonUsers.log
Le fichier log correspondant (LogonUsers.log) au format CSV sera de la
forme :
12/06/2008 18:44:36,client1,contrôleur_de_domaine
12/06/2008 18:45:22,client2,contrôleur_de_domaine
...
Ce fichier log sera ensuite analysé pour en tirer vos propres
conclusions :-)
Note: N'hésitez pas à revenir vers nous en cas de problème
d'implémentation ;-)
- Créer un fichier nommé "adSuccessNetLogons.lpq" et y adjoindre les lignes
de suivantes:
SELECT
ComputerName AS [DC],
TimeGenerated AS [Date-Time],
EXTRACT_TOKEN(Strings,1,'|') AS [Domain],
EXTRACT_TOKEN(Strings,0,'|') AS [User],
EXTRACT_TOKEN(Strings,6,'|') AS [PC],
EXTRACT_TOKEN(Strings,13,'|') AS [PC-IP]
USING EXTRACT_TOKEN(Strings,3,'|') AS [Logon Type]
FROM \\%DCNAME%\Security
WHERE
EventID=540
AND [Logon Type] = '3'
ORDER BY TimeGenerated ASC
Ouvrir une invite de commande et exécuter adSuccessNetLogons.cmd avec un
compte domain admin ou enterprise admin (si plusieurs domaines) ou un compte
autorisé à lire l'event log sécurité sur tous les DC's (encore mieux). Cela
générera un fichier CSV contenant les champs suivants:
- DC: nom du DC sui a authentifié
- Date-Time: date et heure du logon
- Domain: domaine de l'utilisateur. Peut être vide si l'accès est anonyme
- User: nom de l'utilisateur (ou de l'ordinateur). Peut être vide si l'accès
est anonyme
- PC: nom du PC. Parfois vide (l'audit Windows n'est pas parfait...)
- PC-IP: Parfois vide (idem).
Une fois en possession du fichier CSV, on peut continuer l'extraction de
donnée avec logparser. Exemple:
Lister les logon pour un subnet donné: logparser.exe -i:csv -o:datagrid
"SELECT * FROM adSuccessInteractLogons.csv WHERE PC-IP LIKE '192.168.2.%'
Compter le nombre de logon par DC: logparser.exe -i:csv -o:datagrid "SELECT
[DC] AS [Domain Controller], COUNT(*) AS [# Logons] FROM
adSuccessInteractLogons.csv GROUP BY [DC] ORDER BY [# Logons] DESC"
... logparser, c'est comme les films de Kubrick, il faut du temps pour les
apprécier mais ensuite, on les considèrera toujours comme des chef-ouvres :)
Marc
"Gilles LAURENT [MVP]" <gl...@free.fr> wrote in message
news:u$FDK9KzI...@TK2MSFTNGP05.phx.gbl...
Laurence
"Lognoul, Marc (Private)" <logn...@hotmail.com> a écrit dans le message de
news: 8390A44E-287D-4074...@microsoft.com...
Je viens de tester ta ligne de commande et elle est sympathique ? utiliser mais je conseil de rajouter la virgule entre les deux premi?res variables !! cela ?vitera une syntaxe error lorsque le script se lance. J'ai test? avec la pause dans le script pour voir cela (avis au n?ophite ;) )
Ael
BTS IG r?seau
Gilles LAURENT [MVP] wrote:
Re: Auditer l'authentification des postes client,
12-Jun-08
"laurence" <laurence...@sogreah.fr> a ?crit dans le message de
news:OqeXo7Jz...@TK2MSFTNGP06.phx.gbl
Bonsoir,
Vous avez certainement mis en oeuvre un script d'ouverture de session
(par exemple logonscript.cmd) pour vos utilisateurs du domaine (pour
monter les lecteurs r?seau, la connexion aux imprimantes, etc ...). Si
cela est le cas alors vous pouvez donc utiliser ce script d'ouverture de
session pour consolider le r?sultat des authentifications dans un
fichier de type texte centralis? sur une ressource r?seau accessible en
?criture pour les utilisateurs du domaine.
Etape 1: Cr?ez une ressource r?seau sur une machine (serveur ou poste de
travail) membre du domaine et fixez les droits d'?criture aux
utilisateurs authentifi?s. Cette ressource r?seau sera accessible via le
chemin UNC \\server\share avec "server" le nom de la machine h?bergeant
la ressource et "share" le nom du partage r?seau.
Etape 2: Ajouter cette ligne (UNE seule ligne) dans votre script
d'ouverture de session :
echo %date:~-10%
%time:~-11,8%,%computername%,%logonserver:~2%>>\\server\share\LogonUsers.log
Le fichier log correspondant (LogonUsers.log) au format CSV sera de la
forme :
12/06/2008 18:44:36,client1,contr?leur_de_domaine
12/06/2008 18:45:22,client2,contr?leur_de_domaine
...
Ce fichier log sera ensuite analys? pour en tirer vos propres
conclusions :-)
Note: N'h?sitez pas ? revenir vers nous en cas de probl?me
d'impl?mentation ;-)
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Previous Posts In This Thread:
On Wednesday, June 11, 2008 5:43 AM
laurence wrote:
Auditer l'authentification des postes client,
Bonjour,
J'ai un Dc sur un site A et un DC sur le site B; Je souhaite v?rifier que
les utilisateurs du site A s'authentifie bien sur le site A et non sur le
site B.
Est-ce possible ? attention sur en infrasctructure Windows 2000.
Merci pour vos r?ponses
On Wednesday, June 11, 2008 6:09 AM
Lognoul, Marc \(Private\) wrote:
Bonjour,si vous souhaitez le faire c?t? domain controller, il faut activer
Bonjour,
si vous souhaitez le faire c?t? domain controller, il faut activer l'audit
les ?v?nements "logon/logoff" et ensuite, apr?s plusieurs heures ou jours,
inspect l'event log "Security" afin d'y trouver les ?v?nement dont l'EventID
est 528 (logon r?ussi) ou 529 ? 539 (logon fautif, except? 538). La
description de l'?v?nement contiendra l'adresse IP du client. Cela vous
permettra de rep?rer quel client dirige ses requ?tes d'authentification sur
quel DC. Attention, si de nombreaux utilisateur ouvrent des session sur le
m?me DC, cela g?n?rera ?videmment beaucoup d'?v?nements.
C?t? client, vous pouvez ex?cuter la commande nltest /dsgetdc:DOMAIN (DOMAIN
?tant le nom DNS de votre domaine), cela rapportera le DC que le client
utilise pour un logon (ainsi que d'autres informations utiles). Cette
command fait part des "Support Tools", il est possible de ex?cuter contre
une machine distante.
Marc
"laurence" <laurence...@sogreah.fr> wrote in message
news:eF7AQe6y...@TK2MSFTNGP03.phx.gbl...
On Thursday, June 12, 2008 7:53 AM
Gilles LAURENT [MVP] wrote:
Re: Auditer l'authentification des postes client,
"laurence" <laurence...@sogreah.fr> a ?crit dans le message de
news:eF7AQe6y...@TK2MSFTNGP03.phx.gbl
Bonjour,
En compl?ment de la r?ponse de Marc, la variable d'environnement
%logonserver% sur le poste client vous indiquera le contr?leur de
domaine qui a proc?d? ? l'authentification du client. Vous pouvez
consolider ces informations dans un fichier de type texte en vous
appuyant sur le script d'ouverture de session.
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
On Thursday, June 12, 2008 11:13 AM
laurence wrote:
Bonjour Gilles,Ton id?e m'interresse, je sais que cette variable existe mais ?
Bonjour Gilles,
Ton id?e m'interresse, je sais que cette variable existe mais ? part la
v?rifier sur chaque poste !!!! Alors comment la faire remonter dans un
script en .bat ? Si t'as une astuce n'h?site pas sinon faut faire du vb et
c'est pas mon truc !
laurence
"Gilles LAURENT [MVP]" <gl...@free.fr> a ?crit dans le message de news:
uTMd0LIz...@TK2MSFTNGP05.phx.gbl...
On Thursday, June 12, 2008 1:10 PM
Gilles LAURENT [MVP] wrote:
Re: Auditer l'authentification des postes client,
"laurence" <laurence...@sogreah.fr> a ?crit dans le message de
news:OqeXo7Jz...@TK2MSFTNGP06.phx.gbl
Bonsoir,
Vous avez certainement mis en oeuvre un script d'ouverture de session
(par exemple logonscript.cmd) pour vos utilisateurs du domaine (pour
monter les lecteurs r?seau, la connexion aux imprimantes, etc ...). Si
cela est le cas alors vous pouvez donc utiliser ce script d'ouverture de
session pour consolider le r?sultat des authentifications dans un
fichier de type texte centralis? sur une ressource r?seau accessible en
?criture pour les utilisateurs du domaine.
Etape 1: Cr?ez une ressource r?seau sur une machine (serveur ou poste de
travail) membre du domaine et fixez les droits d'?criture aux
utilisateurs authentifi?s. Cette ressource r?seau sera accessible via le
chemin UNC \\server\share avec "server" le nom de la machine h?bergeant
la ressource et "share" le nom du partage r?seau.
Etape 2: Ajouter cette ligne (UNE seule ligne) dans votre script
d'ouverture de session :
echo %date:~-10%
%time:~-11,8%,%computername%,%logonserver:~2%>>\\server\share\LogonUsers.log
Le fichier log correspondant (LogonUsers.log) au format CSV sera de la
forme :
12/06/2008 18:44:36,client1,contr?leur_de_domaine
12/06/2008 18:45:22,client2,contr?leur_de_domaine
...
Ce fichier log sera ensuite analys? pour en tirer vos propres
conclusions :-)
Note: N'h?sitez pas ? revenir vers nous en cas de probl?me
d'impl?mentation ;-)
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
On Thursday, June 12, 2008 5:22 PM
Lognoul, Marc \(Private\) wrote:
Juste pour le fun (car la solution de Gilles est la plus simple ? mettre en
Juste pour le fun (car la solution de Gilles est la plus simple ? mettre en
ouvre), un peu d'amusement avec logparser:
- Installer logparser si ce n'est d?j? fait
- Cr?er un fichier nomm? "adSuccessNetLogons.cmd" et y adjoindre les lignes
de command suivantes:
Echo DC,Date-Time,Domain,User,PC,PC-IP > adSuccessNetLogons.csv
for /f %%i in ('dsquery server -o rdn') do
logparser -i:evt -o:csv -stats:off -headers:off
file:adSuccessNetLogons.lpq?DCNAME=%%i >> adSuccessInteractLogons.csv
- Cr?er un fichier nomm? "adSuccessNetLogons.lpq" et y adjoindre les lignes
de suivantes:
SELECT
ComputerName AS [DC],
TimeGenerated AS [Date-Time],
EXTRACT_TOKEN(Strings,1,'|') AS [Domain],
EXTRACT_TOKEN(Strings,0,'|') AS [User],
EXTRACT_TOKEN(Strings,6,'|') AS [PC],
EXTRACT_TOKEN(Strings,13,'|') AS [PC-IP]
USING EXTRACT_TOKEN(Strings,3,'|') AS [Logon Type]
FROM \\%DCNAME%\Security
WHERE
EventID=540
AND [Logon Type] = '3'
ORDER BY TimeGenerated ASC
Ouvrir une invite de commande et ex?cuter adSuccessNetLogons.cmd avec un
compte domain admin ou enterprise admin (si plusieurs domaines) ou un compte
autoris? ? lire l'event log s?curit? sur tous les DC's (encore mieux). Cela
g?n?rera un fichier CSV contenant les champs suivants:
- DC: nom du DC sui a authentifi?
- Date-Time: date et heure du logon
- Domain: domaine de l'utilisateur. Peut ?tre vide si l'acc?s est anonyme
- User: nom de l'utilisateur (ou de l'ordinateur). Peut ?tre vide si l'acc?s
est anonyme
- PC: nom du PC. Parfois vide (l'audit Windows n'est pas parfait...)
- PC-IP: Parfois vide (idem).
Une fois en possession du fichier CSV, on peut continuer l'extraction de
donn?e avec logparser. Exemple:
Lister les logon pour un subnet donn?: logparser.exe -i:csv -o:datagrid
"SELECT * FROM adSuccessInteractLogons.csv WHERE PC-IP LIKE '192.168.2.%'
Compter le nombre de logon par DC: logparser.exe -i:csv -o:datagrid "SELECT
[DC] AS [Domain Controller], COUNT(*) AS [# Logons] FROM
adSuccessInteractLogons.csv GROUP BY [DC] ORDER BY [# Logons] DESC"
... logparser, c'est comme les films de Kubrick, il faut du temps pour les
appr?cier mais ensuite, on les consid?rera toujours comme des chef-ouvres :)
Marc
"Gilles LAURENT [MVP]" <gl...@free.fr> wrote in message
news:u$FDK9KzI...@TK2MSFTNGP05.phx.gbl...
On Friday, June 13, 2008 10:37 AM
laurence wrote:
Merci ? tous les deux vous etes excellent !
Merci ? tous les deux vous etes excellent !
Laurence
Submitted via EggHeadCafe - Software Developer Portal of Choice
Parallel Programming in C# 4.0: A Short Synopsis
http://www.eggheadcafe.com/tutorials/aspnet/047afdf6-61ab-4b85-9204-b0f20bdc955a/parallel-programming-in-c.aspx