OVH Cloud OVH Cloud

recuperation du nom de l'OU d'un user?

4 réponses
Avatar
fxd
Bonjour,

Comment recuperer le nom de l'ou d' un utilisateur en vbscript ?

je recherche cette methode pour faire un script de mappage generique.

Merci
FXD

4 réponses

Avatar
Stéphane [MS]
Bonjour,

Depuis un script de ScriptCenter :

Set objSysInfo = CreateObject("ADSystemInfo")
Wscript.Echo "User name: " & objSysInfo.UserName


Cdlt
Stéphane



Bonjour,

Comment recuperer le nom de l'ou d' un utilisateur en vbscript ?

je recherche cette methode pour faire un script de mappage generique.

Merci
FXD






Avatar
fxd
Merci

En fait gj'it rouve le mme debut que toi que g legerement modifier pour
arriver a mes fins :
(c'est pas optimisé mais c fonctionnel .. on peut faire des economies de
variables... ca fait aussi un peu bidouille mais ca fait l'affaire):

_________________________________________________________
Dim net
Set net = CreateObject("WScript.Network")


' Recuperation des informations de l'active directory du User
Set sysObj = CreateObject("ADSystemInfo")

'Traitement de la chaine de caractere

Dim UserOuName, Tampon, OuUserLdap
UserOuName = sysObj.UserName
Tampon = Split(UserOuName, ",", -1, 1)
OuUserLdap = Split(Tampon (1), "=", -1, 1)
UserOuName = OuUserLdap(1)



'------------------------------------
' Mappage reseaux
'------------------------------------

net.MapNetworkDrive "Q:", "UNCFILESERVER" &UserOuName&"$"

_________________________________________________________


Cordialement,
FX



"Stéphane [MS]" a écrit dans le message de
news:
Bonjour,

Depuis un script de ScriptCenter :

Set objSysInfo = CreateObject("ADSystemInfo")
Wscript.Echo "User name: " & objSysInfo.UserName


Cdlt
Stéphane



Bonjour,

Comment recuperer le nom de l'ou d' un utilisateur en vbscript ?

je recherche cette methode pour faire un script de mappage generique.

Merci
FXD








Avatar
Eric
Une autre possibilité est d'utiliser NameTranslate :

On Error Resume next
Set WSHNetwork = WScript.CreateObject("WScript.Network")
strNTName = WSHNetwork.UserName
' Détermination du nom DNS du domaine.
Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("defaultNamingContext")
' Utilisation de NameTranslate pour trouver le nom NETBIOS du domaine
Set objTrans = CreateObject("NameTranslate")
objTrans.Init 3, strDNSDomain
objTrans.Set 1, strDNSDomain
strNetBIOSDomain = objTrans.Get(3)
strNetBIOSDomain = Left(strNetBIOSDomain, Len(strNetBIOSDomain) - 1)
' Convertion du nom NT vers le DN
objTrans.Init 1, strNetBIOSDomain
objTrans.Set 3, strNetBIOSDomain & "" & strNTName
strUserDN = objTrans.Get(1)
strUserDpN = objTrans.Get(4)
'Gestion de l'erreur si le DisplayName est vide (identique au nom NT)
If Err.Number <> 0 Then
strUserDpN = strNTName
End If
'strUserUPN = objTrans.Get(5)
WScript.Echo "User Distinguished Name: " & strUserDN
'WScript.Echo "User Display Name: " & strUserDpN
WScript.Echo "User Principal Name: " & strUserUPN
'Découpage de la chaine pour obtenir le DN de l'OU
strOUname = Right(strUserDN, Len(strUserDN) - Len(strUserDpN) - 4)
WScript.Echo strOUname
Select Case strOUname
case ......
case .....
case else ....
end select


Ok, c'est plus long, mais c'est joli! ;-)





Merci

En fait gj'it rouve le mme debut que toi que g legerement modifier pour
arriver a mes fins :
(c'est pas optimisé mais c fonctionnel .. on peut faire des economies de
variables... ca fait aussi un peu bidouille mais ca fait l'affaire):

_________________________________________________________
Dim net
Set net = CreateObject("WScript.Network")


' Recuperation des informations de l'active directory du User
Set sysObj = CreateObject("ADSystemInfo")

'Traitement de la chaine de caractere

Dim UserOuName, Tampon, OuUserLdap
UserOuName = sysObj.UserName
Tampon = Split(UserOuName, ",", -1, 1)
OuUserLdap = Split(Tampon (1), "=", -1, 1)
UserOuName = OuUserLdap(1)



'------------------------------------
' Mappage reseaux
'------------------------------------

net.MapNetworkDrive "Q:", "UNCFILESERVER" &UserOuName&"$"

_________________________________________________________


Cordialement,
FX



"Stéphane [MS]" a écrit dans le message de
news:
Bonjour,

Depuis un script de ScriptCenter :

Set objSysInfo = CreateObject("ADSystemInfo")
Wscript.Echo "User name: " & objSysInfo.UserName


Cdlt
Stéphane



Bonjour,

Comment recuperer le nom de l'ou d' un utilisateur en vbscript ?

je recherche cette methode pour faire un script de mappage generique.

Merci
FXD













Avatar
SAUTIERE Benoît
Voila pour la base. On obtient la chaine LDAP du userSet objSysInfo =
CreateObject("ADSystemInfo")Wscript.Echo "User name: " &
objSysInfo.UserNameSet objSysInfo = NothingAprès, si on se binde sur le user
avec la ligne suivante :Set ObjUser = GetObject(objSysInfo.UserName)On se
binde au conteneur parent avec la ligne suivanteSetObjConteneur =
GetObject(ObjUser.Parent)Et on obtient le nom du conteneur avecmsgbox
SetObjConteneur.Path
Remarque : tout est issu du Script Center : www.microsoft.com/technet
rubrique Script Center.

Cordialement,

Benoît SAUTIERE

"fxd" a écrit dans le message de news:
%
Bonjour,

Comment recuperer le nom de l'ou d' un utilisateur en vbscript ?

je recherche cette methode pour faire un script de mappage generique.

Merci
FXD