Maile użytkowników w Active Directory przy pomocy PowerShell’a. Czasami pojawia się potrzeba przygotowania raportu z listą użytkowników oraz przypisanymi dla nich adresami email. Może łatwiejsze będzie przygotowanie takiej listy ręcznie? Przy kilku użytkownikach pewnie tak, do reszty przypadków lepiej użyć Get-ADUser, ponieważ w ciągu kilku sekund zostanie przeskanowana całą domena lub wskazana OU.
Pobieranie adres email ze wszystkich kont w Active Directory
Na początek pobiorę wszystkich użytkowników z Active Directory, wraz z częścią właściwości: Name, EmailAddress, DisplayName. Części z tych właściwości konta nie mają przypisanych.
1 |
Get-ADUser -filter * -properties name, EmailAddress, DisplayName | Select Name, EmailAddress, Displayname |
Dane kont użytkownika mogą zostać pobrane na podstawie adresu email.
Get-ADUser -filter {Emailaddress – eq 'user1@beitadminpl.local’}
W tym przykładzie chciałbym pokazać oddzielnie, konta z adresem email oraz bez niego.
1 |
Get-ADUser -Filter {mail -like '*'} -property mail | Select name, mail |
Drugim podejściem, będzie pobranie kont, które adresu email nie mają przypisanego.
1 |
Get-ADUser -Filter {mail -notlike '*'} -property mail | Select name, mail |
Ostatni przykład, to automatyzacja. Pobiorę przy pomocy skryptu PS, listę użytkowników z adresami email, dodam to tego login, imię oraz nazwisko i zapiszę wszystko do pliku .csv.
1 |
# Import modułu Active Directory<br>Import-Module ActiveDirectory<br><br># Pobranie listy użytkowników z Active Directory, którzy mają przypisane adresy email<br>$usersWithEmail = Get-ADUser -Filter { EmailAddress -like "*" } -Property EmailAddress, GivenName, Surname, SamAccountName<br><br># Przekształcenie wyników na czytelny format do zapisu w pliku CSV<br>$output = $usersWithEmail | Select-Object SamAccountName, GivenName, Surname, EmailAddress<br><br># Ścieżka do pliku CSV<br>$outputFilePath = "C:\Temp\AD_Users_Email.csv"<br><br># Zapisywanie wyników do pliku CSV<br>$output | Export-Csv -Path $outputFilePath -NoTypeInformation<br><br>Write-Host "Lista użytkowników z adresami email została zapisana do" $outputFilePath |
Podsumowanie
Wyciągnięcie potrzebnych informacji z konta użytkownika nie jest takie trudne. Przy pomocy eksportu danych do pliku, może taką listę szybko przesłać do działu HR czy innego, który potrzebuje szybko listy użytkowników.
Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.
Link do formularza tutaj: https://beitadmin.pl/pomysly
Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).