Domain User Beschreibung oder Email auslesen
Moin moin zusammen,
ich bin auf der Suche nach einer Möglichkeit, entwerder die User Beschreibung, die im AD gespeichert ist oder die Email Adresse, die im AD gespeichert ist auszulesen. Um diese dann weiter zu verarbeiten.
Hintergrund:
Ich bastel an einer Datei, die bei jedem Benutzer (ca. 250) einmalig ausgeführt werden soll. Jetzt würde ich gerne bei den Usern unterscheiden zwischen externen und internen Mitarbeitern. Die Mitarbeiter befinden sich im dem AD Ordner "External User", haben in der Beschreibung "Extern - Contact...." stehen und die Email ist "extern-..." Das sind die einzigen Unterschiede zu normalen Mitarbeitern.
Bei den Internen Mitarbeitern soll eine Verknüpfung auf dem Desktop von unserem Zeiterfassungs System liegen. Die Externen Mitarbeiter sind in dem Programm nicht gelistet und sollen daher auch die Verknüpfung nicht bekommen.
falls das nicht funktionieren sollte, wäre ich auch bereit das ganze in powershell zu schreiben. Jedoch muss ich da erst einmal durchblicken, da ich bisher noch kein Skript dort erstellt habe.
Schon einmal vielen Dank für eure Hilfe!!
ich bin auf der Suche nach einer Möglichkeit, entwerder die User Beschreibung, die im AD gespeichert ist oder die Email Adresse, die im AD gespeichert ist auszulesen. Um diese dann weiter zu verarbeiten.
Hintergrund:
Ich bastel an einer Datei, die bei jedem Benutzer (ca. 250) einmalig ausgeführt werden soll. Jetzt würde ich gerne bei den Usern unterscheiden zwischen externen und internen Mitarbeitern. Die Mitarbeiter befinden sich im dem AD Ordner "External User", haben in der Beschreibung "Extern - Contact...." stehen und die Email ist "extern-..." Das sind die einzigen Unterschiede zu normalen Mitarbeitern.
Bei den Internen Mitarbeitern soll eine Verknüpfung auf dem Desktop von unserem Zeiterfassungs System liegen. Die Externen Mitarbeiter sind in dem Programm nicht gelistet und sollen daher auch die Verknüpfung nicht bekommen.
falls das nicht funktionieren sollte, wäre ich auch bereit das ganze in powershell zu schreiben. Jedoch muss ich da erst einmal durchblicken, da ich bisher noch kein Skript dort erstellt habe.
Schon einmal vielen Dank für eure Hilfe!!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 286393
Url: https://administrator.de/contentid/286393
Ausgedruckt am: 23.11.2024 um 02:11 Uhr
3 Kommentare
Neuester Kommentar
Powershell:
ohne installierte RSAT-Tools für die Server-Verwaltung gehts so
Gruß jodel32
Import-Module ActiveDirectory
get-aduser -Filter "EMailAddress -like 'extern-*'" -Properties EMailAddress | select SamAccountName,EMailAddress
$adsi = new-object adsisearcher("LDAP://$(([adsi]'LDAP://rootDSE').defaultNamingContext)","(&(objectCategory=user)(mail=extern-*))","*",[System.DirectoryServices.SearchScope]::Subtree)
$adsi.FindAll()| %{
$_.Properties.samaccountname
}
Zitat von @mavericklp:
Nach dem ich mir das ganze jetzt mal angesehen habe mit dem Thema PowerShell bin ich leider stark enttäuscht.... bin bisher davon ausgegangen, das PowerShell sowas wie Batch ist nur als Ordentliche Programmiersprache.
Ist es auch ... Nur ein Anfänger der Powershell kann so urteilen, das ist normal, wenn du mal eingestiegen bist willst du kein Batch mehr anfassen, denn auf einmal kannst du alles ohne Zusatztools erledigen was du in Batch bisher mit einem Mischmasch aus VBS etc. erledigen musstest. Powershell basiert auf .NET, dir steht also ein riesiges Arsenal an Funktionen zur Verfügung.Nach dem ich mir das ganze jetzt mal angesehen habe mit dem Thema PowerShell bin ich leider stark enttäuscht.... bin bisher davon ausgegangen, das PowerShell sowas wie Batch ist nur als Ordentliche Programmiersprache.
Schweiter leider daran, auf den Computern PowerShell zu aktivieren ohne mich auf jeden Computer einmal anzumelden.
Dafür gibt es GPOs! ..Um die Execution-Policy anzupassen.Computer- / Benutzerkonfiguration > Administrative Vorlagen > Windows Komponenten > Windows Powershell > Skriptausführung aktivieren
Gruß jodel32
p.s. Die Attribute lassen sich auch per VBS in einem "Logon"-Skript abfragen wenn du willst:
Beispiel für das "Description"-Attribut
Set objSysInfo = CreateObject("ADSystemInfo")
Set objUser = GetObject("LDAP://" & objSysInfo.UserName)
strDescription = objUser.Get("Description")
if strDescription <> "" then
if Instr(1,strDescription,"Extern",1) > 0 then
msgbox "Ich bin ein externer User"
else
msgbox "Ich bin ein interner User"
end if
end if