Jump to content

tvctfromhell

Members
  • Gesamte Inhalte

    6
  • Registriert seit

  • Letzter Besuch

Profile Fields

  • Member Title
    Newbie

Fortschritt von tvctfromhell

Apprentice

Apprentice (3/14)

  • Erste Antwort
  • Erster eigener Beitrag
  • Eine Woche dabei
  • Einen Monat dabei
  • 1 Jahre dabei

Neueste Abzeichen

10

Reputation in der Community

  1. Mercie für die Antwort :) Welches Attribut muss denn für die Untergruppen abgefragt werden? gruß
  2. If verbundeneLaufwerke.Item(i) = "O:" Then wshNetwork.RemoveNetworkDrive "O:" End If If verbundeneLaufwerke.Item(i) = "P:" Then wshNetwork.RemoveNetworkDrive "P:" End If If verbundeneLaufwerke.Item(i) = "S:" Then wshNetwork.RemoveNetworkDrive "S:" End If If verbundeneLaufwerke.Item(i) = "T:" Then wshNetwork.RemoveNetworkDrive "T:" End If If verbundeneLaufwerke.Item(i) = "U:" Then wshNetwork.RemoveNetworkDrive "U:" End If If verbundeneLaufwerke.Item(i) = "V:" Then wshNetwork.RemoveNetworkDrive "V:" End If If verbundeneLaufwerke.Item(i) = "W:" Then wshNetwork.RemoveNetworkDrive "W:" End If If verbundeneLaufwerke.Item(i) = "X:" Then wshNetwork.RemoveNetworkDrive "X:" End If If verbundeneLaufwerke.Item(i) = "Y:" Then wshNetwork.RemoveNetworkDrive "Y:" End If If verbundeneLaufwerke.Item(i) = "Z:" Then wshNetwork.RemoveNetworkDrive "Z:" End If Next 'memberOf ist ein ActiveDirectory Attribut mit der Liste der Gruppen des Benutzers Dim arrMemberOf loggingStream.Write "Das Active Directory Attribut 'MemberOf' des Benutzers [" & adSystemInfo.UserName & "] wird ermittelt." & VbCrLf ' DieVariable 'memberOf' wird mit den Gruppen in denen der Benutzer Mitglied ist belegt. ' memberOf ist ein "Array" mit mehreren Elementen, auch wenn es sich nur um ein einzelnes Element handelt If (IsArray(aktuellerBenutzer.MemberOf)) Then arrMemberOf = aktuellerBenutzer.MemberOf Else arrMemberOf = Array(aktuellerBenutzer.MemberOf) End If loggingStream.Write "Benutzer ist Mitglied der folgenden Gruppen:" & vbcrlf For Each Group in arrMemberOf loggingStream.Write " --> " & group & vbcrlf Next Dim reqGroup Dim istMitglied 'istMitglied = -1 If domaenenBenutzer.IsMember("LDAP://" & adSystemInfo.UserName) Then istMitglied = 1 Else istMitglied = 0 End If ' Primre Gruppenmitgliedschaft zusaetzlich ueber die ID kontrollieren If (istMitglied = 0) Then If (objUser.PrimaryGroupID = 513) Then istMitglied = 1 End If End If If (istMitglied = 1) Then loggingStream.Write "Benutzer [" & adSystemInfo.UserName & "] ist Mitglied der Gruppe [" & domaenenBenutzer.Name & "]" & vbcrlf If (allgLaufwerk <> "nothing") Then MapDrive allgLaufwerk, allgFreigabe, "1" End if Else loggingStream.Write "Benutzer [" & adSystemInfo.UserName & "] ist kein Mitglied der Gruppe [" & domaenenBenutzer.Name & "]" & VbCrLf End If ' check ob alles bisher geklappt hat / gefunden wurde If Err.Number <> E_ADS_PROPERTY_NOT_FOUND Then For Each Group in arrMemberOf ' schneidet aus der ActiveDirectory Gruppenbezeichnung den eigentlichen Namen heraus myGroup = Left(Group,InStr(Group,",")-1) myGroup = Right(myGroup,Len(myGroup)-3) ' ------------------------------------------------------------------------------- ' ' Ab hier folgen die eigentlichen Laufwerkszuweisungen in Abhaengigkeit der Gruppenzugehoerigkeit ' ' ------------------------------------------------------------------------------- Select Case myGroup ' --------------------------------------------------------------------------- ' Laufwerke, Drucker und Profildateien abhaengig von der Gruppe waehlen: ' ' ---------------------------------------------------------------------------
  3. ok - here we are :-) On Error Resume Next ' Konstanten letzte aenderung 2009-04-11 Const E_ADS_PROPERTY_NOT_FOUND = &h8000500D Const HKEY_CURRENT_USER = &H80000001 ' Variablen fuer die Laufwerksverbindungen Dim vVolumeF Dim vVolumeG Dim vVolumeI Dim vVolumeJ Dim vVolumeK Dim vVolumeL Dim vVolumeM Dim vVolumeN Dim vVolumeO Dim vVolumeP Dim vVolumeS Dim vVolumeT Dim vVolumeU Dim vVolumeV Dim vVolumeW Dim vVolumeX Dim vVolumeY Dim vVolumeZ ' Variablen fuer die zu verbindenden Drucker Dim standardDrucker Dim drucker2 Dim drucker3 ' Einstellung eines allgemeinen Laufwerkes fuer alle Domaenenbenutzer ' Wenn ein allgemeines Laufwerk gewuenscht ist, hinter 'allgLaufwerk' den gewuenschten ' Laufwerksbuchstaben eintragen 'Dim allgLaufwerk 'Dim allgFreigabe vVolumeF = "nothing" vVolumeG = "nothing" vVolumeI = "nothing" vVolumeJ = "nothing" vVolumeK = "nothing" vVolumeL = "nothing" vVolumeM = "nothing" vVolumeN = "nothing" vVolumeO = "nothing" vVolumeP = "nothing" vVolumeS = "nothing" vVolumeT = "nothing" vVolumeU = "nothing" vVolumeV = "nothing" vVolumeW = "nothing" vVolumeX = "nothing" vVolumeY = "nothing" vVolumeZ = "nothing" standardDrucker = "nothing" drucker2 = "nothing" drucker3 = "nothing" 'allgLaufwerk = "Y:" 'allgFreigabe = "\\vm\freigabe" ' Variablen fuer das Setzen des Profils Dim sComputer, sKeyPath, sValueName, sValue2000, sValue2003, sValuemod2000, sValuemod2003, prfpath Dim oReg ' Verbindung mit dem Active Directory aufbauen um den aktuell angemeldeten Benutzer zu ermitteln Set adSystemInfo = CreateObject("ADSystemInfo") ' Erzeugen des Benutzer-Objektes mit allen Attributen des Active Directory Eintrages Set aktuellerBenutzer = GetObject ("LDAP://" & adSystemInfo.UserName) ' Log-Datei schreiben / erstellen Dim logFile 'logFile = "C:\Dokumente und Einstellungen\" & aktuellerBenutzer.FullName & "\Desktop\logon.log" logFile = "C:\temp\logon.log" set fileSys = CreateObject("Scripting.FileSystemObject") set loggingStream = fileSys.CreateTextFile(logFile, true) loggingStream.Write "Username [" & aktuellerBenutzer.FullName & "]" & VbCrLf & VbCrLf loggingStream.write "-------------------------------------------------------" & VbCrLf ' Gruppe Domaenen-Benutzer Set domaenenBenutzer = GetObject ("LDAP://cn=Domänen-Benutzer,cn=Users,dc=kgb,dc=rlp,dc=de") 'loggingStream.Write "Group [" & defGroup.Name & "]" & vbcrlf ' Erstellen einer Instanz des Netzwerk-Objektes zum Anlegen/Entfernen von Laufwerksverbindungen Set wshNetwork = WScript.CreateObject( "WScript.Network" ) ' Alle momentan verbundenen Laufwerke ermitteln Set verbundeneLaufwerke = wshNetwork.EnumNetworkDrives loggingStream.Write "Nummer der verbundenen Laufwerke [" & verbundeneLaufwerke.Count & "]" & VbCrLf ' Trennen der vorhandenen Laufwerksverbindungen For i = 0 to verbundeneLaufwerke.Count -1 Step 2 If verbundeneLaufwerke.Item(i) = "F:" Then wshNetwork.RemoveNetworkDrive "F:" End If If verbundeneLaufwerke.Item(i) = "G:" Then wshNetwork.RemoveNetworkDrive "G:" End If If verbundeneLaufwerke.Item(i) = "I:" Then wshNetwork.RemoveNetworkDrive "I:" End If If verbundeneLaufwerke.Item(i) = "J:" Then wshNetwork.RemoveNetworkDrive "J:" End If If verbundeneLaufwerke.Item(i) = "K:" Then wshNetwork.RemoveNetworkDrive "K:" End If If verbundeneLaufwerke.Item(i) = "L:" Then wshNetwork.RemoveNetworkDrive "L:" End If If verbundeneLaufwerke.Item(i) = "M:" Then wshNetwork.RemoveNetworkDrive "M:" End If If verbundeneLaufwerke.Item(i) = "N:" Then wshNetwork.RemoveNetworkDrive "N:" End If
  4. hmm - sorry - ich ergänze nochmal die Angaben: Domäne im einheitlichen Modus unter Windows Server 2003 Serveranzahl: 8 Domänenserver Useranzahl: ca 1.000 Die User sollen über das WMI-Script verschiedene Laufwerke verbunden bekommen. Dies ist abhängig von der Gruppenzugehörigkeit. Das ganze funktioniert auch, solange die Useraccounts auch DIREKT in der angegebenen Gruppe sind. Sind die User allerdings nicht DIREKT in der Gruppe (z.B. Gruppe_A), die im Script angegeben ist um das Laufwerk zu verbinden, sondern in einer anderen Gruppe (z.B. Gruppe_B), funktioniert die Laufwerksverbindung nicht, obwohl Gruppe_B Mitglied der Gruppe_A ist. Beide Gruppen sind globale Gruppen. Vielen Dank im Voraus für Hilfe :)
  5. per WMI-Script, wenn Du das meinst :) Gruß tvct
  6. Hallo, ich versuche mit einem Script die Netzlaufwerke zu verbinden, was auch gut klappt, solange die user Mitglieder der im Script genannten Gruppe sind. Sind user allerdings nicht DIREKT Mitglied der Gruppe, sondern Mitglied einer Gruppe, die in besagter Gruppe Miglied sind, wird das Laufwerk nicht verbunden :-( Kann jemand helfen? Gruß:)
×
×
  • Neu erstellen...