Expiration du compte AD semi-inopérante

Le
Mathieu G.
Bonsoir,

Petite question dont je n'ai pu trouver la réponse via mon ami Google,
ainsi que la méthode RTFM :)

Sur notre Active Directory (sous un 2K3 Server), nous sommes amenés à
définir pour certains utilisateurs une date d'expiration du compte.

Une fois le compte arrivé à expiration, l'utilisateur ne rencontre le
message "votre compte à expiré" lors de sa connexion que si, et
seulement si, il dispose des privilèges d'administrateur local de sa
machine. Il lui est alors impossible de démarrer une session en
utilisant ses identifiants.

Sur une machine où l'utilisateur ne dispose que des droits "utilisateur"
normaux, il n'est nullement informé de l'arrivée à expiration de son
compte, et peut tranquillement ouvrir une session avec ses identifiants
habituels. Il lui est juste impossible de parcourir les partages réseau
nécessisants d'être préalablement authentifié.

Auriez-vous une quelquonque explication rationelle à cette bizarrerie,
qui fait perdre un certain intêret à la fonction d'expiration des comptes ?

Merci bien, et bonne fin de soirée ;)

--
Mathieu G.
RC Europe IT Dpt
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Mathieu CHATEAU
Le #679184
Bonjour,

l'appartenance au groupe "administrateurs" n'a rien à voir avec votre
soucis...
Il s'agit de la mise en cache des credentials, qui fait qu'il y faut
redémarrer ensuite pour que cela soit pris en compte.

Afin d'éviter ceci, il faut activer la GPO "toujours attendre le réseau".
Par défaut, il est possible de se logguer alors que la couche réseau n'est
pas encore prête.

Vérifiez qu'il n'y a pas un compte utilisateur local à la machine qui porte
le même login/pass. Sinon la personne pourra toujours s'y logguer en
sélectionner la machine à la place du domaine


--
Cordialement,
Mathieu CHATEAU
http://lordoftheping.blogspot.com


"Mathieu G." news:46fac06d$0$26380$
Bonsoir,

Petite question dont je n'ai pu trouver la réponse via mon ami Google,
ainsi que la méthode RTFM :)

Sur notre Active Directory (sous un 2K3 Server), nous sommes amenés à
définir pour certains utilisateurs une date d'expiration du compte.

Une fois le compte arrivé à expiration, l'utilisateur ne rencontre le
message "votre compte à expiré" lors de sa connexion que si, et seulement
si, il dispose des privilèges d'administrateur local de sa machine. Il lui
est alors impossible de démarrer une session en utilisant ses
identifiants.

Sur une machine où l'utilisateur ne dispose que des droits "utilisateur"
normaux, il n'est nullement informé de l'arrivée à expiration de son
compte, et peut tranquillement ouvrir une session avec ses identifiants
habituels. Il lui est juste impossible de parcourir les partages réseau
nécessisants d'être préalablement authentifié.

Auriez-vous une quelquonque explication rationelle à cette bizarrerie, qui
fait perdre un certain intêret à la fonction d'expiration des comptes ?

Merci bien, et bonne fin de soirée ;)

--
Mathieu G.
RC Europe IT Dpt


Mathieu G.
Le #679183
Bonsoir,

l'appartenance au groupe "administrateurs" n'a rien à voir avec votre
soucis...
Il s'agit de la mise en cache des credentials, qui fait qu'il y faut
redémarrer ensuite pour que cela soit pris en compte.


Certes, mais même après reboots, c'est la même chose (constaté sur
plusieurs machines).

Afin d'éviter ceci, il faut activer la GPO "toujours attendre le
réseau". Par défaut, il est possible de se logguer alors que la couche
réseau n'est pas encore prête.


Dans le cas présent, la couche réseau est prête avant le login (exemple
avec une authentification WPA *avant* l'ouverture de session). Je
connais bien les symptomes lorsque le login est fait alors que la couche
réseau n'est pas prête, et ce n'est nullement le cas ici.

Vérifiez qu'il n'y a pas un compte utilisateur local à la machine qui
porte le même login/pass. Sinon la personne pourra toujours s'y logguer
en sélectionner la machine à la place du domaine


Il n'y en a pas.

J'insiste réélement que ce cas de figure n'arrive *que* lorsque
l'utilisateur ne fait *pas* partie du groupe local "Administrateur" de
la machine, c'est vraiment la seule différence.

Merci pour vos pistes :)

--
Mathieu G.
RC Europe IT Dpt

thomas
Le #691179
Bonjour a tous je viens de lire ce post et j'aimerais savoir comment faire
pour activer la GPO "toujours attendre le réseau" s'il vous plaît car j'ai
le même problème que Mathieu. merci pour votre aide.
Mathieu CHATEAU
Le #689303
Bonjour,

ouvrer gpmc.msc
créez une nouvelle GPO
Allez dans la partie ordinateur
Modèles d'administration
Système
Ouverture de session
double cliquer sur "toujours attendre le réseau lors du démarrage"
Activer

Attendre / forcer la réplication + gpupdate /force sur la station + reboot
pour valider


--
Cordialement,
Mathieu CHATEAU
English blog: http://lordoftheping.blogspot.com
French blog: http://www.lotp.fr


"thomas" news:
Bonjour a tous je viens de lire ce post et j'aimerais savoir comment faire
pour activer la GPO "toujours attendre le réseau" s'il vous plaît car j'ai
le même problème que Mathieu. merci pour votre aide.





thomas
Le #689302
Oups désolé j'ai oublier de préciser que j'étais sur Windows Server 2000 SP4
"toujours attendre le réseau lors du démarrage n'est pas dans la liste"
comment puis-je faire pour que les sessions des utilisateurs de mon
entreprise se ferment automatiquement lorsque les horaires d'accès arrivent
a expiration? j'ai déjà activé la fermeture automatique des sessions
lorsqu'elle arrivent a expiration mais ca ne marche qu'après un redémarrage
je voudrais que ca marche même si ils sont déjà connecté a leurs session...
cordialement
Mathieu CHATEAU
Le #689301
Quel est l'os sur vos postes clients ? 2000 ou XP ?

pour fermer les sessions, il faut utiliser un script VBS qui se connecte sur
chaque station pour fermer la session

--
Cordialement,
Mathieu CHATEAU
English blog: http://lordoftheping.blogspot.com
French blog: http://www.lotp.fr


"thomas" news:
Oups désolé j'ai oublier de préciser que j'étais sur Windows Server 2000
SP4 "toujours attendre le réseau lors du démarrage n'est pas dans la
liste" comment puis-je faire pour que les sessions des utilisateurs de mon
entreprise se ferment automatiquement lorsque les horaires d'accès
arrivent a expiration? j'ai déjà activé la fermeture automatique des
sessions lorsqu'elle arrivent a expiration mais ca ne marche qu'après un
redémarrage je voudrais que ca marche même si ils sont déjà connecté a
leurs session...
cordialement



thomas
Le #689300
les postes clients tournent sur XP (une 60aine) et sur 98SE (2 ou 3)
Pour ce qui est des scripts VBS je n'y avait pas du tout penser j'ai juste
créer des batchs pour interdire l'accès (net user nom_d'utilisateur
/times: ) et un autre pour redémarrer l'ordinateur (shutdown.exe -l -t
900 -m ip_machine -c "la machine va s'éteindre" ) Mais ce n'était pas
vraiment le but recherché.
Je trouve ton idée exactement apropriée a mes besoin par contre je ne m'y
connais pas du tout en script VBS pourait tu me donner un exemple qui se
connecterait a une session puis pour la fermer stp.
Merci pour ton aide car j'ai chercher longement sur google des softs mais
impossible.
Mathieu CHATEAU
Le #689299
Voici un script.

Remplacer:
"ou=MONOU,dc=MONDOMAINE,dc=COM" par les bonnes valeurs
C:ScriptsLogOffLogOff.log par un chemin valide



Const ForWriting = 2
strComputerContainer = "ou=MONOU,dc=MONDOMAINE,dc=COM"


Set objContainer = GetObject("LDAP://" & strComputerContainer)
objContainer.Filter = Array("Computer")

Set objFSO = CreateObject ("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile ("C:ScriptsLogOffLogOff.log",
ForWriting)
Set StdOut = WScript.StdOut
Set objShell = CreateObject("WScript.Shell")

On Error Resume Next

For Each objComputer In objContainer

strComputer = Split(objComputer.Name, "=")(1)


Set objScriptExec = objShell.Exec("ping " & strComputer)
strPingResults = LCase(objScriptExec.StdOut.ReadAll)
objFile.Write (Now & VbCrLf)

If InStr(strPingResults, "reply from") Then
objFile.Write ("Ping " & strComputer & " OK" & VbCrLf)
Err.Clear
Set objWMIService = GetObject("winmgmts:" & _
"{impersonationLevel=Impersonate}!\" & strComputer & "rootcimv2")

If Err.Number Then
objFile.Write ("Acces WMI " & strComputer & " Error" & VbCrLf)
objFile.Write ("Type d'Erreur : " & Err.Number & ": " & Err.Description &
VbCrLf)
Err.Clear
Else

Const SHUTDOWN = 4
objFile.Write ("Acces WMI " & strComputer & " OK" & VbCrLf)
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate,(shutdown)}!\" & strComputer &
"rootcimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
("SELECT * FROM Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Win32Shutdown(SHUTDOWN)
Next

End If
Else
objFile.Write ("Ping " & strComputer & " Error" & VbCrLf)
End If
Next
objFile.Close


--
Cordialement,
Mathieu CHATEAU
English blog: http://lordoftheping.blogspot.com
French blog: http://www.lotp.fr


"thomas" news:
les postes clients tournent sur XP (une 60aine) et sur 98SE (2 ou 3)
Pour ce qui est des scripts VBS je n'y avait pas du tout penser j'ai juste
créer des batchs pour interdire l'accès (net user nom_d'utilisateur
/times: ) et un autre pour redémarrer l'ordinateur (shutdown.exe -l -t
900 -m ip_machine -c "la machine va s'éteindre" ) Mais ce n'était pas
vraiment le but recherché.
Je trouve ton idée exactement apropriée a mes besoin par contre je ne m'y
connais pas du tout en script VBS pourait tu me donner un exemple qui se
connecterait a une session puis pour la fermer stp.
Merci pour ton aide car j'ai chercher longement sur google des softs mais
impossible.



Publicité
Poster une réponse
Anonyme