Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

Vbs - Gruppenmitgliedschaften eines Users auslesen?

Frage Entwicklung Batch & Shell

Mitglied: AlbertMinrich

AlbertMinrich (Level 2) - Jetzt verbinden

12.02.2012 um 22:13 Uhr, 9177 Aufrufe, 2 Kommentare

Hallo,

ich lese per vbs die Gruppenmitgliedschaften eines Users aus.
Eigentlich so:

01.
Set objitem = GetObject("LDAP://CN=meinuser,OU=meinou,DC=meindomaene,DC=lo") 
02.
 
03.
for each objGroup in objitem.memberof 
04.
	Set objGroup = GetObject("LDAP://" & objGroup) 
05.
	wscript.echo objgroup.cn 
06.
next
Das funktioniert auch, aber nur bei den Usern, die mindestens in zwei Gruppen sind. Ist der User nur in einer, kommt diese Meldung:
"Laufzeitfehler in Microsoft VBScript: Das Objekt ist keine Auflistung"

Bei diesen Usern funktioniert dagegen das hier:
01.
wscript.echo objitem.memberof
Jetzt wiederum kommt dieser Fehler, wenn ein User in mehr als einer Gruppe ist:
"Laufzeitfehler in Microsoft VBScript: Typen unverträglich"

Wie krieg ich vorher raus, in wievielen Gruppen der User ist?
Ich weiss, ich könnte es über "error resume next" und Abfrage der err.number machen, aber schön ist das nicht.

Geht´s anders?

Danke
Gruß
AlbMin
Mitglied: bastla
12.02.2012 um 23:16 Uhr
Hallo AlbertMinrich!

Frag doch vorweg, ob es sich um ein Array handelt:
01.
Set objitem = GetObject("LDAP://CN=meinuser,OU=meinou,DC=meindomaene,DC=lo") 
02.
Groups = objItem.memberof 
03.
 
04.
If IsArray(Groups) Then 
05.
    For Each Group In Groups 
06.
        WScript.Echo GetObject("LDAP://" & Group).cn 
07.
    Next 
08.
Else 
09.
    WScript.Echo GetObject("LDAP://" & Groups).cn 
10.
End If
Andere Ansätze gäbe es noch im Script Center oder bei Richard L Mueller ...

Grüße
bastla
Bitte warten ..
Mitglied: AlbertMinrich
13.02.2012 um 08:52 Uhr
Zitat von bastla:
Hallo AlbertMinrich!

Frag doch vorweg, ob es sich um ein Array handelt:
01.
Set objitem = GetObject("LDAP://CN=meinuser,OU=meinou,DC=meindomaene,DC=lo") 
02.
> Groups = objItem.memberof 
03.
>  
04.
> If IsArray(Groups) Then 
05.
>     For Each Group In Groups 
06.
>         WScript.Echo GetObject("LDAP://" & Group).cn 
07.
>     Next 
08.
> Else 
09.
>     WScript.Echo GetObject("LDAP://" & Groups).cn 
10.
> End If 
11.
> 

Tja, so einfach, wenn mans weiss.
Danke. Funktioniert einwandfrei.

Gruß
AlbMin
Bitte warten ..
Ähnliche Inhalte
VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
Eventlog Druckjobs mit VBS auslesen (4)

Frage von joni2000de zum Thema Batch & Shell ...

Entwicklung
Zählerstände über SNMP und VBS auslesen (4)

Frage von motofuzy zum Thema Entwicklung ...

Festplatten, SSD, Raid
gelöst Windows 7 Pro x64 Key aus einer (fast) kaputten HDD auslesen (7)

Frage von carbon1X zum Thema Festplatten, SSD, Raid ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Exchange Server
Microsoft Exchange Weiterleitung mit anderer primären E-Mail Adresse (14)

Frage von Rene12345 zum Thema Exchange Server ...

Windows Userverwaltung
gelöst Wie verfahrt Ihr mit den Windows-Benutzerkonten und -dateien von ausgeschiedenen Mitarbeitern? (14)

Frage von Bl0ckS1z3 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Devolo DLAN 500 pro Wireless+ (13)

Frage von IceAge zum Thema LAN, WAN, Wireless ...

E-Mail
gelöst Probleme beim E-Mail Empfang (12)

Frage von TommyB83 zum Thema E-Mail ...