Lidt begynder spørgsmål til et ADSI script.
Ja spørgsmålet går lidt på et par begynder spørgsmål jeg har fået følgende script af en kammerat som jeg godt vil have lidt hjælp til at modificere.Option Explicit
Const strTitle = "test"
Dim objUser, strDN, arrDN, strBusiness
Dim objConnection, objCommand, objRootDSE, strDNSDomain, strUsername
strUsername = InputBox("Indtast det brugernavn du ønsker informationer om." & vbCRLF, strTitle)
If Len(strUsername) > 0 Then
' Bind to the group object with the LDAP provider.
strDN = GetUserDN(strUsername)
On Error Resume Next
Set objUser = GetObject("LDAP://" & strDN)
If Err.Number <> 0 Then
On Error GoTo 0
MsgBox "brugeren '" & strUsername & "' blev ikke fundet!!", 48, strTitle
Wscript.Quit(1)
End If
On Error GoTo 0
arrDN = Split(strDN, ",")
strBusiness = arrDN(UBound(arrDN) - 4)
MsgBox strUsername & vbTab & objUser.displayName & vbTab & Mid(strBusiness, 4, Len(strBusiness)-6), 0, strTitle
End If
' ---
' Converts a NT username in the current NetBIOS domains to the corresponding distinguished name
Function GetUserDN(strUserNTName)
' Declare variables
Dim objRootDSE, strDNSDomain, objTrans, strNetBIOSDomain, strUserDN
' Create objects
Set objTrans = CreateObject("NameTranslate")
Set objRootDSE = GetObject("LDAP://RootDSE")
' Retrieve DNS domain name
strDNSDomain = objRootDSE.Get("defaultNamingContext")
' Convert DNS domain name to NetBIOS domain name
objTrans.Init 3, strDNSDomain
objTrans.Set 1, strDNSDomain
strNetBIOSDomain = objTrans.Get(3)
' Remove trailing backslash
If Right(strNetBIOSDomain, 1) = "\" Then strNetBIOSDomain = Left(strNetBIOSDomain, Len(strNetBIOSDomain) - 1)
' Enable internal errorhandling and clear errorlog
On Error Resume Next
Err.Clear
' Convert NT username to Distinguished Name
objTrans.Init 1, strNetBIOSDomain
objTrans.Set 3, strNetBIOSDomain & "\" & strUserNTName
' Check for error
If Err.Number <> 0 Then
GetUserDN = ""
End If
' Clear errorlog and disable internal errorhandling
Err.Clear
On Error GoTo 0
strUserDN = objTrans.Get(1)
' If the returned distinguished name doesn't contain a common name (CN), then the user doesn't exist
If InStr(strUserDN, "CN") > 0 Then
' Return distinguished name of the user
GetUserDN = strUserDN
Else
' Return empty string
GetUserDN = ""
End If
End Function
jeg vil godt have så jeg får en samlet output, fra min inputbox, så jeg kun skal trykke ok 1 gang, så jeg får det hele i en box, bare på hver sin linje...
plus jeg godt vil have den absolutte sti i AD, hvilket vil sige den ikke bare skal vise mig den overordnet OU den skal vise den OU brugeren ligger i...