Pb Erreur changer MDP Admin local via domain [RESOLU]
Pb Erreur changer MDP Admin local via domain [RESOLU] - VB/VBA/VBS - Programmation
MarshPosté le 27-06-2008 à 11:06:34
Bonjour à tous,
Je me lance dans le VBS (Admin System oblige), et j'ai trouvé un script pour changer le mot de passe Admion local de chaque PC qui se trouve dans une OU spécial de mon Active Directory.
For Each objItem in objOU strComputer = objItem.CN Set objUser = GetObject("WinNT://" & StrComputer & "/Administrateur" ) objUser.SetPassword("NeMDPAdmin" ) Next Ca fonctionne super bien, sauf que si j'ai un PC qui est éteind il me renvoie : Erreur : Le chemin reseau n'a pas été trouvé" Code : 80070035 Source : (null)
J'aimerai qu'il me renvoie la liste des pc ou cela n'a pas été appliqué à la rigueur et continuer sa tache ce serait le meilleur des mondes
Avez vous une idée. Merci
[EDIT]
Voici la solution c'est un scrip un peu bidouiller mais qui fonctionne j'ai un petit parc (50 machines) sur un parc consequent je ne pourrai pas definir le temps Cela m'a pris environ une dizaine de min
Citation :
'# Changement de mot de passe administrateur local de chaque machine dans l'AD si elle ping ### '# Préciser l'OU où se trouvent les PC ###
'### Creation de l'objet pour le ping ###
Set objShell = CreateObject("WScript.Shell" )
'### Creation de l'objet pour l'ecriture dans le fichier ###
Set FSys = CreateObject("Scripting.FileSystemObject" ) Set MDP_Admin_Changer = FSys.CreateTextFile("D:\fichier_OK.txt" ) Set MDP_Admin_Non_Changer = FSys.CreateTextFile("D:\fichier_Nok.txt" )
If InStr(strPingResults, "perdus = 0" ) Then Set objUser = GetObject("WinNT://" & StrComputer & "/Administrateur" ) objUser.SetPassword("Nouveau_Mot_de_Passe" )
With MDP_Admin_Changer '### Pour écrire dans le fichier texte les Pc ou le mot de passe à été changé### .writeLine StrComputer End With
Else With MDP_Admin_Non_Changer '### Pour écrire dans le fichier texte les Pc ou le mot de passe n'a pas été changé### .writeLine StrComputer End With End If Next
Message édité par kenji_lol le 11-08-2008 à 15:42:28
Marsh Posté le 27-06-2008 à 11:06:34
Bonjour à tous,
Je me lance dans le VBS (Admin System oblige), et j'ai trouvé un script pour changer le mot de passe Admion local de chaque PC qui se trouve dans une OU spécial de mon Active Directory.
Citation:
Set objOU = GetObject("LDAP://OU=OU-PC, DC=MonDomaine, DC=fr" )
objOU.Filter = Array("Computer" )
For Each objItem in objOU
strComputer = objItem.CN
Set objUser = GetObject("WinNT://" & StrComputer & "/Administrateur" )
objUser.SetPassword("NeMDPAdmin" )
Next
Ca fonctionne super bien, sauf que si j'ai un PC qui est éteind il me renvoie :
Erreur : Le chemin reseau n'a pas été trouvé"
Code : 80070035
Source : (null)
J'aimerai qu'il me renvoie la liste des pc ou cela n'a pas été appliqué à la rigueur et continuer sa tache ce serait le meilleur des mondes
Avez vous une idée.
Merci
[EDIT]
Voici la solution c'est un scrip un peu bidouiller mais qui fonctionne j'ai un petit parc (50 machines) sur un parc consequent je ne pourrai pas definir le temps
Cela m'a pris environ une dizaine de min
'# Changement de mot de passe administrateur local de chaque machine dans l'AD si elle ping ###
'# Préciser l'OU où se trouvent les PC ###
'### Creation de l'objet pour le ping ###
Set objShell = CreateObject("WScript.Shell" )
'### Creation de l'objet pour l'ecriture dans le fichier ###
Set FSys = CreateObject("Scripting.FileSystemObject" )
Set MDP_Admin_Changer = FSys.CreateTextFile("D:\fichier_OK.txt" )
Set MDP_Admin_Non_Changer = FSys.CreateTextFile("D:\fichier_Nok.txt" )
'### Creation de l'objet pour parcourir l'AD ###
Set objOU = GetObject("LDAP://OU=Ordinateur, DC=Domain, DC=fr" )
objOU.Filter = Array("Computer" )
For Each objItem in objOU
strComputer = objItem.CN
Set objScriptExec = objShell.Exec( _
"ping -n 1 -w 1000 " & strComputer)
strPingResults = LCase(objScriptExec.StdOut.ReadAll)
If InStr(strPingResults, "perdus = 0" ) Then
Set objUser = GetObject("WinNT://" & StrComputer & "/Administrateur" )
objUser.SetPassword("Nouveau_Mot_de_Passe" )
With MDP_Admin_Changer '### Pour écrire dans le fichier texte les Pc ou le mot de passe à été changé###
.writeLine StrComputer
End With
Else
With MDP_Admin_Non_Changer '### Pour écrire dans le fichier texte les Pc ou le mot de passe n'a pas été changé###
.writeLine StrComputer
End With
End If
Next
Message édité par kenji_lol le 11-08-2008 à 15:42:28