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, 3855 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ä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 (2)

Frage von joni2000de zum Thema Batch & Shell ...

Batch & Shell
gelöst Appx aus Image auslesen und entfernen (9)

Frage von Markus2016 zum Thema Batch & Shell ...

Microsoft
Microsoft ist Platin Member bei der Linux Foundation (1)

Link von Deepsys zum Thema Microsoft ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (19)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...