Jump to content

Mapping Anmeldescript


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hi,

 

habe Probleme mit meinem Anmeldescript.

Hab dieses per Policy eingebunden. Ich will damit Laufwerke für User je nach ADS-Gruppenmitgliedschaft mappen.

Hier das Anmeldescript:

 

Option Explicit

Dim objNetwork, objUser, CurrentUser

Dim strGroup

 

Const IT_RW = "cn=IT_RW"

Const IT_DOK_RW = "cn=IT_DOK_RW"

 

Set objNetwork = CreateObject("WScript.Network")

Set objUser = CreateObject("ADSystemInfo")

Set CurrentUser = GetObject("LDAP://" & objUser.UserName)

strGroup = LCase(Join(CurrentUser.MemberOf))

 

If InStr(strGroup, lcase(IT_RW)) Then

objNetwork.MapNetworkDrive "h:", "\\dlspdc\users\test"

End If

 

If InStr(strGroup, lcase(IT_DOK_RW)) Then

objNetwork.MapNetworkDrive "u:", "\\dlspdc\home\test"

End If

 

WScript.Quit

 

das Script funktioniert sobald der User in beiden ADS Gruppen Mitglied ist sobald er aber nur in einer der beiden bzw. keiner Mitglied ist kommt ne Fehlermeldung:

Hier die Fehlermeldung:

 

Zeile: 11

Zeichen: 1

Fehler: Typen unverträglich: Join

Code: 800A000D

 

Wäre super wenn mir jemand weiterhelfen könnte zumal das Script wenn ich es auf dem DC mit dem Domänenadministrator ausführe funktioniert auch wenn ich nur in einer gruppe bin. Bin momentan mit meinem Latein am ende. Für alle Tipps dankbar.

 

Gruß

Jens

Link zu diesem Kommentar

Hi danke für den Tipp,

 

habs leider nicht hinbekommen.

Könnte mir jemand ein einfaches Script posten mit dem ich die Mappings je nach Mitgliedschaft der ADS Gruppe machen kann ich kenn mich mit vbscript leider nicht so aus aber muss echt sagen mit Kixtart war das ganze doch wesentlich leichter.

Hoffe mir kann jemand weiterhelfen.

 

Gruß

Jens

Link zu diesem Kommentar

Also danke nochmals :) für deine Hilfe ich hab allerdings noch ein weiteres Script aufgetrieben was funktioniert und auch noch alle Fehlerquellen abdeckt. Hier das Script für alle dies interessiert:

 

Option Explicit

Dim WSHNetwork, FSO, strUserName, strUserDomain, ObjGroupDict, EnvVar, strVarUserName

 

 

Set WSHNetwork = WScript.CreateObject("WScript.Network")

Set EnvVar = WScript.CreateObject("WScript.Shell")

Set FSO = CreateObject("Scripting.FileSystemObject")

strVarUserName = EnvVar.ExpandEnvironmentStrings("%username%")

 

 

' Wait until the user is really logged in...

 

strUserName = ""

While strUserName = ""

WScript.Sleep 100

strUserName = WSHNetwork.UserName

Wend

strUserDomain = WSHNetwork.UserDomain

 

Set ObjGroupDict = CreateMemberOfObject(strUserDomain, strUserName)

 

If MemberOf(ObjGroupDict, "IT_RW") Then

If FSO.DriveExists("u:") Then

WSHNetwork.RemoveNetworkDrive "u:"

WSHNetwork.MapNetworkDrive "u:", "\\dlspdc\users"

Else

WSHNetwork.MapNetworkDrive "u:", "\\dlspdc\users"

End If

End If

 

If MemberOf(ObjGroupDict, "IT_DOK_RW") Then

If FSO.DriveExists("p:") Then

WSHNetwork.RemoveNetworkDrive "p:"

WSHNetwork.MapNetworkDrive "p:", "\\dlspdc\home"

Else

WSHNetwork.MapNetworkDrive "p:", "\\dlspdc\home"

End If

End If

 

Function MemberOf(ObjDict, strKey)

MemberOf = CBool(ObjGroupDict.Exists(strKey))

End Function

 

Function CreateMemberOfObject(strDomain, strUserName)

Dim objUser, objGroup

Set CreateMemberOfObject = CreateObject("Scripting.Dictionary")

CreateMemberOfObject.CompareMode = vbTextCompare

Set objUser = GetObject("WinNT://" & strDomain & "/" & strUserName & ",user")

For Each objGroup In objUser.Groups

CreateMemberOfObject.Add objGroup.Name, "-"

Next

Set objUser = Nothing

End Function

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...