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

LDAP Mitglied von(Member of) auslesen

Frage Entwicklung VB for Applications

Mitglied: runner-ralf

runner-ralf (Level 1) - Jetzt verbinden

11.02.2013 um 11:12 Uhr, 3990 Aufrufe, 4 Kommentare

Hallo alle zusammen,

ich komme einfach nicht zurecht. Habe schon ein paar Beispiele von http://www.selfadsi.de ausprobiert.
Ich will nach Eingabe von einem PC Namen alle Einträge die unter Mitglied von stehen auslesen.

Ich kann alle Computer einer OU auslesen aber ich bekomme es nicht hin den Reiter Mitglied von auszulesen.

Könnt ihr mir den unten stehenden Code um die Zeilen erweitern?

Nur in einer Msgbox ausgeben oder so.

ich werden den Code dann so anpassen dass das Eergebnis in einer HTML Seite angezeigt wird...



Set oWSH = CreateObject("WScript.Shell")
computer = "PC-TE_FF_112"
Set objComputer = GetObject ("LDAP://CN=computer,OU=CAD,DC=Meine_F,DC=net")


Viele Grüße und vielen Dank

Ralf






Mitglied: bastla
11.02.2013, aktualisiert um 11:47 Uhr
Hallo runner-ralf!

Versuch es so:
01.
Set oWSH = CreateObject("WScript.Shell") 
02.
computer = "PC-TE_FF_112" 
03.
Set objComputer = GetObject("LDAP://CN=" & computer & ",OU=CAD,DC=Meine_F,DC=net") 
04.
 
05.
On Error Resume Next 
06.
objMemberOf = objComputer.GetEx("memberOf") 
07.
On Error Goto 0 
08.
 
09.
If IsArray(objMemberOf) Then 
10.
    For Each sMembership In objMemberOf 
11.
        sAllMemberships = sAllMemberships & ";"& sMembership 
12.
    Next 
13.
    WScript.Echo Mid(sAllMemberships, 2) 
14.
Else 
15.
    WScript.Echo "Keine Mitgliedschaften gefunden!" 
16.
End If
Anmerkung: Solltest Du die Mitgliedschaft bei den "Domänencomputern" prüfen wollen, kannst du abfragen, ob die "objComputer.primaryGroupID" den Wert 515 hat.

Grüße
bastla
Bitte warten ..
Mitglied: runner-ralf
11.02.2013 um 12:30 Uhr
Servus bastla,

das sieht schon fast sehr gut aus.
Bekam zuerst mal nur eine Fehlermeldung aus die Zeile 3.
Kein Objekt gefunden....

Habe dann festgestellt dass das Script nur funktioniert wenn ich die gesamte OU Struktur bis zum Computerobjekt angebe.

Das habe ich versgessen zu erwähnen. Es gibt meistens immer noch 1 -5 weiter OU's bis zum entsprechenden Computer.

Ich hätte gerne das dieses Script ab der OU CAD recursiv weiter sucht bis er den Computer gefunden hat...

Kannst du das noch so weit modifizieren?

Einen schönen Gruß

Ralf
Bitte warten ..
Mitglied: bastla
11.02.2013 um 14:42 Uhr
Hallo runner-ralf!

Soferne das Script für den aktuellen Computer ausgeführt werden soll, könntest Du einfach die Zeilen 2 und 3 durch
Set objComputer = GetObject("LDAP://" & CreateObject("ADSystemInfo").ComputerName)
ersetzen.

Falls Du aber tatsächlich nur aufgrund eines (eingegebenen) Namens in den Tiefen Deiner OU-Struktur suchen musst: Was die "Scripting Guys" für einen Benutzernamen vorgeturnt haben, solltest Du auch für einen Computernamen hinbekommen ...

Grüße
bastla
Bitte warten ..
Mitglied: runner-ralf
12.02.2013, aktualisiert 19.02.2013
Hallo Bastla,

vielen dank für deine Hilfe. habe es jetzt hingebastelt.
Anbei noch der vollständige Code:

Danke dir nochmal....

01.
PC_Name = "PC-TE_FF_112" 
02.
Const ADS_SCOPE_SUBTREE = 2 
03.
Set objConnection = CreateObject("ADODB.Connection") 
04.
Set objCommand = CreateObject("ADODB.Command") 
05.
objConnection.Provider = "ADsDSOObject" 
06.
objConnection.Open "Active Directory Provider" 
07.
Set objCommand.ActiveConnection = objConnection 
08.
objCommand.CommandText = _ 
09.
"Select memberof, name from " & _  
10.
"'LDAP://OU=CAD,DC=Meine_F,DC=net' where objectClass='computer'and name='" & PC_Name & "'" 
11.
objCommand.Properties("Page Size") = 1000 
12.
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
13.
Set objRecordSet = objCommand.Execute 
14.
If objRecordSet.EOF Then 
15.
	Manager = "Computer nicht gefunden" 
16.
	Else 
17.
	objRecordSet.MoveFirst 
18.
	Mitglied = objRecordSet.Fields("memberof").Value  
19.
	if isempty(Mitglied) <> true then 
20.
		For Each sMembership In Mitglied 
21.
			sAllMemberships = sAllMemberships & ";"& sMembership 
22.
		Next 
23.
		msgbox sAllMemberships 
24.
		else 
25.
		msgbox("Keine Einträge unter 'Mitglied von' gefunden") 
26.
	end if 
27.
		 
28.
End If
[Edit Biber] Codeformatierung. [/Edit]
Bitte warten ..
Ähnliche Inhalte
Windows 10
Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux (6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Visual Studio
Vb.net Datenfelder aus Word 2003 Dokument auslesen (3)

Frage von Herbrich19 zum Thema Visual Studio ...

VB for Applications
gelöst Mit VBA Zertifikate auslesen (3)

Frage von it4baer zum Thema VB for Applications ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(40)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

Exchange Server
gelöst RU 17 Exchange 2010 . Erfahrungen? (10)

Frage von keine-ahnung zum Thema Exchange Server ...

Datenbanken
gelöst MySQL Zeiterfassungs-Problematik (wer ist eingecheckt) (9)

Frage von NativeMode zum Thema Datenbanken ...

Windows Server
Festplatten Ruhezustand Windows Server 2016 (8)

Frage von ahaeuser zum Thema Windows Server ...