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 :

Script vbs suppression users AD a partir d un fichier


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Août 2011
    Messages : 4
    Par défaut Script vbs suppression users AD a partir d un fichier
    bonjour a tous,

    je cherche de l aide sur un script vbs.

    j aimerai pouvoir faire une suppression en masse d utilisateurs dans l active directory a partir d un fichier TXT dans lequel j ai rajouté le login ouverture de session.

    j ai essayé de faire un script en me basant sur plusieurs script via "adsi scriptomatic" et en modifiant quelque variable mais sa ne marche pas.

    ci dessous le script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    set objListe = objFSO.OpenTextFile("utilisateurs.txt")
    Set MonOU = GetObject("LDAP://ou=test,dc=xxxx,dc=xxx")
     
    Do Until objListe.AtEndOfStream
        NomUtilisateur = objListe.Readline
        set MonUtilisateur = MonOU.Delete("user" , "cn =" & NomUtilisateur)
        MonUtilisateur.put "sAMAccountName" , NomUtilisateur
        MonUtilisateur.SetInfo
    Loop
    merci pour votre aide.

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 19
    Par défaut
    peux etre que ceci pourrais t'aider:

    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
    const lect=1
    const ecriture=2
    const ajout=8
    Const ADS_PROPERTY_APPEND = 3
     
    set objFSO = createObject("scripting.fileSystemobject")
    Set objListe = objFSO.Opentextfile("G:\liste.csv")   'chemin vers ton fichier contenant ta liste
     
    Do until ObjListe.AtEndOfStream
    Ligne = ObjListe.ReadLine
    champs = split(ligne,";")
    Nom=champs(0)
    samaccountname=champs(1)
    UO=champs(2)
     
    set objOU = GetObject("LDAP://ou=" & UO &",dc=gtek,dc=local")
    objOU.Delete "user", "cn= " & samaccountname
     
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.DeleteFolder("chemin vers le profil\" & samaccountname)
    objFSO.DeleteFolder("chemin vers le profil TS\" & samaccountname)
    objFSO.DeleteFolder("chemin vers le dossier data\" & samaccountname)
    loop
    mais attention je n'est pas integrer de demande de verification ....

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Août 2011
    Messages : 4
    Par défaut
    Merci beaucoups pour ton aide.
    grâce a ton script j ai pu voir mes erreurs et j ai donc modifié mon script et maintenant il fonctionne mais j aimerai l amélioré.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Set objFSO = CreateObject("Scripting.FileSystemObject")
     
    set objListe = objFSO.OpenTextFile("utilisateurs.txt")
     
    Do Until objListe.AtEndOfStream
     
    NomUtilisateur = objListe.Readline
     
    Set MonOU = GetObject("LDAP://ou=test,dc=xxx,dc=lan")
     
    MonOU.Delete "user", "cn=" & NomUtilisateur
     
    Loop
    j ai testé ton script car la suppression du profils + partage est intéressant mais ne fonctionne pas sur mon DC qui me sert de test.
    faut il renseigner l'adresse du serveur ou se trouve le partage dans le script ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.DeleteFolder("chemin vers le profil\" & samaccountname)
    objFSO.DeleteFolder("chemin vers le profil TS\" & samaccountname)
    objFSO.DeleteFolder("chemin vers le dossier data\" & samaccountname)
    loop
    autre question j ai plusieurs OU dans lesquelles se trouvent les utilisateurs.
    Comment faire pour que le script s exécute sur l ensemble des OU ou du domaine ?

    merci d'avance pour votre aide

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 19
    Par défaut
    En fait si tu regarde bien dans le script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    const lect=1
    const ecriture=2
    const ajout=8
    Const ADS_PROPERTY_APPEND = 3
     
    set objFSO = createObject("scripting.fileSystemobject")
    Set objListe = objFSO.Opentextfile("G:\liste.csv")   'chemin vers ton fichier contenant ta liste
     
    Do until ObjListe.AtEndOfStream
    Ligne = ObjListe.ReadLine
    champs = split(ligne,";")
    Nom=champs(0)
    samaccountname=champs(1)
    UO=champs(2)
    que je t'est écris que j'ai rajouter un champs uo dans mes splits. Donc tu dois rajouter comme information dans ton fichier texte de sorte a se qu'il ressemble a:

    gerard;gdupond;administration
    albert;adaya;comptabiliter

    donc le script va venir lire champs le nom, le samaccountname et l'uo de la personne
    puis pour chaque personne il va se connecter a l'uo et le supprimer (le user).
    Par contre si tu veux aussi supprimer les uo il faudra rajouter des lignes de codes suivante en dehors de ta premiere boucle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    set objOU = GetObject("LDAP://ou=" & UO &",dc=gtek,dc=local")
    objOU.Delete "user", "cn= " & samaccountname
    Do until ObjListe.AtEndOfStream
    Ligne = ObjListe.ReadLine
    UO=champs(2)
    Set MonDC = GetObject("LDAP://dc=xxx,dc=lan")
     MonDC.Delete "ou", "ou=" & UO
    loop
    Pour se qui est de la suppression des données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.DeleteFolder("chemin vers le profil\" & samaccountname)
    objFSO.DeleteFolder("chemin vers le profil TS\" & samaccountname)
    objFSO.DeleteFolder("chemin vers le dossier data\" & samaccountname)
    loop
    tu remplace "chemin vers le dossier data\" par le chemin par exemple si ton serveur s'apppelle SERVER (originale hein ) et que le dossier ou se trouve les donnée des user s'appelle DATA sa te donnera un chemin \\SERVER\DATA

  5. #5
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Août 2011
    Messages : 4
    Par défaut
    Merci pour ton aide mais j aimerai en faite si cela est possible que le script va lire les information sur le compte de l user dans AD et en regardant les champs ci dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.DeleteFolder("chemin vers le profil\" & samaccountname)
    objFSO.DeleteFolder("chemin vers le profil TS\" & samaccountname)
    objFSO.DeleteFolder("chemin vers le dossier data\" & samaccountname)
    loop
    il supprime automatiquement les donnés sur le partage sans que j ai besoin de les rajouter sur le script.
    Cette semaine j ai supprimé les 500 comptes avec le 1er script mais j ai du supprimer manuellement en me connectant sur les différents serveurs (environ 60) leurs donnés.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 19
    Par défaut
    En fait si je comprend bien se que tu veux c'est que le script aille chercher dans l'ad la localisation des données de tel utilisateur et que grace à sa apres sa aille supprimer les dossiers

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/09/2011, 17h43
  2. script VBS pour la suppression d'un fichier caché
    Par maikess dans le forum VBScript
    Réponses: 2
    Dernier message: 13/07/2010, 17h22
  3. Appel de script vbs à partir du code c#
    Par mo5andes dans le forum C#
    Réponses: 2
    Dernier message: 30/09/2009, 12h03
  4. Appeler un script VBS à partir de VB
    Par kuruma dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 24/02/2009, 10h08
  5. script vbs de suppression de fichier .lck
    Par miguelli.corleone dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 28/08/2008, 23h32

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