pengembangan-web-mp.com

Baris perintah untuk mencantumkan pengguna dalam grup Windows Active Directory?

Apakah ada cara baris perintah untuk mendaftar semua pengguna dalam grup Active Directory tertentu?

Saya dapat melihat siapa yang ada di dalam grup dengan membuka Kelola Komputer -> Pengguna/Grup Lokal -> Grup dan klik ganda pada grup .

Saya hanya perlu cara baris perintah untuk mengambil data, sehingga saya dapat melakukan beberapa tugas otomatis lainnya.

138
Flyer

mencoba

dsget group "CN=GroupName,DC=domain,DC=name,DC=com" -members
37
pQd

Berikut cara lain dari Prompt perintah, tidak yakin bagaimana bisa automatable karena Anda harus mengurai output:

Jika grup adalah "grup keamanan global":

net group <your_groupname> /domain

Jika Anda mencari "grup keamanan lokal domain":

net localgroup <your_groupname> /domain
243
asdasddfg

Ini adalah versi dari perintah ds yang saya temukan lebih bermanfaat, terutama jika Anda memiliki struktur OU yang kompleks dan tidak perlu tahu nama lengkap grup.

dsquery group -samid "Group_SAM_Account_Name" | dsget group -members -expand

atau jika Anda mengetahui CN grup, biasanya sama dengan ID SAM, dikutip jika ada spasi dalam nama:

dsquery group -name "Group Account Name" | dsget group -members -expand

Seperti yang dinyatakan dalam komentar, secara default perintah ds * (dsquery, dsget, dsadd, dsrm) hanya tersedia di Domain Controller. Namun, Anda dapat menginstal paket Alat Admin dari Alat Dukungan pada media instalasi Windows Server atau nduh dari situs Unduh Microsoft.

Anda juga dapat melakukan kueri ini menggunakan PowerShell. PowerShell sudah tersedia sebagai fitur yang dapat diinstal untuk Server 2008, 2008 R2, dan Windows 7, tetapi Anda harus mengunduh WinRM Framework untuk menginstalnya di XP atau Vista.

Untuk mendapatkan akses ke cmdlet khusus AD di PowerShell Anda akan [~ # ~] juga [~ # ~] perlu melakukan setidaknya satu dari instalasi berikut:

49
Ryan Fisher

Untuk solusi PowerShell yang tidak memerlukan tambahan Quest AD, coba yang berikut ini

Import-Module ActiveDirectory

Get-ADGroupMember "Domain Admins" -recursive | Select-Object name

Ini akan menghitung kelompok bersarang juga. Jika Anda tidak ingin melakukannya, hapus sakelar - rekursif.

25
pk.

Cara yang sangat mudah yang bekerja di server dan klien:

NET GROUP "YOURGROUPNAME" /DOMAIN | find /I /C "%USERNAME%"

Mengembalikan 1 jika pengguna dalam grup YOURGROUPNAME, yang lain akan mengembalikan 0

Anda kemudian dapat menggunakan nilai% ERRORLEVEL% (0 jika pengguna dalam grup, 1 jika tidak) suka

IF %ERRORLEVEL%==0 Net Use %LOGONSERVER%\YOURGROUPSHARE
17
deajan

Menggunakan Shell Manajemen ActiveRoles PowerRell dan Quest Software Gratis untuk Direktori Aktif, Anda dapat menggunakan:

(Get-QADGroup "GroupName"). Anggota

http://www.quest.com/powershell/activeroles-server.aspx

10
Gordon Bell

Jawaban di sini menggunakan dsget dan dsquery hanya akan berfungsi pada versi server Windows karena perintah tersebut tidak dikirimkan pada versi Windows lainnya (mis. Windows 7). Pada mesin tanpa perintah itu, Anda bisa mendapatkan informasi yang Anda inginkan menggunakan perintah AdFind .

Berikut ini contoh permintaan untuk mendapatkan keanggotaan grup:

AdFind.exe -default -f name="Domain Admins" member -list
7
markshep

Bagaimana cara mendaftar grup dan pengguna lokal?

Gunakan skrip PowerShell berikut untuk mendaftar grup lokal dan anggota grup tersebut.

$server="YourServerName"
$computer = [ADSI]"WinNT://$server,computer"

$computer.psbase.children | where { 

$_.psbase.schemaClassName -eq 'group' } | foreach {
    write-Host $_.name
    write-Host "------"
    $group =[ADSI]$_.psbase.Path
    $group.psbase.Invoke("Members") | foreach {
$_.GetType().InvokeMember("Name", 'GetProperty', 

$null, $_, $null)}
    write-Host
}

Salin teks di atas ke dalam notepad dan simpan sebagai filename.ps1. Kemudian jalankan file tersebut. Saya harus menampilkan Grup dan Pengguna di setiap grup, atau Anda bisa menjalankan ini dari PowerShell.

4
Sysadmin

Untuk menampilkan anggota UserGroup1 coba:

dsquery group -name UserGroup1 | dsget group -members | dsget user -display
3
vadim