Bagaimana cara mengekspor daftar terperinci dari tab "Anggota" pengguna Active Directory?

8

Saat ini saya sedang dalam proses merestrukturisasi daftar pengguna Active Directory dari perusahaan tempat saya bekerja, dan orang yang melakukannya melakukan pekerjaan yang buruk, dan tentu saja, tidak bekerja di sini lagi.

Pertanyaan saya adalah sebagai berikut: Saya ingin memiliki spreadsheet Excel (idealnya) yang berisi semua informasi yang terkandung dalam tab "Anggota" pada bagan pengguna.

Saya telah mencoba membuat kueri, tetapi hasilnya hanya memberi saya daftar pengguna yang merupakan "anggota" sesuatu, bukan konten sebenarnya dari tab "anggota".

Apakah ada cara untuk melakukan ini, baik melalui command prompt atau langsung dari Active Directory?

Peringatan yang adil: Saya tidak tahu apa-apa tentang VBS dan Powershell.


sumber

Jawaban:

7

Jika Anda ingin mendapatkan keanggotaan grup pengguna, jalankan perintah PowerShell ini :

Get-ADPrincipalGroupMembership $Username | Select Name | out-file "filepath" di mana Anda ingin dokumen disimpan, termasuk nama yang Anda inginkan dokumen "

Di mana $Usernamenama pengguna yang Anda tanyakan.

Josh
sumber
IMO ini adalah alat yang tepat untuk pekerjaan itu.
blaughw
3

Saya punya ini, Anda perlu belajar sedikit PowerShell untuk memilikinya dibuang ke CSV, saat ini hanya membuang ke file teks.

$users = Get-ADUser -Filter * -Properties * -SearchBase "OU=something,DC=domain,DC=net"
foreach ($user in $users) {
    $file = $user.Name + '_ACL'        
    (Get-ADUser –Identity $user –Properties MemberOf).MemberOf -replace '^CN=([^,]+),OU=.+$','$1' | Out-File c:\PSResults\$file.txt
    }

Saya tidak pernah meluangkan waktu untuk membuatnya bekerja untuk output CSV karena ini melakukan apa yang saya butuhkan.

- Jika Anda ingin mengekspor ke csv, ubah saja path file-out ke path di mana Anda ingin disimpan, ditambah nama document.csv, misalnya, file-out C: \ PSResults \ $ file.csv akan mengekspor ke CSV bernama $ file

mortenya
sumber
Baru saja melihat bahwa Josh R mengalahkan saya untuk itu. Dia juga lebih sederhana.
mortenya
1
Namun, milik Anda akan bekerja pada versi PowerShell yang lebih rendah.
Josh
Benar, saya harus mengingatnya ketika saya membagikan skrip dalam grup saya, karena saya satu-satunya yang memiliki pengalaman PowerShell, dan hanya itu satu-satunya yang pernah
memutakhirkan
Sekarang saya berpikir tentang hal itu, saya percaya Get-ADPrincipalGroupMembershipada di 2.0. Tidak yakin apa yang saya pikirkan.
Josh
Terima kasih atas balasannya. Saya akan mencoba Josh R's besok saat bekerja, karena itu sebenarnya terlihat jauh lebih sederhana. Kecuali saya salah paham, saya harus membuat kueri ini untuk setiap pengguna di domain saya? Atau jika saya menggunakan Mortenya, itu akan menghasilkan daftar lengkap pertama kali? Hanya ingin memastikan saya mengerti dengan benar! :)
1

Anda bisa membuat dan menentukan Kueri baru yang diterapkan pada OU yang berisi pengguna Anda di "Pengguna dan Komputer AD" yang memasukkan string kueri ini:

(&(&(&(&(objectCategory=user)(userAccountControl=512)))))

kemudian ekspor hasilnya ke csv menggunakan "Ekspor Daftar" di bagian atas jendela AD.

pengguna320631
sumber
0

Untuk mendapatkan file ke CSV, cukup ganti "File-Out c: \ PSResults \ $ file.txt" dalam kode Anda dengan "Export-CSV -path c: \ PSResults \ $ file.csv -NoTypeInformation"

Jadi akan terlihat seperti ini:

$users = Get-ADUser -Filter * -Properties * -SearchBase "OU=something,DC=domain,DC=net"
foreach ($user in $users) {
$file = $user.Name + '_ACL'        
(Get-ADUser –Identity $user –Properties MemberOf).MemberOf -replace '^CN=([^,]+),OU=.+$','$1' | Export-CSV -path c:\PSResults\$file.csv -NoTypeInformation
}

Namun karena yang lain telah diposting, di bawah ini adalah yang terbaik untuk digunakan karena mudah digunakan:

Get-ADPrincipalGroupMembership USERNAME | Select Name | Export-CSV -path C:\Temp\file.csv -NoTypeInformation
Henri Muldre
sumber
ini tidak akan berfungsi jika ada grup nested guys .. seperti satu pengguna adalah anggota dari 20 grup yang tidak akan ditampilkan
user420934