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, 3935 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
Batch & Shell
gelöst Auslesen und Vergleichen Zweiter CSV Dateien Powershell (7)

Frage von Hainoon zum Thema Batch & Shell ...

Batch & Shell
gelöst Laufwerkgröße der Clients auslesen (6)

Frage von michi-ffm zum Thema Batch & Shell ...

Batch & Shell
String Zeichenpaare auslesen und bearbeiten (6)

Frage von ahstax zum Thema Batch & Shell ...

Peripheriegeräte
Kontrolliertes auslesen von Speicherkarten (3)

Frage von -s-v-o- zum Thema Peripheriegeräte ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(2)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Systemdateien
Warum System auf "C:" (29)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Cloud-Dienste
gelöst Bitcoins minen über Nacht? (16)

Frage von 1410640014 zum Thema Cloud-Dienste ...

LAN, WAN, Wireless
Cisco SG200: Auf bestimmtem vLAN bestimmte TCP-Ports sperren (16)

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