$objRootDSE = GetObject("LDAP://rootDSE")
$defaultNamingContext = $objRootDSE.Get("defaultNamingContext")
$sShareIni= @SCRIPTDIR + "\netmap_DH.ini"
If ReadProfileString($sShareIni,"","")
If $bDEBUG
"DEBUG: Die folgenden Sektionen erscheinen in der INI.-Datei:" ?
"-----------------------------------------------------" ?
ReadProfileString($sShareIni,"","")
"-----------------------------------------------------" ?
EndIf
Else
If Exist($sShareIni)
"ERROR: INI-Datei '"+$sShareIni+"' ist leer oder ungültig!" ?
Else
"ERROR: INI-Datei '"+$sShareIni+"' existiert nicht!" ?
EndIf
Exit 1
EndIf
Use LIST @CRLF
Use * /DELETE @CRLF
$bDEBUG=1
$username=@WUSERID
$MemberOfArray = Split(MemberOfArray(),',')
;While $sGroup AND Not @FEHLER
;Do
For Each $sGroup in $MemberOfArray
If InStr($sGroup,"\") $sGroup=SubStr($sGroup,InStr($sGroup,"\")+1)
EndIf
If $bDEBUG Color w+/b "DEBUG: Suche nach Sektion [LOCATION "+$sGroup+"]" Color w/n ?
EndIf
For Each $sShare in Split(ReadProfileString($sShareIni,"LOCATION "+$sGroup,""),Chr(10))
If $sShare
$asSharePair=Split(ReadProfileString($sShareIni,"LOCATION "+$sGroup,$sShare),"|")
Dim $Befehl1
$Befehl1 = $asSharePair[0]+$asSharePair[1]
"Mappe Netzwerkpfad "+$asSharePair[1]+" auf "+$asSharePair[0] @CRLF
Execute( 'USE $Befehl1' )
If @ERROR=0
? "1. Statement" @CRLF
" " Color g+/n "OK" Color w/n @CRLF
? "Fehlercode " + "im " + $sShare + " : " +@Error @CRLF
Else
? "Else-Statement" @CRLF
" " Color r+/n "*Fehlgeschlagen*" Color w/n @CRLF
? "Fehlercode " + "im " + $sShare + " : " +@Error @CRLF
EndIf
EndIf
Next
; $iIndex = $iIndex + 1
; $sGroup = EnumGroup($iIndex)
;Loop
;Until Len($sGroup) = 0
Next
Use B: "\\fs01\home$\$username"
If @ERROR=0
? "B ist angehaengt" +@Error
? "Fehlercode: " +@Error
Else
? "Fehler" +@Error
? "Fehlercode: " +@Error
EndIf
Use LIST @CRLF
Exit 0
Function MemberOfArray()
$E_ADS_PROPERTY_NOT_FOUND = &8000500D
$ObjUser = GetObject ("LDAP://" + GetUserDistinguishedName(@FULLNAME))
$IntPrimaryGroupID = $ObjUser.Get("PrimaryGroupID")
$ArrMemberOf = $ObjUser.GetEX("MemberOf")
If $ERR.Number = $E_ADS_PROPERTY_NOT_FOUND
$= MessageBox("The MemberOf Attribute Is Not Set.","Error!",16)
Exit
Else
For Each $Group in $ArrMemberOf
$x = InStr($Group,",")
$GroupName = SubStr($Group,4,$x - 4)
$MemberOfArray = $MemberOfArray+','+$GroupName
$Index = $Index + 1
Next
EndIf
EndFunction
Function GetUserDistinguishedName($FullName)
$ADS_UF_ACCOUNTDISABLE = 2
$ObjConnectION = CreateObject("ADODB.ConnectION")
$ObjConnectION.Open("PROVIDER=ADSDSOOBJECT;")
$ObjCOMMAND = CreateObject("ADODB.COMMAND")
$ObjCOMMAND.ActiveConnectION = $ObjConnectION
$ObjCOMMAND.COMMANDTEXT = "<GC://" + $defaultNamingContext + ">;(OBJECTCATEGORY=User);UserACCOUNTCONTROL,DistinguishedName;SUBTREE"
$ObjRecordset = $ObjCOMMAND.Execute
While Not $ObjRecordset.EOF
$POSITIVE = InStr($ObjRecordset.Fields("DistinguishedName"),"CN=" + $FullName)
If $POSITIVE <> 0
$ObjUser = GetObject("LDAP://" + $ObjRecordset.Fields("DistinguishedName"))
$ObjUser.GetInfo
$GetUserDistinguishedName = $ObjUser.Get("DistinguishedName")
EndIf
$ObjRecordset.MoveNext
Loop
$ObjConnectION.Close
EndFunction