Dapatkan-aduser Ini adalah salah satu cmdlet PowerShell utama yang dapat Anda gunakan untuk mendapatkan berbagai informasi tentang pengguna Active Directory dan atributnya. Menggunakan cmdlet Get-ADUser, Anda bisa mendapatkan nilai atribut apa pun dari akun pengguna AD, menampilkan daftar pengguna di domain dengan atribut yang diperlukan dan mengekspornya ke CSV, dan menggunakan berbagai kriteria untuk memilih pengguna domain..
Cmdlet Get-ADUser telah tersedia sejak PowerShell 2.0 dan merupakan bagian dari modul Direktori Aktif khusus, Modul Direktori Aktif untuk Windows PowerShell (diperkenalkan pada Windows Server 2008 R2). Cmdlet RSAT-AD-PowerShell memungkinkan Anda untuk melakukan berbagai operasi pada objek direktori AD.
Catatan. Sebelumnya, saya harus menggunakan berbagai alat untuk mendapatkan informasi tentang atribut akun pengguna AD: konsol ADUC (termasuk permintaan AD yang disimpan), skrip vbs, utilitas dsquery, dll. Semua alat ini dapat dengan mudah mengganti cmdlet Get-ADUser..Dalam contoh ini, kami akan menunjukkan cara menggunakan cmdlet PowerShell Get-ADUser untuk mendapatkan informasi tentang waktu kata sandi pengguna terakhir kali diubah, kata sandi kadaluwarsa, dan data pengguna lainnya.
Konten:
- Cara menemukan pengguna di AD dan menampilkan propertinya menggunakan Get-ADUser?
- Mengambil Pengguna dari Banyak OU Menggunakan Get-ADUser
- Dapatkan Alamat Email Pengguna dari AD
- Get-ADUser: ekspor pengguna domain ke teks atau file CSV / Excel
- Get-ADUser -Filter: Menyortir dan memfilter daftar pengguna AD
- Get-ADUser: Contoh Penggunaan Berbeda
Cara menemukan pengguna di AD dan menampilkan propertinya menggunakan Get-ADUser?
Untuk menggunakan modul RSAT-AD-PowerShell, Anda harus memulai konsol PowerShell dengan hak administrator dan mengimpor modul dengan perintah:
Direktori aktif Modul Impor
Pada Windows Server 2012 dan yang lebih baru, modul RSAT-AD-PowerShell diinstal secara default ketika peran Layanan Domain Direktori Aktif (AD DS) dikerahkan ke server. Untuk menginstal modul pada server anggota domain, jalankan perintah:
Instal-WindowsFeature -Nama "RSAT-AD-PowerShell" -Termasuk AllSubFeature
Di versi desktop Windows (misalnya, di Windows 10) agar komandan Get-AdUser berfungsi, Anda perlu menginstal versi RSAT yang sesuai dan mengaktifkan komponen di Control Panel Modul Direktori Aktif untuk Windows PowerShell (Alat Administrasi Server Jarak Jauh -> Alat Administrasi Peran -> Alat AD DS dan LDS AD -> Alat AD DS).
Anda dapat menginstal modul AD dari PowerShell:
Add-WindowsCapability -online -Name “Rsat.ActiveDirectory.DS-LDS.Tools ~~~~ 0.0.1.0”
Modul Impor "C: \ PS \ ADPoSh \ Microsoft.ActiveDirectory.Management.dll"
Modul Impor "C: \ PS \ ADPoSh \ Microsoft.ActiveDirectory.Management.resources.dll"
Daftar lengkap semua argumen untuk cmdlet Get-ADUser dapat diperoleh sebagai berikut:
bantu Get-ADUser
Untuk mendaftar semua akun domain, jalankan perintah:
Dapatkan-ADUser -filter *
Secara default, cmdlet Get-ADUser mengembalikan hanya 10 atribut dasar (dari lebih dari 120 properti akun pengguna): DistinguishedName, SamAccountName, Nama, SID, UserPrincipalName, ObjectClass, status akun (Diaktifkan: Benar / Salah sesuai dengan atribut UserAccountControl), dan t .d.
Output cmdlet tidak mengandung informasi tentang waktu perubahan kata sandi pengguna terakhir.
Untuk menjalankan permintaan pada pengontrol domain tertentu, - Parameter server digunakan:Dapatkan-ADUSer -Server DC01.winitpro.loc -Identity tstuser
Untuk menampilkan informasi lengkap tentang semua atribut pengguna tuser yang tersedia, jalankan perintah:
Dapatkan-ADUser -identity tuser -Properti *
Dapatkan-ADUser Cmdlet dengan Parameter Properti * daftar semua atribut pengguna AD dan nilainya.
Mari kita coba mengubah parameter dari perintah Get-ADUser untuk menampilkan hanya atribut pengguna yang kita butuhkan. Anda dapat menampilkan beberapa atribut pengguna sekaligus:
- Kata sandi sudah kedaluwarsa
- PasswordLastSet
- PasswordNeverExpires
- lastlogontimestamp
Jalankan perintah:
Get-ADUseruser pengguna -properti Kata sandiExpired, PasswordLastSet, PasswordNeverExpires, lastlogontimestamp
Sekarang informasi pengguna berisi informasi tentang status akun (Kedaluwarsa: Benar / Salah), tanggal kata sandi diubah, dan waktu masuk terakhir ke domain (lastlogontimestamp). Kami menyajikan informasi dalam bentuk tabel yang lebih nyaman dan menghapus semua atribut yang tidak perlu menggunakan Select-Object -Property atau Format-Table:
Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires
Mengambil Pengguna dari Banyak OU Menggunakan Get-ADUser
Untuk menghapus pengguna hanya dari wadah domain tertentu (OU), gunakan opsi SearchBase:
Get-ADUser -SearchBase 'OU = Moskow, DC = winitpro, DC = loc' -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires
Jika Anda perlu memilih pengguna dari beberapa OU sekaligus, gunakan konstruksi berikut:
$ OUs = "OU = Moskow, DC = winitpro, DC = lokal", "OU = SPB, DC = winitpro, DC = loc"
$ OUs | foreach Get-ADUser -SearchBase $ _ -Filter * | pilih Nama, Diaktifkan
Dapatkan Alamat Email Pengguna dari AD
Email pengguna adalah salah satu atribut di Active Directory. Untuk mencantumkan alamat email pengguna, Anda harus menambahkan bidang Alamat Email ke bidang yang dipilih pada cmdlet Get-ADUser.
Get-ADUser -filter * -properties EmailAddress -SearchBase 'OU = MSK, DC = winitpro, DC = loc' | pilih-objek Nama, Alamat Email
Daftar akun aktif dengan alamat surat:
Get-ADUser -Filter (mail -ne "null") -and (Diaktifkan -eq "true") -Properties Surname, GivenName, mail | Select-Object Name, Nama Keluarga, GivenName, mail | Format-tabel
Daftar pengguna yang tidak memiliki alamat email:
Get-ADUser -Filter * -Properties EmailAddress | di mana -Property EmailAddress -eq $ null
Contoh berikut memungkinkan Anda untuk membongkar buku alamat dari alamat email perusahaan dalam bentuk file csv, yang nantinya dapat diimpor ke Outlook atau Mozilla Thunderbird:
Get-ADUser -Filter (mail -ne "null") -and (Diaktifkan -eq "true") -Properties Surname, GivenName, mail | Select-Object Name, Nama Keluarga, GivenName, mail | Ekspor-Csv -NoTypeInformation -Encoding utf8 -delimiter "," $ env: temp \ mail_list.csv
Get-ADUser: ekspor pengguna domain ke teks atau file CSV / Excel
Daftar pengguna domain dengan atribut yang dihasilkan dapat diunggah ke file teks:
Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires> C: \ temp \ users.txt
Atau Anda dapat mengunggah pengguna AD ke file CSV, yang nantinya akan diekspor dengan mudah ke Excel.
Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | pilih Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires | Ekspor-csv -path c: \ temp \ user-password-expires-2019.csv -Tambahkan -Encoding UTF8
Get-ADUser -Filter: Menyortir dan memfilter daftar pengguna AD
Menggunakan parameter -Saring Anda dapat memfilter daftar pengguna dengan satu atribut atau lebih. Anda bisa menentukan nilai atribut tertentu dari pengguna Direktori Aktif sebagai argumen untuk parameter ini. Saat menggunakan parameter -Filter, cmdlet Get-ADUser hanya akan mencantumkan pengguna yang cocok dengan kriteria filter..
Misalnya, kami akan mencantumkan akun pengguna yang Diaktifkan yang namanya berisi "Dmitry"(contoh di bawah ini menggunakan beberapa filter, Anda dapat menggabungkan kondisi menggunakan operator perbandingan logis PowerShell standar):
Get-AdUser -Filter "(Seperti-nama '* Dmitry *') -dan (Diaktifkan -eq 'Benar')" -Properti * | pilih nama, diaktifkan
Opsional menggunakan mengurutkan-objek Anda dapat mengurutkan daftar pengguna berdasarkan atribut tertentu. Anda juga dapat menggunakan cmdlet untuk menjemput pengguna. dimana. Di sini Anda juga dapat menggunakan beberapa kriteria pemfilteran sekaligus..
Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires -SearchBase 'OU = Moskow, DC = winitpro, DC = loc' | di mana $ _ .nama -seperti "* Dmitry *" -dan $ _. Diaktifkan -eq $ true | sort-object PasswordLastSet | pilih-objek Nama, PasswordExpired, PasswordLastSet, PasswordNeverExpires
Dengan demikian, Anda bisa membuat tabel dengan atribut yang diperlukan pengguna Active Directory.
Get-ADUser: Contoh Penggunaan Berbeda
Selanjutnya, kami berikan beberapa opsi permintaan yang berguna untuk pengguna Active Directory menggunakan berbagai filter. Anda dapat menggabungkan mereka untuk mendapatkan daftar pengguna domain yang diperlukan:
Cantumkan pengguna AD yang namanya dimulai dengan Romawi:
Dapatkan-ADUser -filter name -like "Roman *"
Untuk menghitung jumlah total semua akun di Direktori Aktif:
Get-ADUser -Filter SamAccountName -like "*" | Measure-Object
Daftar semua akun aktif (tidak diblokir) dalam AD:
Get-ADUser -Filter Diaktifkan -eq "True" | Select-Object SamAccountName, Name, Surname, GivenName | Format-tabel
Cetak tanggal pembuatan akun pengguna di domain:
get-aduser -Filter * -Nama Properti, WhenCreated | Pilih nama, saat Diciptakan
Daftar semua pengguna yang dibuat dalam 24 jam terakhir (contoh dari sini):
$ lastday = ((Get-Date) .AddDays (-1))
Dapatkan-ADUser -filter (whencreated -ge $ lastday)
Daftar akun dengan kata sandi yang kedaluwarsa (kata sandi dikonfigurasikan dalam kebijakan domain):
Get-ADUser -filter Diaktifkan -eq $ True -properti name, passwordExpired | di mana $ _. PasswordExpired | pilih nama, kata sandi expired
Tugas: untuk daftar akun yang disimpan dalam file teks (satu akun per baris), Anda perlu mendapatkan telepon pengguna dari AD dan mengunggah informasi ke file csv teks (untuk pembuatan laporan lebih lanjut dalam Excel).
Impor-Csv c: \ ps \ usernsme_list.csv | ForEach
Dapatkan-ADUser -identity $ _. Pengguna -Nama Properti, telephoneNumber |
Pilih Nama, nomor telepon |
Ekspor-CSV c: \ ps \ export_ad_list.csv -Tambahkan -Encoding UTF8
Pengguna yang belum mengubah kata sandi mereka dalam 90 hari terakhir:
$ 90_Days = (Get-Date) .adddays (-90)
Get-ADUser -filter (passwordlastset -le $ 90_days)
Untuk mendapatkan foto pengguna dari Active Directory dan menyimpannya dalam file jpg:
$ user = Get-ADUser winadmin -Properties thumbnailPhoto
$ user.thumbnailFoto | Set-Content winadmin.jpg -Encoding byte
Daftar grup di mana akun pengguna berada
Dapatkan-AdUser winadmin -Properti anggotaof | Pilih anggota -properti anggota perkebunan
Daftar pengguna dari OU yang merupakan anggota grup keamanan tertentu:
Get-ADUser -SearchBase 'OU = Moscow, DC = winitpro, DC = loc' -Filter * -properties memberof | Where-Object ($ _. Memberof-like “* WKS admin *")
Cantumkan komputer domain yang diizinkan untuk dimasukkan pengguna (pembatasan melalui atribut LogonWorkstations):
Dapatkan-ADUser AIvanov -Properti LogonWorkstations | Nama Format-Daftar, LogonWorkstations