Kelola grup AD dengan PowerShell

Pada artikel ini, kita akan melihat kemampuan PowerShell untuk mengelola grup domain Direktori Aktif. Kami akan melihat cara membuat grup baru dalam AD, menambahkan pengguna ke dalamnya (atau menghapusnya), daftar pengguna grup dan beberapa tindakan bermanfaat lainnya dengan grup domain, yang sangat berguna dalam administrasi sehari-hari. Cmdlet dasar berikut tersedia untuk mengelola grup AD di PowerShell untuk Direktori Aktif:

Konten:

  • New-ADGroup - buat grup AD baru
  • Add-AdGroupMember - tambahkan pengguna ke grup AD
  • Remove-ADGroupMember - hapus pengguna dari grup
  • Get-ADGroup - dapatkan informasi tentang grup AD
  • Get-ADGroupMember - daftarkan pengguna grup AD

Untuk menggunakan cmdlet ini di sesi PowerShell Anda, modul interaksi AD khusus harus dimuat - Modul Direktori Aktif untuk Windows PowerShell. Modul ini pertama kali diperkenalkan di Windows Server 208 R2. Di Windows Server 2012 dan di atasnya, modul ini diaktifkan secara default. Itu dapat diinstal dan diaktifkan pada komputer klien sebagai salah satu komponen RSAT. Anda dapat memeriksa apakah modul dimuat sebagai berikut:

Dapatkan-module -listavailable

Seperti yang Anda lihat, modul ActiveDirectory dimuat. Jika tidak, impor dengan perintah:

Direktori aktif Modul Impor

Daftar lengkap perintah modul dapat diperoleh seperti ini:

Get-Command -Module ActiveDirectory

Modul ini berisi total 147 cmdlet, dimana 11 dapat bekerja dengan kelompok.

Get-Command -Module ActiveDirectory -Name "* Group *"

Berikut daftar mereka:

  • Tambah-ADGroupMember
  • Tambah-ADPrincipalGroupMembership
  • Dapatkan-ADAccountAuthorizationGroup
  • Dapatkan-grup iklan
  • Dapatkan-ADGroupMember
  • Dapatkan-ADPrincipalGroupMembership
  • Grup iklan baru
  • Hapus-ADGroup
  • Hapus-ADGroupMember
  • Hapus-ADPrincipalGroupMembership
  • Set-adgroup

New-ADGroup - buat grup AD baru

Buat grup baru di wadah Direktori Aktif (OU) yang ditentukan menggunakan perintah Grup iklan baru:

New-ADGroup "TestADGroup" -path 'OU = Grup, OU = Moskow, DC = corp, dc = winitpro, DC = ru' -GroupScope Global -PassThru -Verbose

Menggunakan atribut Deskripsi Anda dapat menentukan deskripsi grup, dan dengan Displayname ubah nama tampilan.

Parameter Lingkup grup Anda dapat menentukan salah satu dari jenis grup berikut:

  • 0 = DomainLocal
  • 1 = Global
  • 2 = Universal

Anda dapat membuat grup distribusi sebagai berikut:

New-ADGroup "TestADGroup-Distr" -path 'OU = Grup, OU = Moskow, DC = corp, dc = winitpro, DC = ru' -GroupKategori Distribusi -GroupScope Global -PassThru -Verbose

Add-AdGroupMember - tambahkan pengguna ke grup AD

Anda dapat menambahkan pengguna ke grup Direktori Aktif dengan menggunakan cmdlet Tambah.-AdGroupMember. Tambahkan dua pengguna ke grup baru:

Add-AdGroupMember -Identity TestADGroup -Members user1, user2

Jika daftar pengguna yang ingin Anda tambahkan ke grup cukup besar, Anda dapat menyimpan daftar akun dalam file CSV, lalu impor file ini dan tambahkan setiap pengguna ke grup.

Format file CSV adalah sebagai berikut (daftar pengguna satu per baris, nama kolom - pengguna)

Impor-CSV. \ Users.csv -Pemimpin pengguna | ForEach-Object Add-AdGroupMember -Identity 'TestADGroup' -members $ _. Users

Untuk mendapatkan semua anggota dari satu grup (groupA) dan menambahkannya ke grup lain (groupB), gunakan perintah ini:

Dapatkan-ADGroupMember “GroupA” | Dapatkan-ADUser | ForEach-Object Add-ADGroupMember -Identity “Group-B” -Members $ _

Jika Anda ingin menyalin anggota semua grup bersarang (secara rekursif) ke grup baru, Anda perlu menggunakan perintah berikut:

Get-ADGroupMember -Identity “GroupA” -Recursive | Dapatkan-ADUser | ForEach-Object Add-ADGroupMember -Identity “GroupB” -Members $ _

Remove-ADGroupMember - hapus pengguna dari grup

Untuk menghapus pengguna dari grup AD, Anda harus menggunakan perintah Remove-ADGroupMember. Kami menghapus dua pengguna dari grup:

Remove-ADGroupMember -Identity TestADGroup -Members user1, user2

Konfirmasikan penghapusan pengguna dari grup:

Jika Anda ingin menghapus daftar grup pengguna dari file CSV, gunakan perintah ini:

Impor-CSV. \ Users.csv -Pemimpin pengguna | ForEach-Object Remove-ADGroupMember -Identity 'TestADGroup' -members $ _. Users

Get-ADGroup - dapatkan informasi tentang grup AD

Cmdlet akan membantu Anda mendapatkan informasi tentang grup. Dapatkan-grup iklan:

Dapatkan-ADGroup 'TestADGroup'

Perintah ini menampilkan informasi tentang atribut dasar grup (DN, tipe grup, nama, SID). Untuk menampilkan nilai semua atribut grup domain AD, jalankan perintah berikut:

Dapatkan-ADGroup 'TestADGroup' -properti *

Seperti yang Anda lihat, sekarang atribut seperti pembuatan grup dan waktu modifikasi, deskripsi, dll..

Menggunakan cmdlet Get-ADGroup, Anda dapat menemukan semua grup yang menarik bagi Anda dengan templat tertentu. Misalnya, Anda perlu menemukan semua grup AD yang namanya mengandung frasa admin :

Dapatkan-ADGroup -LDAPFilter “(name = * admin *)” | Format-tabel

Get-ADGroupMember - daftarkan pengguna grup AD

Tampilkan daftar pengguna grup:

Dapatkan-ADGroupMember 'TestADGroup'

Untuk meninggalkan hanya nama pengguna dalam hasil, lakukan:

Dapatkan-ADGroupMember 'TestADGroup' | nama kaki

Jika grup domain lain termasuk dalam grup ini, untuk menampilkan daftar lengkap anggota, termasuk semua grup bertingkat, gunakan parameter Rekursif.

Dapatkan-ADGroupMember 'server-admin' -recursive | nama kaki

Untuk mengunggah daftar akun yang ada di grup tertentu ke file CSV (untuk digunakan lebih lanjut di Excel), jalankan perintah berikut:

Dapatkan-ADGroupMember 'server-admin' -recursive | ft samaccountname | File-Keluar c: \ ps \ admins.csv

Untuk menambahkan data akun pengguna dalam AD ke file teks, gunakan cmdlet Get-ADUser. Misalnya, selain akun, Anda perlu menampilkan posisi dan nomor telepon pengguna grup:

Dapatkan-ADGroupMember -Identity 'server-admin' -recursive | foreach Get-ADUser $ _ -Properti properti, OfficePhone | Judul Objek-Pilih, OfficePhone

Anda dapat menghitung jumlah pengguna dalam grup seperti ini:

(Dapatkan-ADGroupMember -Identity 'admin domain'). Count

Ternyata dalam grup "admin domain" kami memiliki 7 akun administrator.

Untuk menemukan daftar grup kosong di OU tertentu, gunakan perintah ini:

Dapatkan-ADGroup -Filter * -Properti Anggota -searchbase “OU = Moskow, DC = corp, dc = winitpro, DC = en” | di mana -tidak $ _. anggota | pilih Nama