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, 8599 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
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 Userverwaltung

AD user mit Azure AD - O365 Synchroniesieren

Frage von Netgear24Windows Userverwaltung2 Kommentare

Hallo Zusammen Ich habe gerade eine Herausforderung bei welcher ich um Rat froh wäre. Folgende Ausgangsituation: 3x AD DC's ...

Exchange Server

Outlook 2013 - AD User Webseite - PopUp User

Frage von secchoExchange Server

Hallo Zusammen Besteht die Möglichkeit in Outlook 2013 die Webseite welche beim User im AD hinterlegt ist im Pop ...

Neue Wissensbeiträge
Windows 10

Netzwerk-Bug in allen Windows 10-Versionen durch Januar 2019-Updates

Information von kgborn vor 2 StundenWindows 101 Kommentar

Nur ein kurzer Hinweis für Admins, die Windows 10-Clients im Portfolio haben. Mit den Updates vom 8. Januar 2019 ...

Windows 10

Windows 10 V1809: Rollout ist gestartet - kommt per Windows Update

Information von kgborn vor 20 StundenWindows 101 Kommentar

Eine kurze Information für die Admins, die Windows 10 im Programm haben. Microsoft hat die letzte Baustelle (die Inkompatibilität ...

Sicherheit

Heise Beitrag Passwort-Sammlung mit 773 Millionen Online-Konten im Netz aufgetaucht

Information von Penny.Cilin vor 23 StundenSicherheit5 Kommentare

Auf Heise Online ist folgender Beitrag veröffentlicht worden: Heise Beitrag passwörter geleakt Ich bin mir jetzt nicht ganz sicher, ...

Microsoft Office
TEAMS - Skype for business
Tipp von Nebellicht vor 23 StundenMicrosoft Office2 Kommentare

Hallo, Microsoft ersetzt "Skype for business" durch TEAMS. Also, nicht wundern wenn mit der OFFICE365 Umgebung kein Skype for ...

Heiß diskutierte Inhalte
Switche und Hubs
Medienkonverter mit 12 oder 24 Ports gesucht
Frage von wmuellerSwitche und Hubs23 Kommentare

Guten Morgen, ich bin auf der Suche nach einem größeren Medienkonverter, der "stumpf" 1:1 die Ports auf über ein ...

Windows Server
Uhren gehen immer wieder falsch
Frage von killtecWindows Server23 Kommentare

Hallo, ich habe folgende Konstellation: 1. Physischer DC Div. Virtuelle DC's auf Hyper-V Servern Die Hyper-V-Server, der Physische DC ...

Debian
OpenSSH Login mit Public Key schlägt fehl, mit Passwort funktioniert
gelöst Frage von DKowalkeDebian19 Kommentare

Hallo zusammen, ich hatte hier schon nach einer Anleitung für einen SFTP Server mit Linux gefragt, habe dort auch ...

Windows Server
Client in die Domäne einbinden - Allgemeine Frage dazu
gelöst Frage von RalphTWindows Server19 Kommentare

Moin, ich habe 2 DCs in einer Hauptstelle und 2 DCs in einer Nebenstelle. Ich bringe in der Hauptstelle ...