Active Directory
(1)
NetBIOS
(1)
SAMAccountName
(1)
StrUserDN
(1)
VBScript
(1)
NameTranslate
(1)
CreateObject
(1)
StrUserName
(1)

string manipulation in vbs or vb.net

Asked By Jesper Ravn
09-Nov-09 05:57 AM
Hello

Im retriving users out from a security group in Active Directory.
The output is like the string below.

StrMember = "CN=ctxadmin,OU=ITservices,OU=RootDomain,DC=company,DC=com"

How can I clean the string, so it always will list only the username.
StrMember = "ctxadmin"

Thanks,

/Jesper

,DC=3Dcom"Maybe ...

Tom Lavedas replied to Jesper Ravn
09-Nov-09 08:37 AM
,DC=3Dcom"

Maybe ...

StrMember =3D
strMember=3DReplace(Split(strMember. ",")(0), "CN=3D", "", -1, 1)
_____________________
Tom Lavedas

"Tom Lavedas" <tglbatch@cox.

Jesper Ravn replied to Tom Lavedas
09-Nov-09 08:37 AM
Hi Tom

Thanks, for your suggestion, but the code sample fails. I also tried to
change "StrMember. " to "StrMember," without any luck.
I just ran the code in a VBScript file.

/Jesper

2f-a4b5-c6d8145c2526@k4g2000yqb.googlegroups.com...

Tom Lavedas replied to Jesper Ravn
09-Nov-09 06:57 PM
2f-a4b5-c6d8145c2526@k4g2000yqb.googlegroups.com...
any,DC=3Dcom"

Sorry, I did that from memory and without testing.  There is a typo
and a missing argument (which you could have researched), but the
concept is valid.  Try this ..

strMember =3D Replace(Split(strMember, ",")(0), "CN=3D", "", 1, -1, 1)

_____________________
Tom Lavedas
"Tom Lavedas" <tglbatch@cox.
Jesper Ravn replied to Tom Lavedas
09-Nov-09 09:19 AM
Hi Tom

Great, it is working now. Thanks a lot.

/Jesper
However, note that the result is the "Common Name" of the user, not whatmost
Richard Mueller [MVP] replied to Jesper Ravn
09-Nov-09 09:36 AM
However, note that the result is the "Common Name" of the user, not what
most people call the username, unless the two values have been made always
the same in your environment.

The value of the "cn" attribute is the Common Name of the object. It must be
unique in the OU, but there can be several objects with the same Common Name
as long as they are in different OU's or containers. The value of the
sAMAccountName attribute is the "pre-Windows 2000 logon name" (on the
NT name of the user. This must be unique in the domain.

If the cn and sAMAccountName attributes are always the same in your domain,
you can parse the Distinguished Name of the user. Otherwise, you should use
the NameTranslate object to convert the Distinguished Name into the
sAMAccountName. See this link for details:

http://www.rlmueller.net/NameTranslateFAQ.htm

--
Richard Mueller
MVP Directory Services
Hilltop Lab - http://www.rlmueller.net
--
"Richard Mueller [MVP]" <rlmueller-nospam@ameritech.nospam.
Jesper Ravn replied to Richard Mueller [MVP]
09-Nov-09 10:01 AM
Hi Richard

Thanks for the heads up. I will take a look at your great FAQ ressource.

/Jesper
A quick example converting a DN into sAMAccountName:========Option ExplicitDim
Richard Mueller [MVP] replied to Jesper Ravn
09-Nov-09 11:06 AM
A quick example converting a DN into sAMAccountName:
========
Option Explicit

Dim strUserDN, objTrans, strUserName

' Constants for the NameTranslate object.
Const ADS_NAME_INITTYPE_GC = 3
Const ADS_NAME_TYPE_NT4 = 3
Const ADS_NAME_TYPE_1779 = 1

' Specify user Distinguished Name.
strUserDN = "CN=ctxadmin,OU=ITservices,OU=RootDomain,DC=company,DC=com"

' Use the NameTranslate object to convert Distinguished Name
' into sAMAccountName.
Set objTrans = CreateObject("NameTranslate")

' Initialize NameTranslate by locating the Global Catalog.
objTrans.Init ADS_NAME_INITTYPE_GC, ""
' Use the Set method to specify the Distinguished Name of the object.
objTrans.Set ADS_NAME_TYPE_1779, strUserDN
' Use the Get method to retrieve the NT format of the name.
' This format is <NetBIOS-Domain-Name>\<sAMAccountName>
strUserName = objTrans.Get(ADS_NAME_TYPE_NT4)
' Remove NetBIOS name of domain.
strUserName = Mid(strUserName, InStr(strUserName, "\") + 1)

Wscript.Echo strUserName

--
Richard Mueller
MVP Directory Services
Hilltop Lab - http://www.rlmueller.net
--
"Richard Mueller [MVP]" <rlmueller-nospam@ameritech.nospam.
Jesper Ravn replied to Richard Mueller [MVP]
10-Nov-09 06:54 AM
Hi Richard

Nice, thanks for all your help.

/Jesper
Post Question To EggHeadCafe