Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo zusammen,

ich hab diesmal folgende Aufgabenstellung:

Ich habe eine Liste (.txt-File) mit EMPIDs von Mitarbeitern. Nun möchte ich die jeweils zur EMPID gehörige CN, sprich den Login-Namen des Users erhalten.

Wie stelle ich das an? Mit "dsget user xxx" auf der Kommandozeile wird ja bei "xxx" immer nach einem User-Merkmal gefragt - und zwar nach dem welches ich eigentlich wissen will (UserDN).

Wie kann ich die Abfrage richtig stellen (gib mir den zugehörigen CN zur EMPID aller Zeilen in der Datei C:\input.txt)?

Hab schon länger nix mehr mit ADS gemacht und etwas Hilfe wäre supi :)

Alternativ würde ich mir einfach alle User der AD auflisten lassen (mit EMPID) und über eine Bastel-Lösung in Excel die Spalten EMPID (AD-Export) mit EMPID (input/gesucht) vergleichen. Dann nur noch den zugehörigen CN zuordnen und fertig. Eine Skript-Lösung bzw. ein Befehl für die Kommandozeile wäre mir aber deutlich lieber... :marine

Hallo,

sind denn in der AD die EmpID´s gepflegt? Wenn nicht, kannst du hier gleich abbrechen.

Zudem ist der CN nicht der Anmeldename sondern der Name.

Der Anmeldename ist der sAMAccountName.

Ich würde es einfach per wsh machen.

Im ersten Teil ließt du die Txt-Datei ein und im 2ten Teil fragst du die AD ab.

Der Query könnte dann so aussehen:

query = "<LDAP://DC/OU=Abteilung,OU=Firma,DC=domain,DC=local>;(&(objectClass=user)(EmpID=variable));samAccountName,telephonenumber,distinguishedName;subtree"

Das Ergebnis speicherste dann wieder oder lässt es dir ausgeben.

So bekommste das eigentlich sehr leicht hin.

"Meld"! :)

Bis aufs Hello World und bisschen SendKeys-Fun kommt auf Anhieb nicht mehr viel bei raus mit WSH... :rolleyes:

Gib mir mal bitte den Schemenhaftenaufbau deiner Datei und wie das Feld in der AD genau heisst. Ich machs schnell..

  • Autor

:eek

Danke schon im voraus :)

Die Datei (input.txt) könnte simpler gar nicht aufgebaut sein:

Je eine EmployeeID pro Zeile.

Diese EmployeeID entspricht dem Feld EMPID im AD.

Gesucht (output.txt) wird dann der zugehörige SAM.

Reicht dir das als Infos?

Konnte es zwar nicht testen, aber sollte gehen.


' Region Description

'

' Name:			get_sAMAccountName_by_EmpID

' Author:		mamamia

' Description:	sucht in AD anhand der EmpID den sAMAccountName

'

' EndRegion




Set oFileSys 		= CreateObject("Scripting.FileSystemObject")

Set objcon 			= CreateObject("ADODB.Connection")

Set WShell 			= CreateObject("Wscript.shell")

Set objConnection 	= CreateObject("ADODB.Connection")

Set objCommand 		= CreateObject("ADODB.Command")


Dim objcon

ConString 			= "Provider=ADSDSOObject"


objConnection.Open "Provider=ADsDSOObject;"

objCommand.ActiveConnection = objConnection


Set InputFile 	= oFileSys.OpenTextFile("c:\temp\input.txt")

Set OutputFile 	= oFileSys.OpenTextFile("c:\temp\output.txt")


' Datei mit EmpID´s einlesen und samAccountName suchen

Do Until InputFile.AtEndOfStream

strLine = InputFile.Readline

	query = "<LDAP://DomainController/OU=deineOU,DC=domain,DC=local>;(&(&(objectClass=user)(empid=" & strLine & ")(!(userAccountControl:1.2.840.113556.1.4.803:=2))));samAccountName,telephonenumber,distinguishedName;subtree"

	objCommand.CommandText = query

	Set objRecordSet = objCommand.Execute

	WScript.Echo objRecordSet.Fields("samAccountName").Value

Loop



WScript.Quit


Du musst halt bei der query Variable den LDAP String auf deine Domaine anpassen. Das schreiben in eine Datei überlass ich dir, musst ja auch was selber machen ;)

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.