Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VBScript - prüfen ob Benutzer - Computer Mitglied einer Gruppe ist

Frage Entwicklung Batch & Shell

Mitglied: AndiStroebi

AndiStroebi (Level 1) - Jetzt verbinden

23.07.2012 um 15:11 Uhr, 6671 Aufrufe, 7 Kommentare

Hallo,

ich habe mir vor kurzem ein Script gebastelt mit dem ich über das AD bestimmen kann welcher Benutzer/Computer welchen Drucker automatisch bekommt. Funktioniert auch alles perfekt.

Ich habe jetzt im AD Gruppen die den selben Namen haben wie die Drucker und die Mitglieder der Gruppen bekommen die Drucker automatisch verbunden.

Nun habe ich eben das Problem das ich Abteilungsdrucker habe, die allen Computern einer Abteilung zugeordnet werden müssen. Jetzt würde ich gerne in die Druckergruppe als Mitglied weitere Gruppen hinzufügen (z.B. Abteilung-Buchhaltung).

Jetzt ist meine Frage, wie finde ich mit VBScript herraus ob ein Benutzer/Computer Mitglied einer Gruppe ist, auch wenn er nicht direkt in der Gruppe steht, sondern sich in weiteren Untergruppen versteckt?

Beispiel


->Drucker1
--->User1
--->User2
--->Gruppe1
----->User3
----->User4

Wie finde ich in diesem Beispiel heraus ob User 3 & 4 Mitglieder sind von Drucker1?


Gruß Andi
Mitglied: bioperiodik
23.07.2012 um 15:15 Uhr
Moin,

Muss es unbedingt VB sein?

Evtl. wäre Kix32 was für dich?
Bitte warten ..
Mitglied: bastla
23.07.2012 um 17:54 Uhr
Hallo AndiStroebi!

Schau Dir mal den "Scripting Guy"-Artikel "Determining a User’s Group Memberships" an ...

Grüße
bastla
Bitte warten ..
Mitglied: eazy-isi
24.07.2012 um 07:43 Uhr
Servus,

also ich nutze: http://www.faq-o-matic.net/2011/07/06/jos-version-3-1/ und übergebe das ganze dann an Excel bzw. starte es schon aus Excel heraus.

Gruß
eazy_isi
Bitte warten ..
Mitglied: AndiStroebi
24.07.2012 um 13:53 Uhr
Hallo,

@bioperiodik: das Script ist eben schon zu 99% fertig. Da möchte ich ungern auf etwas anderen umschwenken

@bastla: Sie schon mal gut aus. Muss mal schauen ob mich das weiter bringt. Weil wenn ich es bisher richtig verstanden habe wird hier gesucht in welcher Gruppe ein User ist. Ich sollte aber wissen ob ein User ein Mitglied einer bestimmten Gruppe ist. Hört sich zwar fast gleich an, ist aber ein anderer Ansatz.

@eazy_isi: entweder ich habe es noch nicht richtig verstanden oder ist das nur zum Dokumentationen machen? oder meintest du ich soll mal den Quellcode von dem durchschauen?
Bitte warten ..
Mitglied: bastla
24.07.2012, aktualisiert um 14:03 Uhr
Hallo AndiStroebi!
Ich sollte aber wissen ob ein User ein Mitglied einer bestimmten Gruppe ist. Hört sich zwar fast gleich an, ist aber ein anderer Ansatz.
Die (für mich) einfachste Lösung wäre, alle Gruppen mit einem passenden Trennzeichen (zB "#") in einen String (im Beispiel unten Variable "Groups") zu packen - sähe dann etwa so aus:
#Drucker1#Drucker4#Drucker5#
und dann per "InStr()" abzufragen:
If InStr(Groups, "#" & TheGroup & "#") > 0 Then WScript.Echo "ist in Gruppe " & TheGroup
Grüße
bastla
Bitte warten ..
Mitglied: AndiStroebi
29.07.2012 um 08:26 Uhr
Hi,

leider geht das eben nicht.

Jetzt würde ich herausfinden ob er direkt in einer der Hauptgruppen ist. Das ist eben mein Problem. Ich muss herausfinden ob der Benutzer in einer Untergruppe ist. z.B. Gruppe1 oder sogar Gruppe2.

->Drucker1
--->User1
--->User2
--->Gruppe1
----->User3
----->User4
----->Gruppe2
------->User5
Bitte warten ..
Mitglied: bastla
29.07.2012 um 10:37 Uhr
Hallo AndiStroebi!
Jetzt würde ich ...
Hast Du denn noch nicht?
ob er direkt in einer der Hauptgruppen ist
Hast Du Dir den verlinkten Artikel / das Script überhaupt angesehen? Wenn ja, solltest Du eigentlich gemerkt haben, dass es darin genau darum geht, auch verschachtelte ("nested") Gruppen zu berücksichtigen - eine "direkte" Mitgliedschaft bei der Hauptgruppe ist daher nicht nötig ...

Ich muss allerdings zugeben, dass die Scripting Guys ein Leerzeichen vergessen haben , daher (aber zumindest das Testen überlasse ich Dir):
01.
On Error Resume Next 
02.
 
03.
Set objUser=GetObject("LDAP://" & CreateObject("ADSystemInfo").UserName) 
04.
Set colGroups = objUser.Groups 
05.
Groups = "#" 
06.
For Each objGroup in colGroups 
07.
    Groups = Groups & objGroup.CN & "#" 
08.
    GetNested(objGroup) 
09.
Next 
10.
If InStr(Groups, "#Drucker1#") > 0 Then WScript.Echo "ist in Gruppe ""Drucker1""" 
11.
If InStr(Groups, "#Drucker2#") > 0 Then WScript.Echo "ist in Gruppe ""Drucker2""" 
12.
 
13.
Function GetNested(objGroup) 
14.
    On Error Resume Next 
15.
    colMembers = objGroup.GetEx("memberOf") 
16.
    For Each strMember in colMembers 
17.
        strPath = "LDAP://" & strMember 
18.
        Set objNestedGroup = _ 
19.
        GetObject(strPath) 
20.
        Groups = Groups & objGroup.CN & "#" 
21.
        GetNested(objNestedGroup) 
22.
    Next 
23.
End Function
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Windows Userverwaltung
Administrator ist Mitglied der Gruppe Domänen-Benutzer?
Frage von maxpointWindows Userverwaltung12 Kommentare

Hallo Ich bin gerade auf den Umstand gestoßen, dass der Administrator Mitglied der Sicherheitsgruppe Domänen-Benutzer ist. Das Problem, ich ...

Windows Server
Gespeicherte Abfrage nach Mitglieder einer Computer Verteil-Gruppe
Frage von akae11Windows Server2 Kommentare

Hallo in die Runde, wir möchten im AD eine neue Abfrage erstellen, die uns alle Computer einer bestimmten Verteil-Gruppe ...

Windows Userverwaltung
Mitglieder der lokalen Benutzer und Gruppen über GPO ändern
gelöst Frage von moses-southWindows Userverwaltung5 Kommentare

Einen wunderschönen guten Morgen zusammen Erst mal ein herzliches Willkommen und danke für eure bisherige Unterstützung, anhand der Fragen ...

Windows Userverwaltung
Authentifizierte Benutzer in Gruppe Benutzer auch auf Server
gelöst Frage von KMUlifeWindows Userverwaltung12 Kommentare

Hallo zusammen Eventuell ist dies eine Freitagsfrage und ich stehe auf dem Schlauch aber was solls ;-). Unter Windows ...

Neue Wissensbeiträge
Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 1 StundeLinux6 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 1 TagHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Heiß diskutierte Inhalte
Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing13 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Microsoft Office
Outlook Cache Mode Frage
Frage von GwaihirMicrosoft Office11 Kommentare

Hallo zusammen, bin gerade neu in der Firma und lerne hier einige neue Dinge kennen. Zum Beispiel, dass die ...

Windows Server
Windows Store Apps
gelöst Frage von PeterleBWindows Server11 Kommentare

Gibt es einen Weg, auf Windows Server 2016 Windows Store Apps wie zum Beispiel die HP Smart App zu ...