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 :

VBS renommer différents comptes et SID


Sujet :

VBScript

  1. #1
    Candidat au Club
    Homme Profil pro
    stage
    Inscrit en
    Juin 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : stage

    Informations forums :
    Inscription : Juin 2015
    Messages : 11
    Points : 2
    Points
    2
    Par défaut VBS renommer différents comptes et SID
    Bonjour tous,

    Voila je débute depuis vraiment peu en VBS et en faisant mes recherches je retombe souvent sur developpez.net et j'ai aussi appris sur le site.

    Aujourd'hui je souhaite renommer mes comptes administrateurs via un script vbs, jusqu'ici rien de difficile mais sur certains serveurs j'ai "Administrateur" et d'autres "Administrator" et la je bute... alors ma partie de script sur le renommage (car mon script fait d'autre choses qui fonctionnent) j'ai écrit un truc un peu moche qui est:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    On Error resume next
     
    strComputer = objTextIn.ReadLine
    strOldName = "Administrator"
    strOldName2 = "Administrateur"
    strNewName = "Localusr"	
    set objComp = GetObject("WinNT://" & strComputer)
    set objUser = GetObject("WinNT://" & strComputer & "/" & strOldName & ",user")
    set objUser = GetObject("WinNT://" & strComputer & "/" & strOldName2 & ",user")
    set objNewUser = objComp.MoveHere(objUser.ADsPath, strNewName)
     
    On Error GoTo 0

    Cependant je voudrais faire un script sans le "on error" genre quelque chose qui vérifie le nom si c'est "administrateur" ou "administrateur" et si le sid correspond à celui de l'administrateur alors il renomme en "localusr".

    j’espère être explicite dans ma demande et vous remercie par avance de votre aide.

    Grenth

  2. #2
    Membre confirmé Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Points : 582
    Points
    582
    Par défaut
    Bonjour,

    Ce Hey Scripting Guy indique comment récupérer le nom du compte Adminsitrateur Local.
    Tu peux t'en servir de cette manière :
    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
     
    ' Get Computer Name
    Set WshNetwork = CreateObject("WScript.Network")
    strComputer = WshNetwork.ComputerName
     
    ' WMI method to get local Administrator user name
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
     
    Set colAccounts = objWMIService.ExecQuery _
        ("Select * From Win32_UserAccount Where Domain = '" & strComputer & "'")
     
    For Each objAccount in colAccounts
        If Left (objAccount.SID, 6) = "S-1-5-" and Right(objAccount.SID, 4) = "-500" Then
            strAdminLocalUserName = objAccount.Name
        End If
    Next
     
    'Rename the user
    strNewName = "Localusr"	
    set objUser = GetObject("WinNT://" & strComputer & "/" & strAdminLocalUserName & ",user")
    set objNewUser = objComp.MoveHere(objUser.ADsPath, strNewName)
    Bonne continuation

  3. #3
    Membre confirmé Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Points : 582
    Points
    582
    Par défaut
    Encore mieux : tout faire en WMI :
    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
    Set WshNetwork = CreateObject("WScript.Network")
    strComputer = WshNetwork.ComputerName
     
    strNewName = "Localusr"	
     
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
     
    Set colAccounts = objWMIService.ExecQuery _
        ("Select * From Win32_UserAccount Where Domain = '" & strComputer & "'")
     
    For Each objAccount in colAccounts
        If Left (objAccount.SID, 6) = "S-1-5-" and Right(objAccount.SID, 4) = "-500" Then
            strAdminLocalUserName = objAccount.Name
            objAccount.Rename strNewName 
        End If
    Next

  4. #4
    Candidat au Club
    Homme Profil pro
    stage
    Inscrit en
    Juin 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : stage

    Informations forums :
    Inscription : Juin 2015
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Salut,

    Entre temps j'ai fais casi la meme chose en wmi. il me manquer ta ligne 13 et 14, je ne savais pas comment traduire donc merci beaucoup

    Grenth

  5. #5
    Candidat au Club
    Homme Profil pro
    stage
    Inscrit en
    Juin 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : stage

    Informations forums :
    Inscription : Juin 2015
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    J'ai une dernière question:

    Si je veux renommer mes administrateurs depuis une liste.txt avec:
    Serveur1
    Serveur2
    Serveur3
    ...

    Je suis bloquer.

    Par exemple dans le code de Pitchalov, je souhaite ajouter quelques lignes genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    dim objTextIn
    strInputPath = "D:\log vbs\Liste_serveurs.txt"
    set objTextIn = objFSO.OpenTextFile( strInputPath,1 )
    strComputer = objTextIn.ReadLine
     
    ...
     
    loop
    Pour pouvoir renommer les admins de la liste

  6. #6
    Membre émérite

    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Juin 2012
    Messages
    877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 877
    Points : 2 427
    Points
    2 427
    Par défaut
    Bonjour,

    Tu peux procéder de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    'a la suite du début de ton code pour ouvrir un fichier
    Data = objTextIn.ReadAll
    objTextIn.Close 
     
    'Tableau contenant chaque ligne de ton fichier
    arrLines = Split(Data,vbCrLf)
     
    'Parcours du contenu de ton fichier
    For i = 0 To UBound(arrLines)
    	strComputer = arrLines(i)
    	'Ton code pour les renommer les admins
    Next
    Si la réponse vous a été donnée, pensez au Tag .
    Un petit aide à se sentir utile. Merci.

    "La folie. C'est de faire et refaire la même chose en espérant que le résultat sera différent."
    Albert Einstein

  7. #7
    Candidat au Club
    Homme Profil pro
    stage
    Inscrit en
    Juin 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : stage

    Informations forums :
    Inscription : Juin 2015
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Salut,

    En premier temps merci pour ta réponse.

    Il me reste un soucis, surment un truc bete mais j'ai une erreur "next attendu" a l'endroit ou j'ai un next ... je marche un peu sur la tête

    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
     
    dim objTextIn
    strInputPath = "D:\log vbs\Liste_serveurs.txt"
    set objTextIn = objFSO.OpenTextFile( strInputPath,1 )
     
    strComputer = objTextIn.ReadLine
    Data = objTextIn.ReadAll
    objTextIn.Close
    arrLines = Split(Data,vbCrLf)
    For i = 0 To UBound(arrLines)
    	strComputer = arrLines(i)
    	Set WshNetwork = CreateObject("WScript.Network")
    strComputer = WshNetwork.ComputerName
     
    strNewName = "Localusr"	
     
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
     
    Set colAccounts = objWMIService.ExecQuery _
        ("Select * From Win32_UserAccount Where Domain = '" & strComputer & "'")
     
    For Each objAccount in colAccounts
        If Left (objAccount.SID, 6) = "S-1-5-" and Right(objAccount.SID, 4) = "-500" Then
            strAdminLocalUserName = objAccount.Name
            objAccount.Rename strNewName
    	End If
     
    Next
    Si tu trouve ma bêtise je te met 10 pouces vert^^

  8. #8
    Membre émérite

    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Juin 2012
    Messages
    877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 877
    Points : 2 427
    Points
    2 427
    Par défaut
    Bonjour,

    Attention, votre premier For n'est pas fermé.

    Pour éviter ces petites erreurs, pensez à indenter votre code.

    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
    dim objTextIn
    strInputPath = "D:\log vbs\Liste_serveurs.txt"
    set objTextIn = objFSO.OpenTextFile( strInputPath,1 )
     
    strComputer = objTextIn.ReadLine
    Data = objTextIn.ReadAll
    objTextIn.Close
    arrLines = Split(Data,vbCrLf)
    For i = 0 To UBound(arrLines)
    	strComputer = arrLines(i)
    	Set WshNetwork = CreateObject("WScript.Network")
    	strComputer = WshNetwork.ComputerName
     
    	strNewName = "Localusr"	
     
    	Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
     
    	Set colAccounts = objWMIService.ExecQuery _
        ("Select * From Win32_UserAccount Where Domain = '" & strComputer & "'")
     
    	For Each objAccount in colAccounts
    		If Left (objAccount.SID, 6) = "S-1-5-" and Right(objAccount.SID, 4) = "-500" Then
    			strAdminLocalUserName = objAccount.Name
    			objAccount.Rename strNewName
    	    End If
    	Next
    Next
    Si la réponse vous a été donnée, pensez au Tag .
    Un petit aide à se sentir utile. Merci.

    "La folie. C'est de faire et refaire la même chose en espérant que le résultat sera différent."
    Albert Einstein

  9. #9
    Candidat au Club
    Homme Profil pro
    stage
    Inscrit en
    Juin 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : stage

    Informations forums :
    Inscription : Juin 2015
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    J'ai une nouvelle erreur en rapport au bout de code que tu m'a fourni: l'entrée dépasse la fin du fichier.
    J'ai l'impression de faire 2 pas en arrière à chaque pas en avant ^^'

    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
     
    dim objFSO, objTextIn, objTextOut
    strInputPath = "D:\log vbs\Liste_serveurs.txt"
    set objFSO = CreateObject("Scripting.FileSystemObject")
    set objTextIn = objFSO.OpenTextFile( strInputPath,1 )
    strComputer = objTextIn.ReadLine
    Data = objTextIn.ReadLine
    objTextIn.Close
    arrLines = Split(Data,vbCrLf)
    For i = 0 To UBound(arrLines)
    	strComputer = arrLines(i)
    	Set WshNetwork = CreateObject("WScript.Network")
    	strComputer = WshNetwork.ComputerName
     
    	strNewName = "Localusr"	
     
    	Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
     
    	Set colAccounts = objWMIService.ExecQuery _
        ("Select * From Win32_UserAccount Where Domain = '" & strComputer & "'")
     
    	For Each objAccount in colAccounts
    		If Left (objAccount.SID, 6) = "S-1-5-" and Right(objAccount.SID, 4) = "-500" Then
    			strAdminLocalUserName = objAccount.Name
    			objAccount.Rename strNewName
    	    End If
    	Next
    Next
    Je souhaite juste que cette partie de mon script final renomme les comptes utilisateurs depuis mon fichier.txt ou je met les noms de mes VMs.
    Moi qui pensais que c'était la partie la plus facile de tout mon script, c'est celle qui m’embête le plus :/

  10. #10
    Membre émérite

    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Juin 2012
    Messages
    877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 877
    Points : 2 427
    Points
    2 427
    Par défaut
    Hum, un truc me chagrine.

    Essayez ceci :

    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
    dim objFSO, objTextIn, objTextOut
    strInputPath = "D:\log vbs\Liste_serveurs.txt"
    set objFSO = CreateObject("Scripting.FileSystemObject")
    set objTextIn = objFSO.OpenTextFile( strInputPath,1 )
    strComputer = objTextIn.ReadLine
    Data = objTextIn.ReadLine
    objTextIn.Close
    arrLines = Split(Data,vbCrLf)
    For i = 0 To UBound(arrLines)
    	strComputer = arrLines(i)
     
    	strNewName = "Localusr"	
     
    	Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
     
    	Set colAccounts = objWMIService.ExecQuery _
        ("Select * From Win32_UserAccount Where Domain = '" & strComputer & "'")
     
    	For Each objAccount in colAccounts
    		If Left (objAccount.SID, 6) = "S-1-5-" and Right(objAccount.SID, 4) = "-500" Then
    			strAdminLocalUserName = objAccount.Name
    			objAccount.Rename strNewName
    	    End If
    	Next
    Next
    En cas d'erreur, pouvez-vous me spécifier la ligne de code en question. L'intitulé de l'erreur seul ne m'aide pas à vous aider.
    Si la réponse vous a été donnée, pensez au Tag .
    Un petit aide à se sentir utile. Merci.

    "La folie. C'est de faire et refaire la même chose en espérant que le résultat sera différent."
    Albert Einstein

  11. #11
    Candidat au Club
    Homme Profil pro
    stage
    Inscrit en
    Juin 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : stage

    Informations forums :
    Inscription : Juin 2015
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Ligne 6
    Caract: 1
    Erreur: l'entrée dépasse la fin du fichier
    Code: 800A003E

  12. #12
    Membre émérite

    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Juin 2012
    Messages
    877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 877
    Points : 2 427
    Points
    2 427
    Par défaut
    Attention, vous avez remplacé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Data = objTextIn.ReadAll
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Data = objTextIn.ReadLine.
    .


    Utilisez
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Data = objTextIn.ReadAll
    Si la réponse vous a été donnée, pensez au Tag .
    Un petit aide à se sentir utile. Merci.

    "La folie. C'est de faire et refaire la même chose en espérant que le résultat sera différent."
    Albert Einstein

  13. #13
    Candidat au Club
    Homme Profil pro
    stage
    Inscrit en
    Juin 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : stage

    Informations forums :
    Inscription : Juin 2015
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Oui j'ai vu mais l'erreur reste la même :/

  14. #14
    Membre émérite

    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Juin 2012
    Messages
    877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 877
    Points : 2 427
    Points
    2 427
    Par défaut
    Comme ceci ?

    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
    dim objFSO, objTextIn, objTextOut
    strInputPath = "D:\log vbs\Liste_serveurs.txt"
    set objFSO = CreateObject("Scripting.FileSystemObject")
    set objTextIn = objFSO.OpenTextFile( strInputPath,1 )
    Data = objTextIn.ReadAll
    objTextIn.Close
    arrLines = Split(Data,vbCrLf)
    For i = 0 To UBound(arrLines)
    	strComputer = arrLines(i)
     
    	strNewName = "Localusr"	
     
    	Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
     
    	Set colAccounts = objWMIService.ExecQuery _
        ("Select * From Win32_UserAccount Where Domain = '" & strComputer & "'")
     
    	For Each objAccount in colAccounts
    		If Left (objAccount.SID, 6) = "S-1-5-" and Right(objAccount.SID, 4) = "-500" Then
    			strAdminLocalUserName = objAccount.Name
    			objAccount.Rename strNewName
    	    End If
    	Next
    Next
    Si la réponse vous a été donnée, pensez au Tag .
    Un petit aide à se sentir utile. Merci.

    "La folie. C'est de faire et refaire la même chose en espérant que le résultat sera différent."
    Albert Einstein

  15. #15
    Candidat au Club
    Homme Profil pro
    stage
    Inscrit en
    Juin 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : stage

    Informations forums :
    Inscription : Juin 2015
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Pas d'erreur mais pas de résultat

  16. #16
    Membre émérite

    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Juin 2012
    Messages
    877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 877
    Points : 2 427
    Points
    2 427
    Par défaut
    En même temps, vous n'affichez rien.

    - Vérifier que les noms de vos Vms s'enchaînent.

    Ajoutez juste après
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strComputer = arrLines(i)
    - Le domaine est bien le nom de la VM ?

    Affichez vos variables et dîtes moi où tout cela coince.
    Si la réponse vous a été donnée, pensez au Tag .
    Un petit aide à se sentir utile. Merci.

    "La folie. C'est de faire et refaire la même chose en espérant que le résultat sera différent."
    Albert Einstein

  17. #17
    Candidat au Club
    Homme Profil pro
    stage
    Inscrit en
    Juin 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : stage

    Informations forums :
    Inscription : Juin 2015
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Je met le nom de chaques Vm à la ligne dans ma liste.txt
    mon msgbox m'affiche bien chaque nom à la ligne (je limite a mon localhost et 4 VMs Test)
    Avec mon code pas bien cela fonctionne mais pas ici :/
    J'ai pas trop d'infos malheureusement, je sais je n'aide pas trop sur le coup

  18. #18
    Candidat au Club
    Homme Profil pro
    stage
    Inscrit en
    Juin 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : stage

    Informations forums :
    Inscription : Juin 2015
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Je relance un peu pour savoir si qq'un à une réponse à mon problème. Merci

  19. #19
    Candidat au Club
    Homme Profil pro
    stage
    Inscrit en
    Juin 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : stage

    Informations forums :
    Inscription : Juin 2015
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    J'ai avancer mais le problème c'est qu'il se bloque à la premiere ligne

    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
     
    dim strInputPath 
    dim objFSO, objTextIn, objTextOut, objWMIService, colAccounts 
    set objFSO = CreateObject("Scripting.FileSystemObject") 
    strInputPath = "D:\log vbs\Liste_serveurs.txt" 
    set objTextIn = objFSO.OpenTextFile( strInputPath,1 ) 
    Set WshNetwork = CreateObject("WScript.Network") 
     
    strComputer = objTextIn.ReadLine 
     
    strNewName = "Localusr" 
     
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
     
    Set colAccounts = objWMIService.ExecQuery _  
         ("Select * From Win32_UserAccount Where LocalAccount = TRUE") 
    For Each objAccount in colAccounts 
         If Left (objAccount.SID, 6) = "S-1-5-" and Right(objAccount.SID, 4) = "-500" Then 
              strAdminLocalUserName = objAccount.Name        
                   objAccount.Rename strNewName     
    End If 
    Next
    Et meme avec un "do until objtextin.AtEndOfStream = true" cela marche pas, il me repete la premiere ligne

Discussions similaires

  1. Utilisation de différents comptes
    Par JulienNvr dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 16/05/2013, 17h10
  2. [VBS] Fonction qui compte le nombre de lignes dans un fichier texte
    Par ProgElecT dans le forum Vos Contributions VBScript
    Réponses: 0
    Dernier message: 03/05/2012, 13h48
  3. Gestion de différents comptes
    Par JavVax dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 17/10/2010, 00h57
  4. connexion à un partage avec différents comptes
    Par lololabricole dans le forum Sécurité
    Réponses: 11
    Dernier message: 16/04/2007, 01h59
  5. [VBS]Renommer les fichiers du répertoire courant
    Par JuS80 dans le forum VBScript
    Réponses: 2
    Dernier message: 02/03/2007, 09h17

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