Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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
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, 4053 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 Mitglieder aus mehreren AD Gruppen mit PowerShell auslesen (2)

Frage von Stefan007 zum Thema Batch & Shell ...

Exchange Server
gelöst Allen Mitgliedern einer Distributionsgruppe das Senden als erlauben (4)

Frage von Cubic83 zum Thema Exchange Server ...

Windows Netzwerk
Zugriff auf Ordner einer Domäne als nicht Mitglied (1)

Frage von Bloodnighter zum Thema Windows Netzwerk ...

Administrator.de Feedback
Special bei 100.000 Mitgliedern? (45)

Frage von Alexander.Schmitt zum Thema Administrator.de Feedback ...

Neue Wissensbeiträge
Mac OS X

Apple hat macOS High Sierra veröffentlicht

(4)

Information von Frank zum Thema Mac OS X ...

Viren und Trojaner

Ransomware or Wiper? RedBoot Encrypts Files but also Modifies Partition Table

(4)

Information von BassFishFox zum Thema Viren und Trojaner ...

Notebook & Zubehör

WOL bei HP Notebooks

(8)

Erfahrungsbericht von Henere zum Thema Notebook & Zubehör ...

Heiß diskutierte Inhalte
Windows Server
Seit IP Umstellung DC DNS Fehler (29)

Frage von Yaimael zum Thema Windows Server ...

Windows 10
gelöst Netzwerkkarte schaltet sich erst nach dem Logon ein (24)

Frage von DerWoWusste zum Thema Windows 10 ...

Grafik
gelöst CAD Arbeitsplätze (17)

Frage von Diddi93 zum Thema Grafik ...

Weiterbildung
gelöst Fest angestellter Admin oder Systemhaus Admin mit Kundenbetreuung? (16)

Frage von Voiper zum Thema Weiterbildung ...