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 :

VBScript : récupérer le nom du controleur de domaine


Sujet :

VBScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 14
    Points : 8
    Points
    8
    Par défaut VBScript : récupérer le nom du controleur de domaine
    Bonjour,
    Je dois exécuter un script qui récupère des informations dans Active Directory, j'exécute donc mon script sur plusieurs machines qui sont connectées à des contrôleurs de domaine différents, je cherche à récupérer le nom du contrôleur de domaine dont dépend le PC où j'exécute le script.

    J'ai vu que on pouvait faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    WScript.Echo "Domaine = " & WshNetwork.UserDomain
    WScript.Echo "Nom ordinateur = " & WshNetwork.ComputerName
    Mais ça me retourne le nom du pc sur lequel je suis

    Quelqu'un peut il m'aider svp ?

    Camille.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    personne ne sait ?

    j'ai touvé cette source sur Internet, mais ca donne le nom de tous les contrôleurs de domaine

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
    'Récupération d'information de la forêt ou d'un domaine enfant
    'appel du script sans argument ou en passant le DN du domaine racine:
    'Retour des informations pour la forêt
    'appel du script en passant le DN d'un domaine enfant existant:
    'Retour des informations pour ce domaine enfant
    'Retour des informations pour la forêt
     
    'Création d'un objet pour la lecture d'argument
    Set objArgs = WScript.Arguments
     
    'Création d'une connexion avec ADO
    Set con = CreateObject("ADODB.Connection")
    Set objCommand = CreateObject("ADODB.Command")
    con.Open "Provider=ADsDSOObject;"
    objCommand.ActiveConnection = con
     
     
    'Lecture du DN du domaine de recherche
    if (objArgs.Count = 0) then
    	'Si pas d'argument, alors on retourne tous les DC de la forêt
    	Set objRootDSE = GetObject("LDAP://rootDSE")
    	DN_Domaine=objRootDSE.Get("rootdomainNamingContext")
    else
    	DN_Domaine=objArgs(0)
    end if
     
    'Positionnement du filtre
    filtreDC="(objectClass=domain)"
     
    'Positionnement des champs à retourner
    retourattributs="masteredby" 'attributs à retourner
     
    'Profondeur de la recherche
    scope="subtree" 'profondeur de recherche
    scopeone="onelevel"
     
    'Nb d'objets à retourner
    objCommand.Properties("Page Size")= 5000'5000 enregistrements max à retourner
     
     
    'Constitution de la requête
    requeterechercheDC="<GC://" & DN_Domaine & ">;" & filtreDC & ";" & retourattributs & ";" & scope
     
     
    'Exécution de la requête de récupération des DC par domaines
    objCommand.CommandText=requeterechercheDC
    Set rs=objCommand.Execute
    out=""
    if (rs.RecordCount > 0) then
    	rs.MoveFirst
    	do
    		if not(IsNull(rs.Fields("masteredby").value)) then
    			For Each dc In rs.Fields("masteredby").value
    				DNDC=DNDC & dc & ";"
    			next
    			'Retrait du dernier ;
    			DNDC=left(DNDC,len(DNDC)-1)
    		end if
    		rs.movenext
    		out=out & DNDC & vbcrlf
    	loop while Not rs.EOF
    	'Retrait du dernier retour chariot
    	out=left(out,len(out)-1)
    end if
    'Affichage de la sortie
    wscript.echo out

  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
    Bonjour

    Voilà un petit code qui devrait t'afficher ton nom de domaine (celui sur lequel tu t'es authentifié) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set objDomain = GetObject("LDAP://rootDse")
     
    objDC = objDomain.Get("dnsHostName")
    Wscript.Echo "Controlleur de domaine d'authentification:" & objDC

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Merci beaucoup c'est se que je cherchais =)


    PS : le code pour avoir juste le nom du PC ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Set objDomain = GetObject("LDAP://rootDse")
    objDC = objDomain.Get("dnsHostName")
    k=1
    while mid(objDC,k,1) <> "."
    	k=k+1
    wend
    nomserv = left(objDC,k-1)
    Wscript.Echo "Controlleur de domaine d'authentification:" & nomserv

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/11/2007, 15h03
  2. C# Récupérer le nom des domaines d'un réseau
    Par EmacLi dans le forum Windows Forms
    Réponses: 3
    Dernier message: 02/08/2006, 08h24
  3. Récupérer le nom de domaine d'un visiteur
    Par Yoshidu62 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/07/2006, 11h54
  4. [C] Récupérer les noms de domaines
    Par Pico10 dans le forum Windows
    Réponses: 12
    Dernier message: 12/03/2006, 23h09
  5. Récupérer le nom de domaine d'appartenance d'un serveur
    Par Laurent Dardenne dans le forum Windows
    Réponses: 2
    Dernier message: 26/01/2004, 17h01

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