Menggunakan Active Directory untuk PowerShell untuk mengelola domain

Modul Direktori Aktif untuk Windows PowerShell Hari ini adalah salah satu alat utama untuk mengelola domain, mengelola objek di Active Directory, dan menerima berbagai informasi tentang komputer, pengguna, dan grup. Setiap administrator sistem Windows harus dapat menggunakan tidak hanya snap-in grafis AD (paling sering itu ADUC - Pengguna Direktori Aktif & Komputer), tetapi juga cmdlet modul PowerShell ini untuk melakukan tugas administrasi direktori aktif harian. Pada artikel ini, kita akan melihat bagaimana menginstal modul RSAT-AD-PowerShell, fungsionalitas dasar dan cmdlet populer, yang seharusnya berguna ketika mengelola dan bekerja dengan AD.

Konten:

  • Instal Active Directory untuk PowerShell di Windows Server
  • Instal RSAT-AD-PowerShell pada Windows 10
  • Cmdlet Modul AD untuk PowerShell
  • Menggunakan Modul RSAT-AD-PowerShell untuk Administrasi AD

Instal Active Directory untuk PowerShell di Windows Server

Modul Active Directory untuk Windows PowerShell sudah terintegrasi ke dalam sistem operasi Windows Server (dimulai dengan Windows Server 2008 R2), tetapi tidak diaktifkan secara default.

Di Windows Server 2016, Anda dapat mengaktifkan modul AD untuk PoSh di Windows Server 2016 dari panel kontrol Manajer server (Tambahkan Peran dan Fitur -> Fitur -> Alat Administrasi Server Jarak Jauh -> Alat Administrasi Peran -> AD DS dan Alat LDS AD -> Modul Direktori Aktif untuk Windows PowerShell).

Anda juga dapat menginstal modul dari baris perintah menggunakan perintah PowerShell:

Instal-WindowsFeature -Nama "RSAT-AD-PowerShell" -Termasuk AllSubFeature

Anda dapat menginstal modul RSAT-AD-PowerShell tidak hanya pada pengontrol domain. Server anggota atau bahkan workstation apa pun akan melakukannya. Pada pengontrol domain AD, modul dipasang secara otomatis ketika peran ADDS digunakan (saat meningkatkan server ke DC).

Modul berinteraksi dengan AD melalui Layanan Web Direktori Aktif, yang harus diinstal pada pengontrol domain (interaksi pada port TCP 9389).

Instal RSAT-AD-PowerShell pada Windows 10

Anda dapat menginstal modul RSAT-AD-PowerShell tidak hanya di server, tetapi juga di workstation. Modul ini termasuk dalam paket. RSAT (Alat Administrasi Server Jarak Jauh), yang dapat diunduh dan diinstal secara manual di Window 7, Windows 8.1. Setelah menginstal RSAT, modul AD untuk PowerShell diinstal dari panel kontrol (Panel Kontrol -> Program dan Fitur -> Aktifkan atau nonaktifkan fitur Windows -> Alat Administrasi Server Jarak Jauh-> Alat Administrasi Peran -> Alat AD DS dan LDS AD).

Di Windows 10, 1809 dan lebih tinggi, paket RSAT sudah dibangun ke dalam kit distribusi (seperti Fitur berdasarkan Permintaan), sehingga Anda dapat menggunakan perintah untuk menginstal modul:

Add-WindowsCapability -online -Name “Rsat.ActiveDirectory.DS-LDS.Tools ~~~~ 0.0.1.0”

Cmdlet Modul AD untuk PowerShell

Modul Active Directory untuk Windows PowerShell memiliki banyak cmdlet untuk berinteraksi dengan AD. Di setiap versi RSAT baru, jumlahnya meningkat (147 cmdlet untuk AD tersedia di Windows Server 2016).

Sebelum menggunakan cmdlet modul, Anda perlu mengimpornya ke sesi PowerShell (di Windows Server 2012 R2 / Windows 8.1 modul diimpor secara otomatis):

Impor-Modul ActiveDirectory

Jika modul tidak diinstal pada komputer Anda, Anda dapat mengimpornya dari pengontrol domain (Anda memerlukan hak administrator domain) atau dari komputer lain:

$ rs = Baru-PSSession -ComputerName DC_or_Comp_with_ADPosh
Import-Module -PSsession $ rs -Name ActiveDirectory

Anda dapat menampilkan daftar cmdlet yang tersedia menggunakan perintah:

Dapatkan-Command -module direktori aktif

Total jumlah perintah dalam modul:

Get-Command -module activedirectory | mengukur-objek

Kebanyakan cmdlet modul RSAT-AD-PowerShell mulai dengan awalan Get-, Set-, atau New-.

  • Cmdlet kelas Dapatkan- digunakan untuk mendapatkan berbagai informasi dari AD (Get-ADUser - properti pengguna, Get-ADComputer - pengaturan komputer, Get-ADGroupMember - keanggotaan grup, dll.). Anda tidak perlu menjadi administrator domain untuk mengeksekusinya; setiap pengguna domain dapat menjalankan skrip PowerShell untuk mendapatkan nilai sebagian besar atribut objek AD (kecuali untuk yang terlindungi, seperti pada contoh dengan LAPS).
  • Cmdlet kelas Setel- berfungsi untuk mengubah parameter objek dalam AD, misalnya, Anda dapat mengubah properti pengguna (Set-ADUser), komputer (Set-ADComputer), menambahkan pengguna ke grup, dll. Untuk melakukan operasi ini, akun Anda harus memiliki hak atas objek yang ingin Anda ubah (lihat artikel Mendelegasikan Hak Administrator dalam AD).
  • Tim dimulai dengan Baru- memungkinkan Anda untuk membuat objek AD (buat pengguna - New-ADUser, grup - New-ADGroup).
  • Cmdlet Hapus- hapus objek AD.

Anda bisa mendapatkan bantuan tentang cmdlet seperti ini:

dapatkan bantuan Baru-ADComputer

Contoh menggunakan cmdlet Direktori Aktif dapat ditulis seperti ini:

(dapatkan bantuan Set-ADUser) .contoh

Di PowerShell ISE, Anda dapat menggunakan tooltips saat mengetik parameter cmdlet modul.

Menggunakan Modul RSAT-AD-PowerShell untuk Administrasi AD

Mari kita lihat beberapa tugas admin umum yang dapat diselesaikan menggunakan perintah modul AD untuk PowerShell..

Contoh-contoh yang berguna untuk menggunakan berbagai cmdlet modul AD untuk PowerShell sudah dijelaskan di situs. Ikuti tautan dalam teks untuk instruksi terperinci..

New-ADUser: Membuat pengguna dalam AD

Anda dapat menggunakan cmdlet New-ADUser untuk membuat pengguna baru dalam AD. Anda dapat membuat pengguna dengan perintah:

Baru-ADUser -Nama "Andrey Petrov" -GivenName "Andrey" -Nama "Petrov" -SamAccountName "apetrov" -UserPrincipalName "[email protected]" -Path "OU = Pengguna, OU = Ufa, DC = winitpro, DC = loc "-AccountPassword (Read-Host -AsSecureString" Input Password ") -Diaktifkan $ true

Untuk informasi lebih lanjut tentang tim New-ADUser (termasuk contoh pembuatan massal akun dalam domain), lihat artikel .

Get-ADComputer: Dapatkan informasi tentang komputer domain

Untuk menampilkan informasi tentang komputer dalam OU tertentu (nama komputer dan tanggal pendaftaran terakhir di jaringan), gunakan cmdlet Get-ADComputer:

Dapatkan-ADComputer -SearchBase 'OU = Rusia, DC = winitpro, DC = ru' -Filter * -Properti * | Nama FT, LastLogonDate -Autosize

Add-AdGroupMember: Tambahkan pengguna ke grup AD

Untuk menambahkan pengguna ke grup keamanan yang ada di domain AD, jalankan perintah:

Add-AdGroupMember -Identity MskSales -Members apterov, divanov

Daftar pengguna dalam grup AD dan unggah ke file:

Dapatkan-ADGroupMember MskSales -recursive | ft samaccountname | Keluar File c: \ script \ export_users.csv

Pelajari lebih lanjut tentang mengelola grup AD dari PowerShell..

Set-ADAccountPassword: Reset kata sandi pengguna dalam AD

Untuk mengatur ulang kata sandi pengguna dalam AD dari PowerShell, lakukan:

Set-ADAccountPassword apterov -Reset -NewPassword (ConvertTo-SecureString -AsPlainText “P @ ssw0rd1” -Force -Verbose) -PassThru

Kunci Pengguna / Buka Kunci

Nonaktifkan akun:

Nonaktifkan-ADAccount apterov

Aktifkan akun:

Aktifkan-ADAccount apterov

Buka blokir akun setelah memblokir kebijakan kata sandi:

Buka kunci-ADAccount apterov

Search-ADAccount: Mencari komputer yang tidak aktif dalam domain

Untuk menemukan dan memblokir semua komputer dalam domain yang belum terdaftar di jaringan selama lebih dari 100 hari, gunakan cmdlet Search-ADAccount:

$ timespan = New-Timespan -Days 100
Cari-ADAccount -AccountInaktif -KomputerHanya -TimeSpan $ timespan | Nonaktifkan-ADAkun

New-ADOrganizationalUnit: Buat Struktur OU dalam AD

Untuk dengan cepat membuat struktur Unit Organisasi khas dalam AD, Anda dapat menggunakan skrip PowerShell. Misalkan kita perlu membuat beberapa OU dengan kota-kota tempat membuat kontainer standar. Membuat struktur seperti itu secara manual melalui konsol grafis ADUC cukup lama, dan modul AD untuk PowerShell memungkinkan Anda untuk menyelesaikan masalah ini dalam beberapa detik (tidak termasuk waktu untuk menulis skrip):

$ fqdn = Dapatkan-ADDomain
$ fulldomain = $ fqdn.DNSRoot
$ domain = $ fulldomain.split (".")
$ Dom = $ domain [0]
$ Ext = $ domain [1]
$ Sites = ("SPB", "MSK", "Sochi")
$ Services = ("Pengguna", "Admin", "Komputer", "Server", "Kontak")
$ FirstOU = "Rusia"
Baru-ADOrganizationalUnit -Nama $ FirstOU -Deskripsi $ FirstOU -Path "DC = $ Dom, DC = $ EXT" -ProtectedFromAccidentalDeletion $ false
foreach ($ S dalam $ Sites)

Baru-ADOrganizationalUnit -Nama $ S -Deskripsi "$ S" -Path "OU = $ FirstOU, DC = $ Dom, DC = $ EXT" -ProtectedFromAccidentalDeletion $ false
foreach ($ Serv dalam $ Services)

Baru-ADOrganizationalUnit -Name $ Serv -Deskripsi "$ S $ Serv" -Path "OU = $ S, OU = $ FirstOU, DC = $ Dom, DC = $ EXT" -ProtectedFromAccidentalDeletion $ false


Setelah menjalankan skrip, kami mendapatkan struktur OU seperti itu di AD.

Untuk mentransfer objek antara wadah AD, Anda dapat menggunakan cmdlet Pindahkan-ADObjek:

$ TargetOU = "OU = Buhgalteriya, OU = Komputer, DC = corp, DC = winitpro, DC = ru"
Dapatkan-ADComputer -Filter 'Nama-like "BuhPC *"' | Pindahkan-ADObject -TargetPath $ TargetOU

Get-ADReplicationFailure: Verifikasi Replikasi dalam AD

Menggunakan cmdlet Get-ADReplicationFailure, Anda dapat memeriksa status replikasi antara pengontrol domain AD:

Dapatkan-ADReplicationFailure -Target DC01, DC02

Ambil informasi tentang semua DC dalam domain menggunakan cmdlet Get-AdDomainController:

Dapatkan-ADDomainController -filter * | pilih hostname, IPv4Address, IsGlobalCatalog, IsReadOnly, OperatingSystem | format-tabel -otomatis

Jadi, dalam artikel ini kami memeriksa fitur dasar dan fitur menggunakan modul AD untuk PowerShell untuk administrasi AD. Saya harap artikel ini mendorong Anda untuk lebih mengeksplorasi kemampuan modul ini dan mengotomatisasi sebagian besar tugas manajemen AD..