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 :

Mappage de disque à partir de l'attribue Info


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 48
    Par défaut Mappage de disque à partir de l'attribue Info
    Bonjour,
    Je cherche à optimiser mon login script actuel qui est trop long sur les mappages de disque en particulier. Pour cela je souhaite mapper mes disques en recupérant les valeurs que j'aurai stocké dans l'attribue Info de chacun de mes groupes du style x:;\\srv\partage;h:;\\srv\partage2 etc ...
    Avec le script ci-joint, j'arrive bien à lister tous les groupes de l'AD avec les informations stockées dans l'attribue "info" en prévision de me servir du contenu de "info" pour mapper mes disques.
    Le soucis c'est que je n'arrive pas à savoir comment afficher seuls les groupes dont je fais partie.
    Et aussi comment je vais mapper les disques pour la suite en ayant mon information x:;\\srv\partage;h:;\\srv\partage2
    Merci de votre aide si vous avez des idées.
    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
     
    On Error Resume Next
     
    Const wbemFlagReturnImmediately = &h10
    Const wbemFlagForwardOnly = &h20
     
    arrComputers = Array("DC73000")
    For Each strComputer In arrComputers
       WScript.Echo
       WScript.Echo "=========================================="
       WScript.Echo "Computer: " & strComputer
       WScript.Echo "=========================================="
     
       Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\directory\LDAP")
       Set colItems = objWMIService.ExecQuery("SELECT * FROM ds_group", "WQL", _
                                              wbemFlagReturnImmediately + wbemFlagForwardOnly)
     
       For Each objItem In colItems
          WScript.Echo "ADSIPath: " & objItem.ADSIPath
          WScript.Echo "DS_sAMAccountName: " & objItem.DS_sAMAccountName
     
          WScript.Echo "Info: " & objItem.DS_Info
          WScript.Echo
       Next
    Next

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

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

    Pour récupérer les groupes de l'utilisateur courant, il faut tout d'abord récupérer l'objet AD de l'utilisateur courant.
    Ensuite, l'attribut MemberOf te donnera les groupes de l'utilisateur et tu pourras récupérer ton information avec le code que tu as déjà.

    Penche-toi sur la propriété UserName de l'objet WshNetwork pour récupérer le login de l'utilisateur courant.
    Pour le mappage des disques, la méthode MapNetworkDrive de l'objet WshNetwork devrait te permettre de faire ce que tu veux.

    Beaucoup d'exemples existent sur msdn ou ailleurs, et ils y a un paquet de loginscripts sur ce forum et le web qui pourront t'aider.

    Bonne continuation

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 48
    Par défaut
    Merci,

    J'arrive bien à récupérer mon compte AD et savoir à quels groupe il appartient. Pour avoir le retour de mon attribue info pour chaque groupes, il faut passer par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    set MyObj=GetObject("LDAP://CN=MonGrp1,OU=Paris,DC=Domain,DC=net")
    WScript.Echo "info ====" & MyObj.Get("info")
    Je ne vois pas comment je peux obtenir le distinguishedName de mon groupe alors qu'il faut passer par une requête LDAP auparavant.

    Une idée ?

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Par défaut
    Un peu de recherche sur le forum (et même dans les 10 derniers sujets) :
    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 objRootDSE = GetObject("LDAP://rootDSE")
    strRootDSE = objRootDSE.Get("defaultNamingContext")
     
    strGroupName = strUserGroup 'groupe récupéré dans la propriété MemberOf de ton User
     
    Set objConnection = CreateObject("ADODB.Connection")
    objConnection.Open "Provider=ADsDSOObject;"
     
    Set objCommand = CreateObject("ADODB.Command")
    	objCommand.ActiveConnection = objConnection
    	objCommand.CommandText = "<GC://" & strRootDSE & ">;(&(objectCategory=group)(cn=" & strGroupName & "))" & ";distinguishedName;subtree"
     
    Set objRecordSet = objCommand.Execute
    Set objGroup = GetObject ("LDAP://" & objRecordSet.Fields("distinguishedName"))
    WScript.Echo "info --> " & objGroup.Get("info")

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 48
    Par défaut
    Merci beaucoup !
    J'avais bien trouvé des choses dans ce sens mais je n'arrivais pas à voir comment les utilisés dans mon cas.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 48
    Par défaut
    A présent je recupére bien ma chaine de caractère x:;\\srv\partage;h:;\\srv\partage2
    J'ai cherché à extraire le contenue avec split afin de faire le map de mes disques, mais je n'y arrive pas. Es-ce que je dois utiliser une autre facon de faire ? Tout en sachant que le nombre de disques et de partage peut varier dans mon champs info ?

    J'essaie dans ce sens mais je n'arrive pas à grand chose...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Option explicit
    Dim chaine,tableau
    chaine="x:;\\SRV1\PARTAGE1;h:;\\SRV2\PARTAGE2;m:;\\SRV3\PARTAGE3"
    tableau=Split(chaine,";")
    Dim e,i
    i=0
    For Each e In tableau
    	Wscript.Echo tableau(i)
    	Lecteur=tableau(i)
    	Map = tableau(i+1)
    	i=i+1
     
    Next
    Si vous avez une idée ?

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

Discussions similaires

  1. Créer une surface 2D (disque) à partir d'un vecteur
    Par neogamaes dans le forum MATLAB
    Réponses: 1
    Dernier message: 30/09/2011, 20h16
  2. Acces à l'arborescence d'un disque à partir d'une page jsp
    Par fabricew59 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 29/09/2006, 16h53
  3. créer une partition disque à partir d'un dossier
    Par Ksual dans le forum Windows XP
    Réponses: 10
    Dernier message: 25/01/2006, 18h48
  4. Infos sur la taille d'un disque
    Par Mille sabords dans le forum Windows
    Réponses: 4
    Dernier message: 10/03/2005, 09h00
  5. Réponses: 3
    Dernier message: 27/01/2005, 10h53

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