Laboratoire Microsoft |  Blog |  Webcast |  Students Club |  FaqXP  |  CertifExpress 
 Le Forum de Référence sur les Technologies Microsoft - http://www.forum-microsoft.org

le mot de passe n'expire jamais.

Forum sur le système d'exploitation Windows 2000 Server

Modérateur: Modérateurs_Systèmes

le mot de passe n'expire jamais.

Messagepar birdie sur Sam 20 Oct 2007, 10:31

Je souhaiterais "cocher" le mot de passe n'expire jamais pour un groupe d'utilisateurs et non passer les comptes un à un...pour cocher la fameuse case.
Je précise que je ne suis pas informaticien... quoi ? vous l'aviez devinné ? 8O

Vous devez avoir une solution je pense. :D

Merci à vous !
Avatar de l’utilisateur
birdie
N00b
N00b
 
Messages: 8
Inscrit le: Jeu 11 Oct 2007, 18:59
Localisation: Clermont-Fd

Messagepar Waryx sur Sam 20 Oct 2007, 10:40

TU es donc sous 2000 Server ?
Car sous 2003 il est possible de sélectionner plusieurs utilisateurs d'un coup pour en modifier les propriétés.

Je pense qu'il faudra passer par un script sinon
Joachim GOMARD
Consultant CoreIO - Microsoft France
MCSE 2003 M & S / MCTS : Windows Vista / Windows Server 2008 / Exchange Server 2007 / Hyper-V
http://www.mslive.fr
Avatar de l’utilisateur
Waryx
Keyboard Master
Keyboard Master
 
Messages: 5863
Inscrit le: Ven 28 Jan 2005, 14:41
Localisation: Asnières (92)

Messagepar bigstyle sur Sam 20 Oct 2007, 10:57

Freddy ELMALEH - Consultant Freelance pour Active IT
MVP Windows Server - Directory Services (2007-2008)
MCITP Enterprise Administrator (2008) - MCSE 2000/2003 Security - MCSA Messaging 2000/2003
Bibliographie : "Sécurité Windows Vista - Le Guide Complet". et "Informatisez votre TPE".
Tout ce que je sais,c'est que je ne sais rien.
Image
Avatar de l’utilisateur
bigstyle
Forum Master
Forum Master
 
Messages: 15436
Inscrit le: Ven 01 Fév 2002, 22:46
Localisation: Paris

Messagepar birdie sur Sam 20 Oct 2007, 12:21

et dans ce script que faut il que j'adapte pour que ça fonctionne pour un groupe d'étudiants ?

c'est un peu du chinois pour moi...

merci
Avatar de l’utilisateur
birdie
N00b
N00b
 
Messages: 8
Inscrit le: Jeu 11 Oct 2007, 18:59
Localisation: Clermont-Fd

Messagepar Waryx sur Sam 20 Oct 2007, 14:23

Pourtant si tu ne veux pas le faire à la main et que tu es sous windows 2000 server il va falloir te mettre au script pour automatiser ta tache
Joachim GOMARD
Consultant CoreIO - Microsoft France
MCSE 2003 M & S / MCTS : Windows Vista / Windows Server 2008 / Exchange Server 2007 / Hyper-V
http://www.mslive.fr
Avatar de l’utilisateur
Waryx
Keyboard Master
Keyboard Master
 
Messages: 5863
Inscrit le: Ven 28 Jan 2005, 14:41
Localisation: Asnières (92)

Messagepar birdie sur Sam 20 Oct 2007, 16:02

merci a vous deux pour les infos !
je vais m'y mettre dès lundimais je voudrais savoir
a quoi m'attendre...

ce fichier PwdNX.bat ou dois je l'enregistrer sur le serveur ?
y'a ti-l un lieu précis ?

ensuite je suppose qu'il faudra le lancer et que va t -il se passer ...


Vous comprendrez que je suis trés prudent.
150 etudiants et eleves du lycée travaillent sur le serveur
et je ne souhaite pas les priver de ça...
Je suis un peu frileux quoi ...
Avatar de l’utilisateur
birdie
N00b
N00b
 
Messages: 8
Inscrit le: Jeu 11 Oct 2007, 18:59
Localisation: Clermont-Fd

Messagepar Waryx sur Dim 21 Oct 2007, 0:31

le problème de ce script au premier coup d'oeil c'est qu'il le fait pour un user et non pour tous...

Il faudrait regader du script center si en VBS il n'y aurait pas quelque chose...
Joachim GOMARD
Consultant CoreIO - Microsoft France
MCSE 2003 M & S / MCTS : Windows Vista / Windows Server 2008 / Exchange Server 2007 / Hyper-V
http://www.mslive.fr
Avatar de l’utilisateur
Waryx
Keyboard Master
Keyboard Master
 
Messages: 5863
Inscrit le: Ven 28 Jan 2005, 14:41
Localisation: Asnières (92)

Messagepar bigstyle sur Dim 21 Oct 2007, 2:02

Tu peux aussi regarder du coté de adfind | admod
Freddy ELMALEH - Consultant Freelance pour Active IT
MVP Windows Server - Directory Services (2007-2008)
MCITP Enterprise Administrator (2008) - MCSE 2000/2003 Security - MCSA Messaging 2000/2003
Bibliographie : "Sécurité Windows Vista - Le Guide Complet". et "Informatisez votre TPE".
Tout ce que je sais,c'est que je ne sais rien.
Image
Avatar de l’utilisateur
bigstyle
Forum Master
Forum Master
 
Messages: 15436
Inscrit le: Ven 01 Fév 2002, 22:46
Localisation: Paris

Messagepar birdie sur Dim 21 Oct 2007, 8:39

et il n'existe pas de petits logiciles qui permettent
de passer en revue les differents utilisateurs ?
et de cocher dans un tableau que le mot de passe n'expire jamais?
du style:


mot de passe expire

oui non
alain | X
bruno | X
catherine | X
etc...

ça n'existe pas ça ?
ça me perttrait d'aller plus vite...
et d'éviter de faire propriéte, compte a chaque fois.
Avatar de l’utilisateur
birdie
N00b
N00b
 
Messages: 8
Inscrit le: Jeu 11 Oct 2007, 18:59
Localisation: Clermont-Fd

Messagepar Waryx sur Dim 21 Oct 2007, 10:12

birdie a écrit:et d'éviter de faire propriéte, compte a chaque fois.


Pas à ma connaissance, surtout que ce problème ne se pose plus depuis 2003 et la possibilité de modifier plusieurs comptes d'un seul coup...
Joachim GOMARD
Consultant CoreIO - Microsoft France
MCSE 2003 M & S / MCTS : Windows Vista / Windows Server 2008 / Exchange Server 2007 / Hyper-V
http://www.mslive.fr
Avatar de l’utilisateur
Waryx
Keyboard Master
Keyboard Master
 
Messages: 5863
Inscrit le: Ven 28 Jan 2005, 14:41
Localisation: Asnières (92)

Messagepar bigstyle sur Dim 21 Oct 2007, 20:01

birdie a écrit:et il n'existe pas de petits logiciles qui permettent
de passer en revue les differents utilisateurs ?
et de cocher dans un tableau que le mot de passe n'expire jamais?
du style:


mot de passe expire

oui non
alain | X
bruno | X
catherine | X
etc...

ça n'existe pas ça ?
ça me perttrait d'aller plus vite...
et d'éviter de faire propriéte, compte a chaque fois.


avec adfind et admod tu peux repérer les utilisateurs qui ont cet attribut défini (via adfind) et modifie celui-ci (via admod).
Freddy ELMALEH - Consultant Freelance pour Active IT
MVP Windows Server - Directory Services (2007-2008)
MCITP Enterprise Administrator (2008) - MCSE 2000/2003 Security - MCSA Messaging 2000/2003
Bibliographie : "Sécurité Windows Vista - Le Guide Complet". et "Informatisez votre TPE".
Tout ce que je sais,c'est que je ne sais rien.
Image
Avatar de l’utilisateur
bigstyle
Forum Master
Forum Master
 
Messages: 15436
Inscrit le: Ven 01 Fév 2002, 22:46
Localisation: Paris

Messagepar marcww sur Dim 21 Oct 2007, 20:06

Salut

As-tu vraiment besoin que le mot de passe expire pour certains comptes ?

Marc
Avatar de l’utilisateur
marcww
Madness
Madness
 
Messages: 4360
Inscrit le: Sam 14 Juin 2003, 10:18
Localisation: Alsace

Messagepar Goran sur Mar 23 Oct 2007, 14:01

Salut,

Solution en VBS :

1. Liste tous les comptes utilisateurs et l'état de l'option à partir d'une OU donnée :
Code: Tout sélectionner
On Error Resume Next

Const USERS_LIST = "UsersList.csv"
Const ForWriting = 2
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000

Set objRootDSE = GetObject("LDAP://rootDSE" )
Set objFSO = CreateObject("Scripting.FileSystemObject")

Set fsoListUsers = objFSO.OpenTextFile(USERS_LIST, ForWriting, True)

ListOU("OU=SousOU,OU=OURacine")

fsoListUsers.Close
Wscript.Echo "Terminé"


Sub ListOU(strOU)
   Set objOU = GetObject("LDAP://" & strOU & "," & objRootDSE.Get("defaultNamingContext"))
   objOU.Filter = Array("organizationalUnit","user")
   For Each objItem In objOU
      If objItem.Class = "user" Then
         If IsExpirePassword(objItem.Name,strOU) Then
            fsoListUsers.Writeline objItem.Name & VbTab & strOU & VbTab & ""
         Else
            fsoListUsers.Writeline objItem.Name & VbTab & strOU & VbTab & "x"
         End If
      End If
      If objItem.Class = "organizationalUnit" Then
         ListOU(objItem.Name & "," & strOU)
      End If
   Next
End Sub

Function IsExpirePassword(strUser,strOU)
   Set objUser = GetObject ("LDAP://" & strUser & "," & strOU & "," & objRootDSE.Get("defaultNamingContext"))
   intUAC = objUser.Get("userAccountControl")

   If ADS_UF_DONT_EXPIRE_PASSWD AND intUAC Then
      IsExpirePassword = FALSE
   Else
      IsExpirePassword = TRUE
   End If
End Function

Il faut modifier la ligne "ListOU("OU=SousOU,OU=OURacine")" pour préciser l'OU à lister (en partant de l'OU racine bien sûr).
Si on veut le faire pour plusieurs OU d'arborescences différentes, il suffit de rajouter les lignes "ListOU" correspondantes.
A noter que le script liste le contenu des sous OU.
Le fichier créé utilise la tabulation comme caratère de séparation, ce qui permet de l'ouvrir sous Excel. Le nom et le chemin peuvent être modifiés via la constante "USERS_LIST".
Si l'option "Le mot de passe n'expire jamais" est active pour un compte, elle est signalée par un "x" en troisième colonne.

2. Active/Désactive l'option à partir du fichier :
Code: Tout sélectionner
On Error Resume Next

Const USERS_LIST = "UsersList.txt"
Const ForReading = 1
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000

Set objRootDSE = GetObject("LDAP://rootDSE" )
Set objFSO = CreateObject("Scripting.FileSystemObject")

Set fsoListUsers = objFSO.OpenTextFile(USERS_LIST, ForReading)

Main()

fsoListUsers.Close
Wscript.Echo "Terminé"


Sub Main()
   Do Until fsoListUsers.AtEndOfStream
      strFileInfo = fsoListUsers.ReadLine
      arrFileInfo = Split(strFileInfo,"   ")
      strUser = arrFileInfo(0)
      strOU = arrFileInfo(1)
      strPasswordOption = arrFileInfo(2)
      If Ucase(strPasswordOption) = "X" Then
         SetPasswordNeverExpire strUser,strOU,TRUE
      Else
         SetPasswordNeverExpire strUser,strOU,FALSE
      End If
   Loop
End Sub

Sub SetPasswordNeverExpire(strUser,strOU,Enable)
   Set objUser = GetObject ("LDAP://" & strUser & "," & strOU & "," & objRootDSE.Get("defaultNamingContext"))
   intUAC = objUser.Get("userAccountControl")

   If Enable Then
      If ADS_UF_DONT_EXPIRE_PASSWD AND intUAC Then
      Else
         objUser.Put "userAccountControl", intUAC XOR ADS_UF_DONT_EXPIRE_PASSWD
         objUser.SetInfo
      End If
   Else
      If ADS_UF_DONT_EXPIRE_PASSWD AND intUAC Then
         objUser.Put "userAccountControl", intUAC XOR ADS_UF_DONT_EXPIRE_PASSWD
         objUser.SetInfo
      End If
   End If
End Sub

Il suffit de rajouter (ou de supprimer) un "x" (peu importe la casse) en troisième colonne pour modifier l'option pour le compte (activer/désactiver).
Le nom et le chemin du fichier source peuvent être modifiés via la constante "USERS_LIST".

8)
Avatar de l’utilisateur
Goran
Madness
Madness
 
Messages: 4738
Inscrit le: Mer 02 Oct 2002, 15:51
Localisation: Sud de la France


Retourner vers 2000 Server

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 0 invités



Accueil | News | Articles | Tips | Outils | FAQ XP | Certification | Easters Eggs
Essentiels | Top Sites | Glossaire | Vidéos | Whitepapers | Essentiels | Boîte à Scripts
Conditions d'utilisation é Copyright | Respect de la vie privée