Get-ADGroupMember
Cmdlet PowerShell mengembalikan anggota grup tertentu. Apakah ada cmdlet atau properti untuk mendapatkan semua grup yang menjadi anggota pengguna tertentu?
Saya memperbaiki kesalahan saya: Get-Member
seharusnya Get-ADGroupMember
.
net user /domain username
, periksa juga metode lain di Get Groups di mana pengguna adalah anggota. Menggunakan PowerShellJawaban:
Get-ADPrincipalGroupMembership akan melakukan ini.
sumber
get-aduser $username -Properties memberof | select -expand memberof
bekerja dengan baik.import-module activedirectory
perintah powershell, maka ini harus dijalankan.Baris tunggal, tanpa modul yang diperlukan, menggunakan pengguna yang dicatat saat ini:
Qudos untuk artikel vbs / powershell ini: http://technet.microsoft.com/en-us/library/ff730963.aspx
sumber
$env:username
menjadi$username
dan mengatur dengan$username = "testuser"
mudah melakukan substitusi variabel untuk pencarian pengguna lain.Alternatif yang lebih ringkas daripada yang diposting oleh Canoas, untuk mendapatkan keanggotaan grup untuk pengguna yang saat ini masuk.
Saya menemukan metode ini dalam posting blog ini: http://www.travisrunyard.com/2013/03/26/auto-create-outlook-mapi-user-profiles/
Versi yang lebih baik lagi yang menggunakan regex untuk menghapus LDAP dan meninggalkan nama grup saja:
Rincian lebih lanjut tentang menggunakan akselerator tipe [ADSISEARCHER] dapat ditemukan di blog guy skrip: http://blogs.technet.com/b/heyscriptingguy/archive/2010/08/24/use-the-powershell-adsisearcher-type -accelerator-to-search-active-directory.aspx
sumber
| Sort-Object
untuk membuatnya lebih mudah dibaca.Jalan sekolah lama dari CMD:
sumber
sumber
Jika Anda tidak bisa mendapatkan Get-ADPrincipalGroupMembership agar Anda bisa mencoba masuk sebagai pengguna yang kemudian gunakan.
sumber
$id = [Security.Principal.WindowsIdentity]("username")
[System.Security.Principal.WindowsIdentity]::GetCurrent().Groups | % {$_.Translate([Security.Principal.NTAccount])}
.Dapatkan keanggotaan grup untuk pengguna:
Lihat Dapatkan Keanggotaan Grup untuk Pengguna
Tetapi juga lihat Perintah PowerShell Gratis Quest untuk Active Directory .
[ Sunting : Get-ADPrincipalGroupMembership perintah termasuk dalam Powershell sejak v2 dengan Windows 2008 R2. Lihat jawaban kstrauss di bawah ini.]
sumber
Get-Member
adalah cmdlet untuk mendaftar anggota .NETobject
. Ini tidak ada hubungannya dengan keanggotaan pengguna / grup. Anda bisa mendapatkan keanggotaan grup pengguna saat ini seperti:Jika Anda memerlukan akses ke info grup pengguna yang berubah-ubah, maka saran @tiagoinu untuk menggunakan cmdlet Quest AD adalah cara yang lebih baik.
sumber
Pertama, impor modul direktori aktif:
Kemudian terbitkan perintah ini:
Ini akan menampilkan anggota grup yang ditentukan.
sumber
Tidak perlu skrip panjang ketika itu adalah satu liner sederhana ..
Perintah QUEST
MS AD Command
Saya menemukan cmd MS AD lebih cepat tetapi beberapa orang menyukai Quest yang lebih baik ..
Steve
sumber
Get-Member bukan untuk mendapatkan keanggotaan grup pengguna. Jika Anda ingin mendapatkan daftar grup milik pengguna di sistem lokal, Anda dapat melakukannya dengan:
Dalam kueri di atas, ganti DemoUser1 dengan nama pengguna yang Anda inginkan dan Nama Domain dengan nama komputer lokal Anda atau nama domain.
sumber
Menggunakan:
Ini memancarkan output perintah ke file CSV .
sumber
Ini akan memberi Anda detail untuk pengguna saat ini. Powershell tidak diperlukan.
whoami /groups
sumber
Itu hanya satu baris:
akhir dari :)
sumber
select -expandproperty memberof
akan membuat output sedikit lebih mudah dibaca / berguna.Saya menulis fungsi PowerShell yang disebut Get-ADPrincipalGroupMembershipRecursive. Ia menerima DSN dari akun pengguna, komputer, grup, atau layanan. Itu mengambil daftar awal grup dari atribut anggota akun, lalu secara rekursif memeriksa keanggotaan grup tersebut. Kode singkat di bawah ini. Kode sumber lengkap dengan komentar dapat ditemukan di sini .
sumber
Di bawah ini berfungsi dengan baik:
Jika Anda memiliki daftar pengguna:
sumber
Get-QADUser -SamAccountName LoginID | % {$ _. MemberOf} | Dapatkan-QADGroup | pilih nama
sumber
Saya tidak bisa membuat yang berikut ini berfungsi untuk pengguna tertentu:
Itu melemparkan kesalahan bahwa saya tidak mau memecahkan masalah.
Namun saya datang dengan solusi yang berbeda menggunakan Get-ADUser. Saya menyukainya sedikit lebih baik karena jika Anda tidak tahu nama akun maka Anda bisa mendapatkannya berdasarkan wildcard pada nama sebenarnya pengguna. Cukup isi PartOfUsersName dan pergi begitu saja.
Alat peraga besar untuk schmeckendeugler dan 8DH untuk membawa saya ke solusi ini. +1 untuk Anda berdua.
sumber
Meskipun ada banyak jawaban bagus di sini, ada satu yang secara pribadi saya cari yang hilang. Setelah saya menemukan jawabannya - saya pikir saya harus mempostingnya kalau-kalau saya ingin menemukannya nanti, atau itu benar-benar berhasil membantu orang lain di beberapa titik:
Pendekatan kedua untuk mempresentasikan ini adalah dengan menentukan masing-masing kolom yang Anda minati misalnya:
Ini memberi semua grup AD nama pengguna itu menjadi milik - tetapi juga menyajikan semua properti default masing-masing grup yang diformat dengan baik sebagai tabel.
Manfaat utama ini memberi Anda adalah Anda dapat melihat sekilas mana daftar distribusi, & yang merupakan grup keamanan. Anda dapat melihat lebih jauh sekilas yang Universal, yang DomainLocal & yang Global.
Mengapa Anda peduli dengan bagian terakhir ini?
sumber
Ubah nilai -Hasil pencarian untuk mencerminkan OU yang Anda butuhkan untuk daftar pengguna :)
Ini akan mencantumkan semua pengguna di OU itu dan menunjukkan kepada Anda kelompok mana mereka menjadi anggota.
sumber
Dapatkan-ADPrincipalGroupMembership USERLOGON | pilih nama
sumber
sumber
Ini adalah cara paling sederhana untuk mendapatkan namanya:
Get-ADPrincipalGroupMembership "YourUserName"
# Returns distinguishedName : CN=users,OU=test,DC=SomeWhere GroupCategory : Security GroupScope : Global name : testGroup objectClass : group objectGUID : 2130ed49-24c4-4a17-88e6-dd4477d15a4c SamAccountName : testGroup SID : S-1-5-21-2114067515-1964795913-1973001494-71628
Tambahkan pernyataan pilih untuk memangkas respons atau untuk mendapatkan setiap pengguna dalam OU setiap grup mereka adalah pengguna:
foreach ($user in (get-aduser -SearchScope Subtree -SearchBase $oupath -filter * -Properties samaccountName, MemberOf | select samaccountName)){ Get-ADPrincipalGroupMembership $user.samaccountName | select name}
sumber
Untuk membuatnya rekursif, Anda dapat menggunakan:
sumber
Hampir semua solusi di atas menggunakan
ActiveDirecotry
modul yang mungkin tidak tersedia secara default dalam kebanyakan kasus.Saya menggunakan metode di bawah ini. Sedikit tidak langsung, tetapi melayani tujuan saya.
Daftar semua grup yang tersedia
Get-WmiObject -Class Win32_Group
Dan kemudian daftar grup milik pengguna
[System.Security.Principal.WindowsIdentity]::GetCurrent().Groups
Perbandingan kemudian dapat dilakukan melalui pemeriksaan melalui
SIDs
. Ini berfungsi untuk pengguna yang masuk. Tolong koreksi saya jika saya salah. Benar-benar baru di PowerShell, tetapi harus menyelesaikannya untuk komitmen kerja.sumber
Dengan input pengguna dan format output yang bagus:
sumber
Menempatkan ini di sini untuk referensi di masa mendatang. Saya sedang berada di tengah-tengah migrasi email. Saya perlu mengetahui setiap akun pengguna dan keanggotaan grup masing-masing, dan juga saya perlu tahu setiap grup dan anggota masing-masing.
Saya menggunakan blok kode di bawah ini untuk menghasilkan CSV untuk keanggotaan grup setiap pengguna.
Proses ekspor untuk grup dan anggota masing-masing sedikit berbelit-belit, tetapi di bawah ini berfungsi. Nama file keluaran termasuk jenis grup. Oleh karena itu, grup distribusi email yang saya butuhkan adalah / harus menjadi grup Distribusi Universal dan Global. Saya seharusnya bisa menghapus atau memindahkan file TXT yang dihasilkan yang tidak saya butuhkan.
sumber
Mempelajari semua komentar yang disajikan memberi saya titik awal (terima kasih untuk itu) tetapi meninggalkan saya dengan beberapa masalah yang belum terselesaikan. Hasilnya, inilah jawaban saya. Cuplikan kode yang disediakan sedikit lebih banyak dari yang diminta tetapi memberikan info debug yang membantu.
sumber
Ketika Anda tidak memiliki hak istimewa untuk berkonsultasi dengan grup anggota lain tetapi Anda memiliki hak istimewa untuk berkonsultasi dengan anggota grup, Anda dapat melakukan hal berikut untuk membuat peta yang pengguna memiliki akses ke grup mana.
sumber