Top-Themen

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 User im AD suchen

Mitglied: skid

skid (Level 1) - Jetzt verbinden

25.09.2006, aktualisiert 27.09.2006, 8540 Aufrufe, 9 Kommentare

Hallo,

bin auf der Suche nach einer Möglichkeit mit VB im AD einen User zu finden wenn ich vorher den Anmeldenamen mitgebe.

Das ganze soll dazu dienen die Terminal Server Eigenschaften eines Benutzers auszulesen.

Ich gebe dazu den Anmeldenamen ein und das Skript soll mir den User im gesamten AD suchen und die TS-Eigenschaften ausgeben.

Habe es bisher geschafft mit:

01.
Set objUser = GetObject("LDAP://cn=" & struser &" ,ou=Useranlage,ou=Anwender,dc=meine,dc=domaene,dc=de")
struser = Username

Wobei bei der Lösung der Pfad zum User bereits vorgegeben ist.
Gibt es da evtl. eine Möglichkeit mit subtree oder so ?

Gruss
SKID
Mitglied: Biber
25.09.2006 um 22:11 Uhr
Moin skid,
ich bin da auch nur Laie, aber IMHO geht es nur über ADO-Datenbankabfrage.
Aber ich lasse mir gern einen kürzeren Weg zeigen..

Wenn Du den Accountnamen kennst, dann sollte es so gehen:
01.
'---------snipp GetAnUser.vbs 
02.
Set objConnection = CreateObject("ADODB.Connection") 
03.
Set objCommand    = CreateObject("ADODB.Command") 
04.
Set objRootDSE = GetObject("LDAP://RootDSE") 
05.
strDNSDomain = objRootDSE.Get("defaultNamingContext") 
06.
objConnection.Open "Provider=ADsDSOObject;" 
07.
samAccountname = wscript.arguments(0) 
08.
objCommand.ActiveConnection = objConnection 
09.
objCommand.CommandText = "<LDAP://" & strDNSDomain & ">;(&(objectCategory=User)(samAccountName=" & samAccountName & "));distinguishedName;subtree" 
10.
                          
11.
Set objRecordset = objCommand.Execute 
12.
If objRecordset.RecordCount = 1 Then     
13.
    wscript.echo objRecordSet.fields("distinguishedName") 
14.
end if 
15.
'---------snipp GetAnUser.vbs
...wobei ich alle Schnörkel weggelassen habe.
Ein Accountname als Argument wird erwartet. Keine Fehlerbehandlung.
Beispiel:
01.
>cscript //nologo getAnUser.vbs Biber03 
02.
CN=BIBER03,CN=Users,DC=bla,DC=blubb
Gruß
Biber
Bitte warten ..
Mitglied: skid
26.09.2006 um 09:02 Uhr
Moin Biber,

dank Dir für die schnelle Antwort und Lösung.

ich bekomme jetzt zwar den distinguishedName ausgegeben aber wie kann ich jetzt auf einzelne Objekte des Users zugreifen ?

So wie ich es eigentlich vorhatte mit

01.
Set objUser = GetObject("LDAP://cn=" & struser &" ,ou=Useranlage,ou=Anwender,dc=meine,dc=domaene,dc=de")
hätte ich hergehen können und mit

01.
MsgBox "Terminal Services Home Drive: " & _ 
02.
    objUser.TerminalServicesHomeDrive 
03.
MsgBox "Terminal Services Profile Path: " & _ 
04.
    objUser.TerminalServicesProfilePath
mir die einzelnen Objekte einzeln anzeigen können.

Aber wie funktioniert das mit der ADO-Datenbankabfrage ?

Gruss
SKID
Bitte warten ..
Mitglied: Biber
26.09.2006 um 09:44 Uhr
Tja, skid,
reicht es dafür nicht, wenn Du die Properties, die Du abfragen/auswerten willst, in die Command.Text-Anweisung mit einbaust?

objCommand.CommandText = "<LDAP://" & strDNSDomain & ">;_
(&(objectCategory=User)(samAccountName=" & samAccountName & ")); _
distinguishedName,TerminalServicesHomeDrive, TerminalServicesProfilePath;subtree"

Wie gesagt, ich bin da auch Laie und was ich wirklich gut kann, ist Kochen...

Gruß
Biber
Bitte warten ..
Mitglied: skid
26.09.2006 um 10:24 Uhr
Nun ja......

Das habe ich schon probiert - funktioniert aber nur zum Teil.

Ich kann mir z.B. so den normalen Profilpfad anzeigen lassen aber
nicht die TerminalServer Einträge.

Warum das nicht geht weiß ich aber auch nicht.
Bekomme die Fehlermeldung

Provider: Unbekannter Fehler

Diese Einträge müssen im System wohl irgendwie anders Behandelt werden als die anderen ?!

Wie - Kochen kannst Du auch ??

Gruss
SKID
Bitte warten ..
Mitglied: Biber
26.09.2006 um 19:01 Uhr
Hmm, skid,

so was lässt mir ja auch keine Ruhe... habe mich da ein wenig eingelesen.

Es ist in der Tat so, dass unterschiedliche Informationen über die unterschiedlichen ADS-Interfaces bzw. Provider sicht- und bearbeitbar sind.

Punkt.

Heißt zum Beispiel: Die Antwort auf Deine Teilfrage: "Kann ich irgendwie an den Pfad des Users kommen, wenn ich nur den Accountnamen weiß?" ...
.... diese Frage war schon von mir richtig beantwortet (allerdings ohne selbst alle Hintergründe zu kennen).

Für diesen Zweck kann ich mir ein objUser über den Provider ADsDSOObject holen. Dieses Object hat auch Eigenschaften, die ich auswerten und auch neu setzen kann - aber ist nicht identisch mit dem objUser, das ich über das andere Interface, über den vollständigen Userpfad mit OU und DC bekomme.
Diesen Unterschied kannst Du auch über GUI-Tools nachvollziehen.

Das "schmalbrüstigere" M$-Tool nennt sich auf ausländisch "Active Directory Users and Computers" und das umfassendere "ADSIEdit.exe". Sollten beide beim 2003Server dabei sein.

Der langen Schreibe kurzer Sinn:
-Wenn Du "nur" den Account weißt: der ist in der Domäne eindeutig. Also lässt der sich wie oben von mir skizziert als ein Datensatz rausfieseln - so dass Du den DistinguishedName rauslutschen kannst.

Mit diesem wiederum musst Du dann Dein "vollständiges" User-Object holen, also mit frisch gelesenen OU und DC-Infos nochmal
01.
Set objUser = GetObject("LDAP://cn=" & struser &" ,ou=" & TeilstringAusDistinguishedName, x, y) & ", dc=" & _  
02.
TeilstringAusDistinguishedName, i, j) & ", dc=" .....)
Nur bei diesem UserObject kannst Du diese TerminalServices-Attribute oder auch den DisplayName ändern (das zweite war auch neulich hier gefragt worden).

Gruß
Biber
P.S. Ja, kochen kann ich auch. Dauert aber meist genauso lange...
Bitte warten ..
Mitglied: skid
27.09.2006 um 09:28 Uhr
Moin Biber,

ja, das ist schon Übel mit den verschiedenen Providern und dem ganzen hin und her.

Werde es mal mit dem Bsp. von oben versuchen meine Daten rauszubekommen.

Nur weiß ich im Moment noch nicht was Du meinst mit:
01.
ou=" & TeilstringAusDistinguishedName, x, y
und
01.
ou=" TeilstringAusDistinguishedName, i, j
Gruss
SKID
Bitte warten ..
Mitglied: Biber
27.09.2006 um 09:39 Uhr
Moin skid,
ich meinte, dass Du Dir die Infos aus
.distinguishedName = CN=BIBER03,CN=Users,DC=bla,DC=blubb
per Substring-Funktion ausliest und für die "zweite" UserObject-Abfrage benutzt.

Gruß
Biber
Bitte warten ..
Mitglied: skid
27.09.2006 um 11:10 Uhr
Hi Biber,

kaum zu glauben aber es funktioniert

Naja, da muss man halt zwischen den unterschiedlichen ADS-Interfaces bzw. Provider hin und her springen.

Jetzt haben wir wieder mal was dazugelernt

Danke für die Hilfe !


Gruss
SKID
Bitte warten ..
Mitglied: Biber
27.09.2006 um 17:14 Uhr
Jetzt haben wir wieder mal was dazugelernt..
Jepp, skid,
ich jedenfalls auch

Gruß
Biber
Bitte warten ..
Ähnliche Inhalte
Windows Server
AD User wird immer wieder gesperrt
Frage von YellowcakeWindows Server21 Kommentare

Hey ich habe einen User (ein GL User - Natürlich was denn sonst) der immer wieder gesperrt wird. Ich ...

Batch & Shell
PowerShell AD-User Export
gelöst Frage von newit1Batch & Shell7 Kommentare

Hallo, ich möchte User aus dem AD mit verschiedenen Eigenschaften in eine CSV exportieren Folgenden Befehl habe ich ausgetüftelt ...

Windows Userverwaltung
Set AD User Attribute
gelöst Frage von joehuabaWindows Userverwaltung2 Kommentare

Hallo Zusammen, ich habe folgendes Problem: Ich kann per PowerShell in die Attribute von AD-Usern schreiben. (z.B. Stadt) Allerdings ...

Windows Server
Wie AD User sauber löschen?
gelöst Frage von McLionWindows Server34 Kommentare

Hallo, ich habe nen Windows Server 2008 Server, AD ist eingerichtet. Nun ist die Festplatte am Server fast voll, ...

Neue Wissensbeiträge
Ausbildung

Linux-Ausstieg in Niedersachsen - Windows statt Bugfix

Information von StefanKittel vor 10 StundenAusbildung8 Kommentare

Sind ja nur Steuergelder

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 2 TagenSpeicherkarten2 Kommentare

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 2 TagenSicherheit

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 3 TagenHardware3 Kommentare

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Off Topic
SysAdmin im öffentlichen Dienst - jemand Erfahrungen?
Frage von JohnDorianOff Topic22 Kommentare

Hallo zusammen, hat jemand Erfahrung wie es so ist als SysAdmin im öffentlichen Dienst (Landkreis) im Südwesten der Republik ...

SAN, NAS, DAS
Nas mit USB und LAN gleichzeitig zugreifen
gelöst Frage von MarkBeakerSAN, NAS, DAS16 Kommentare

Hallo zusammen, ich suche eine Art NAS, womit ich via LAN und USB zugreifen kann. Folgender Aufbau ist gedacht: ...

Vmware
Offene LDAP-Server in AS
gelöst Frage von obi-wan-kenobiVmware15 Kommentare

Hallo alle Miteinander, ich habe ein Problem, unsere VM-Ware Appliance (Version. 6.5.0.10000) ist scheinbar angreifbar. Wir haben eben die ...

Entwicklung
Ist dies als Programmieren zu bezeichen?
Frage von kmsw110Entwicklung13 Kommentare

Hallo, ein Kollege redet dauernd darüber das er im Betrieb seine Maschinen (Fräsmaschinen) Programmiert bzw. Zahlenwerte in ein .txt ...