IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Modif mdp admin local d'une liste de serveur


Sujet :

VBScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Modif mdp admin local d'une liste de serveur
    Bonjour,

    Je vais faire clair:

    Besoin: changer le mdp administrateur de chaque serveur
    Contrainte: utiliser un fichier texte listant ces serveurs et le mot de passe à associer à chacun.

    J'ai un bout de code (récupéré sur le net) pour mettre le même mot de passe partout mais je ne sais pas comment faire pour attribuer un mdp suivant une liste via la commande SPLIT
    Si vous pouvez m'aider, merci d'avance.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    	strPassword = "password"
    	Const InputFile = "Liste Servers.txt"
    	Const ForReading = 1
     
    	Set objFSO = CreateObject("Scripting.FileSystemObject")
    	Set objFile = objFSO.OpenTextFile(InputFile, ForReading)
    	strComputers = objFile.ReadAll
    	objFile.Close
    	arrComputers = Split(strComputers, vbCrLf)
     
    	On Error Resume Next
    	For Each strComputer In arrComputers
     
     
    		' Pinging. Inten
    		Set objShell = CreateObject("Wscript.Shell")
    		Set objScriptExec = objShell.Exec("ping -n 2 -w 1000 " & strComputer)
    		If InStr(objScriptExec.StdOut.ReadAll, "Reply") > 0 Then  
     
    			' User manipulation, in my case the user is "Test", 
    			' change it to the local Administrator user name
    			Err.Clear
    			Set objUser = GetObject("WinNT://" & strComputer & "/test, user")
    			If Err.Number Then
    		     		WScript.Echo " " & strComputer & " - ERROR: User name not found"
    				Err.Clear
     
    			Else
    				objUser.SetPassword strPassword
    				objUser.SetInfo
     
    				WScript.Echo " " & strComputer & " - Password successfully changed"
    			End If	
    		Else
     
    			WScript.Echo " " & strComputer & " - ERROR: Host not responding"			
    		End If
     
    	Next

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Je vais faire clair:
    Pourtant ce qui suit n'est pas très clair :
    J'ai un bout de code (récupéré sur le net) pour mettre le même mot de passe partout mais je ne sais pas comment faire pour attribuer un mdp suivant une liste via la commande SPLIT
    Tu veux quoi ? un fichier avec sur chaque ligne : "nom du serveur, ancien mdp, nouveau mdp" ? -> décortiqué via le split et adapté ton script avec le résultat ?

    Ou autre chose ?

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    J'au eu en partie ma réponse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    '===========================================
    'Recherche auto du dossier de Lancement
    Set objShell = CreateObject("Wscript.Shell")
    strPath = Wscript.ScriptFullName
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.GetFile(strPath)
    lStr_LogPath = objFSO.GetParentFolderName(objFile) 
    lStr_LogPath = lStr_LogPath &"\"
    '===========================================
     
    Set lObj_FSO = CreateObject("Scripting.FileSystemObject")
     
    ' Ouverture list serveur
     
    Set lObj_FileLstSrv = lObj_FSO.GetFile(lStr_LogPath & "listSRV.txt" )
    Set lObj_TextLstSrv = lObj_FileLstSrv.OpenAsTextStream(1)
     
    'lit le fichier text jusqu'à la fin
    Do While Not lObj_TextLstSrv.AtEndOfStream
     
    	'lit la ligne en cours
    	Ligne = lObj_TextLstSrv.ReadLine
     
    	If Ligne <> "" Then			
    	strComputer = split(Ligne,";")(0)           
    	strpassword = split(Ligne,";")(1)
     
    	wscript.echo "SRV:" & strComputer & " " & "Password: " & strpassword
    	'Commande pour maj password
     
    Set objUser = GetObject("WinNT://" & strComputer & "/Administrator, user")
    objUser.SetPassword strPassword
     
    	'commande pour vérification de la maj du password
    	'Si OK wscript.echo "OK SRV:" & strComputer & " " & "Password: " & strpassword
    	'Si pas OK wscript.echo "NOK SRV:" & strComputer & " " & "Password: " & strpassword
     
    	End If
     
    'recommence
    loop

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Si on suit le modèle : nom du pc, mdp (nouveau et ancine ou pas).
    J'aurais plus vu un premier split sur le retour de ligne comme tu fesais.
    Puis dans la boucle, un plit sur un séparateur dans une var temporaire.
    Ensuite ta variable tu peux l'utiliser comme un tableau de chaine de caractères;
    Par exemple :
    var = split(ligne, ";")
    var(0) -> nom du pc
    var(1) -> mdp

    enfin je dis cela mais cela dépend de la taille potentiel du fichier, et de si tu veux faire un readall, ou un parcours ligne par ligne, et si tu veux ou non pracourir plusieurs fois le fichier.

Discussions similaires

  1. Réponses: 10
    Dernier message: 18/06/2009, 09h16
  2. Pb Erreur changer MDP Admin local via domain
    Par kenji_lol dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 27/06/2008, 17h36
  3. Formulaire spécifique de modification d'un élément d'une liste
    Par hopla.hansele dans le forum SharePoint
    Réponses: 0
    Dernier message: 21/05/2008, 19h35
  4. Réponses: 8
    Dernier message: 19/11/2007, 18h47
  5. Modification du contexte d'appel à une liste.
    Par fastlock dans le forum W4 Express
    Réponses: 1
    Dernier message: 18/09/2007, 16h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo