Administrasi akun di domain Direktori Aktif. Domain Direktori Aktif - apa itu kata-kata sederhana, deskripsi dan ulasan

17.03.2014 Darren Mar-Elia

Ketika Windows PowerShell pertama kali keluar, banyak orang bertanya apakah mungkin untuk mengelolanya Direktori Aktif(AD) menggunakan PowerShell. Pada saat itu, tanggapan Microsoft bukanlah tanggapan yang ingin didengar oleh sebagian besar administrator. PowerShell memiliki "akselerator tipe" Antarmuka Layanan Direktori Aktif (ADSI) bawaan untuk mengakses objek AD, tetapi sebagian besar pengguna harus memikirkan sendiri cara menggunakan PowerShell untuk melakukan tugas administrasi AD. Perubahan signifikan terjadi dengan dirilisnya Server Windows 2008 R2, yang memperkenalkan modul PowerShell untuk Direktori Aktif. Modul AD mencakup serangkaian perintah untuk mengelola AD, serta Penyedia AD yang memungkinkan Anda menavigasi AD seperti drive simbolis. Pada artikel ini saya akan menunjukkan cara menginstal modul AD dan menjelaskan fungsinya secara detail

Saat Windows PowerShell pertama kali keluar, banyak orang bertanya apakah mungkin mengelola Active Directory (AD) menggunakan PowerShell. Pada saat itu, tanggapan Microsoft bukanlah tanggapan yang ingin didengar oleh sebagian besar administrator. PowerShell memiliki “akselerator tipe” Antarmuka Layanan Direktori Aktif (ADSI) bawaan untuk mengakses objek AD, tetapi sebagian besar pengguna harus memikirkan sendiri cara menggunakan PowerShell untuk melakukan tugas administrasi AD. Seiring waktu, Quest Software telah menyediakan serangkaian perintah gratis untuk tugas administratif AD, termasuk membuat, memodifikasi, dan menghapus objek AD, dan mencari objek di AD. Ini telah menjadi kondisi manajemen PowerShell dan AD sejak lama.

Perubahan signifikan terjadi dengan dirilisnya Windows Server 2008 R2, yang memperkenalkan modul PowerShell untuk Direktori Aktif. Modul AD mencakup serangkaian perintah untuk mengelola AD, serta Penyedia AD yang memungkinkan Anda menavigasi AD seperti drive simbolis. Pada artikel ini, saya akan menunjukkan cara menginstal modul AD dan menjelaskan fungsinya secara detail.

Menginstal Modul Direktori Aktif

Berbeda dengan alat sebelumnya yang menggunakan LDAP untuk berkomunikasi dengan AD, modul AD menggunakan protokol Active Directory Web Services (ADWS) untuk berkomunikasi dengan pengontrol domain AD (DC). Protokol ini dijelaskan secara rinci di blog MSDN "Ikhtisar Layanan Web Direktori Aktif", namun cukup untuk dicatat bahwa perintah PowerShell dalam modul AD dan Pusat Administratif Direktori Aktif (ADAC) menggunakan ADWS untuk berkomunikasi dan mengambil informasi dari AD .

Saat Anda menginstal pengontrol domain Windows Server 2012 atau Server 2008 R2 di domain AD, protokol ADWS diinstal dan dijalankan secara default di masing-masing domain tersebut. Jika domain Anda seluruhnya terdiri dari pengontrol domain Windows Server 2008 atau Windows Server 2003, Anda harus menginstal ADWS secara terpisah. Microsoft menyediakan paket Layanan Gateway Manajemen Direktori Aktif secara gratis untuk tujuan ini. Jika Anda menginstal paket pada setidaknya satu pengontrol domain AD Server 2008 atau Server 2003, Anda dapat menggunakan modul AD untuk PowerShell bersama dengan ADAC.

Modul AD sendiri diinstal secara default di DC mana pun yang menjalankan sistem operasi Server 2012 atau Server 2008 R2. Pada komputer Windows 8 dan Windows 7 (atau komputer apa pun selain DC yang menjalankan Server 2012 atau Server 2008 R2), Anda harus menginstal Alat Administrasi Server Jarak Jauh dari Pusat Unduhan Microsoft.

Terlepas dari apakah Alat Administrasi Server Jarak Jauh diinstal pada komputer Anda terlebih dahulu atau secara terpisah, langkah selanjutnya adalah membuka bagian Tambah/Hapus Program di Panel Kontrol dan pilih Aktifkan atau nonaktifkan fitur Windows dari menu di sebelah kiri. . Gulir ke bawah kotak dialog Fitur Windows ke bagian Alat Administrasi Server Jarak Jauh. Temukan kotak centang Modul Direktori Aktif untuk Windows PowerShell di folder \Remote Server Administration Tools\Role Administration Tools\AD DS dan AD LDS Tools, seperti yang ditunjukkan Gambar 1. Pilih kotak centang dan klik OK untuk menginstal modul.

Anda sekarang akan melihat pintasan untuk Modul Direktori Aktif untuk Windows PowerShell di bagian Alat Administratif pada menu Mulai. Klik pintasan ini untuk meluncurkan PowerShell dengan modul AD dimuat. Jika Anda sudah bekerja di PowerShell dan hanya ingin memuat modul agar tersedia untuk digunakan, Anda dapat memasukkan perintah berikut untuk mendapatkan akses ke perintah AD dan Penyedia AD:

Impor-Modul ActiveDirectory

Sekarang mari kita lihat cara menavigasi AD menggunakan Penyedia AD.

Menggunakan Penyedia Direktori Aktif

PowerShell mengimplementasikan konsep drive PowerShell, yang saya sebut saja sebagai drive PS. Sederhananya, drive PS adalah representasi sumber daya, seperti sistem file yang dapat dinavigasi yang terdiri dari folder dan item daun. Tidak semua sumber daya dapat dipikirkan dengan cara ini, namun banyak (termasuk AD dan registri) yang cocok dengan model ini. Modul AD berisi penyedia disk PS AD. Oleh karena itu, Anda dapat menavigasi dan bahkan mengubah AD seolah-olah itu adalah sistem file.

Bagaimana cara menavigasi AD menggunakan Penyedia AD? Ini mengasumsikan bahwa PowerShell terbuka dan modul AD dimuat. Dalam hal ini, langkah pertama adalah menjalankan perintah Set-Location, yang memiliki beberapa alias, termasuk sl dan cd:

Set-Lokasi IKLAN:

Perintah ini mengubah lokasi kerja drive PS AD saat ini. Hasilnya, prompt PowerShell akan menampilkan AD:\ dan bukan C:\. Kemudian untuk melihat item yang ada di drive PS AD bisa menggunakan perintah Get-ChildItem dengan alias dir:

Dapatkan-ChildItem

Gambar 2 menunjukkan contoh hasil di komputer saya.

Seperti yang bisa kita lihat, perintah tersebut mengembalikan daftar semua partisi domain yang tersedia. Yang paling menarik menurut saya adalah bagian domain bernama cpandl yang berisi nama pengguna dan komputer. Untuk mengubah domain ini, cukup masukkan perintah:

Set-Lokasi "dc=cpandl,dc=com"

Perhatikan bahwa perintah Set-Location digunakan dengan nama khusus (DN) dari domain AD saya. Ini diperlukan untuk navigasi yang benar. Setelah Anda menavigasi ke direktori domain Anda (seperti yang ditunjukkan oleh prompt AD:\dc=cpandl,dc=com di PowerShell), Anda dapat menggunakan perintah Get-ChildItem untuk melihat struktur AD tingkat atas (Gambar 3).


Gambar 3: Melihat Tingkat Atas Hierarki AD

Jika Anda ingin melihat pengguna di unit organisasi (OU) SDM, maka untuk menavigasi ke OU tersebut Anda hanya perlu memasukkan:

Set-Lokasi "OU=SDM"

Baris perintah PowerShell akan terlihat seperti AD:\ou=SDM,dc=cpandl,dc=com. Pada di panggung ini Anda dapat menggunakan perintah Get-ChildItem untuk melihat semua objek pengguna di OU ini. Jika saya perlu mengubah properti Deskripsi pada objek pengguna yang mewakili akun pengguna Darren Mar-Elia saya. Ada tim untuk itu! Perintah Set-ItemProperty memungkinkan Anda mengubah properti pada objek AD. Jika Anda perlu mengubah deskripsi akun pengguna di Chief Techie, Anda harus menjalankan perintah:

Set-ItemProperty -Path ".\CN=Darren Mar-Elia" ` -Nama "Deskripsi" -Nilai "Kepala Teknisi"

Seperti yang bisa kita lihat, parameter –Path digunakan di sini untuk menentukan akun pengguna saya di direktori saat ini. Saya juga menggunakan parameter -Name untuk menunjukkan bahwa properti Description perlu diubah, dan parameter –Value untuk menentukan deskripsi Chief Techie.

Perhatikan bahwa jika Anda ingin menemukan semua objek dengan nilai properti tertentu, Anda dapat menggunakan Get-ItemProperty. Jika Anda hanya ingin mendapatkan referensi ke objek AD, gunakan Get-Item.

Seperti yang Anda lihat, bekerja dengan AD dengan cara ini cukup sederhana. Mekanisme ini hampir tidak cocok untuk perubahan massal, tetapi nyaman untuk bekerja dengan AD sebagai sistem file. Namun, seperti yang saya ketahui, sebagian besar administrator menggunakan perintah alih-alih drive PS AD untuk mengelola AD. Mari kita lihat cara kerja beberapa perintah ini.

Menggunakan Perintah Direktori Aktif

Modul AD yang disertakan dengan Windows 7 berisi 76 perintah untuk mengelola AD. Mereka dapat digunakan untuk hampir semua tujuan, termasuk menemukan objek AD, membuat dan menghapus objek AD, dan memanipulasi informasi konfigurasi AD (seperti mode hutan dan kebijakan kata sandi granular). Biasanya perintah dikelompokkan berdasarkan kata kerja seperti Tambah-, Hapus-, Dapatkan- dan Set-. Perhatikan bahwa tidak setiap perintah Get- memiliki perintah Set- yang sesuai dan sebaliknya, jadi terkadang Anda harus berusaha keras untuk menemukannya perintah yang tepat untuk tugas itu. Misalnya, Anda dapat mengatur tingkat fungsionalitas hutan AD menggunakan Set-ADForestMode, tetapi untuk mengetahui tingkat fungsionalitas hutan saat ini, Anda harus menggunakan perintah Get-ADForest dan melihat properti ForestMode pada objek yang dikembalikan.

Mari kita lihat beberapa tugas umum yang dapat dilakukan menggunakan perintah AD. Secara khusus, kami akan menunjukkan kepada Anda cara menambahkan akun pengguna, mengelola keanggotaan grup, mengatur ulang kata sandi akun pengguna, dan mencari objek AD.

Menambahkan akun pengguna

Perintah New-ADUser menyediakan cara mudah untuk menambahkan akun pengguna ke AD. Jika Anda ingin menambahkan akun pengguna baru bernama Bill Smith ke unit organisasi SDM, maka dalam kasus paling sederhana Anda dapat membuat akun pengguna baru menggunakan perintah:

Pengguna ADU Baru -Nama "Bill Smith" -SamAccountName "bsmith" ` -GivenName "Bill" -Nama keluarga "Smith" ` -DisplayName "Bill Smith" -Path "OU=SDM,DC=cpandl,DC=com"

Perintah ini memasukkan informasi dasar tentang akun pengguna. Secara khusus, parameter -SamAccountName digunakan untuk memberikan nama akun SAM yang diperlukan untuk membuat objek pengguna. Parameter –Path juga digunakan untuk memberi tahu perintah di mana menempatkan objek - dalam hal ini, SDM OU di domain cpandl.com. Selain itu, nama depan pengguna (parameter -GivenName), nama belakang (parameter -Surname), dan nama tampilan (parameter -DisplayName) ditentukan.

Menjalankan perintah ini akan membuat akun pengguna, tetapi ada dua masalah. Pertama, akun akan dinonaktifkan. Kedua, akun tersebut tidak akan memiliki kata sandi yang terkait dengannya, yang diperlukan di sebagian besar domain.

Untuk menghindari keharusan mengaktifkan akun dan menetapkan kata sandi secara terpisah, Anda dapat mengubah perintah Pengguna ADU Baru. Pengguna ADU baru akan secara otomatis mengaktifkan akun jika Anda menentukan parameter -Enabled $true dalam perintah. Aktivasi memerlukan kata sandi, jadi Anda juga harus menentukannya di perintah.

Untuk memberikan kata sandi, Anda dapat menggunakan parameter –AccountPassword. Namun, Anda tidak dapat memasukkan kata sandi dalam teks biasa pada prompt perintah. Opsi ini mengharuskan kata sandi dimasukkan dalam string aman (yaitu, memiliki tipe data SecureString). Ada dua cara untuk mengubah kata sandi menjadi string aman, dan keduanya menggunakan variabel.

Metode pertama menggunakan perintah ConvertTo-SecureString, yang mengubah string teks biasa menjadi string aman. Misalnya, jika Anda ingin mengubah kata sandi P@ssw0rd12 menjadi string yang dilindungi dan menetapkannya ke variabel $pwd, Anda akan menjalankan perintah:

$pwd = ConvertTo-SecureString -string "P@ssw0rd12" ` -AsPlainText –force

Ini bukan metode yang paling aman dalam menetapkan kata sandi, karena seseorang dapat mengawasi Anda saat Anda memasukkan perintah. Metode yang lebih aman adalah dengan memasukkan perintah Pengguna ADU Baru untuk memasukkan kata sandi dan menyembunyikan karakter. Ini dapat dilakukan dengan menggunakan perintah Read-Hostcmdlet dengan parameter –AsSecureString:

$pwd = Baca-Host -AsSecureString

Setelah menjalankan perintah ini, Anda akan melihat simbol "*" yang familier di layar saat memasukkan kata sandi. Setelah selesai, tekan tombol Enter.

Setelah kata sandi disimpan dalam variabel $pwd, Anda dapat meneruskannya ke perintah New-ADUser:

Pengguna ADU Baru -Nama"Bill Smith"-SamAccountName"bsmith"` -GivenName"Bill"-Nama Belakang"Smith"` -DisplayName"Bill Smith"` -Path"OU=SDM,DC=cpandl,DC=com"` - Diaktifkan $true -AccountPassword $pwd

Seperti yang bisa kita lihat, perintah tersebut berisi parameter -Enabled dan –AccountPassword, yang mengaktifkan akun dan menetapkan kata sandi dengan aman.

Membuat akun pengguna satu per satu adalah cara yang rapi, namun terkadang Anda perlu membuat beberapa akun sekaligus. PowerShell sangat bagus untuk tujuan ini. Misalnya, jika Anda perlu membuat tiga akun pengguna, Anda dapat menyiapkan file nilai dipisahkan koma (CSV) yang berisi informasi akun, lalu menggunakan perintah Impor-CSV untuk mentransfer informasi tersebut ke Pengguna ADU Baru.

Gambar 4 menunjukkan file CSV bernama userlist.csv.

Perhatikan bahwa dalam file ini, judul kolom sesuai dengan nama parameter yang diberikan dalam perintah Pengguna ADU Baru sebelumnya. Ini dilakukan dengan sengaja. Saat data CSV diteruskan ke Pengguna ADU Baru, perintah akan mengambil nama parameter tersebut dari alur PowerShell dan tidak harus ditentukan dalam perintah itu sendiri. Berikut adalah perintah yang digunakan untuk membuat tiga akun pengguna:

Impor-CSV -Jalur C:\data\userlist.csv | Pengguna ADU Baru -Diaktifkan $true -AccountPassword $pwd

Seperti yang Anda lihat, output dari perintah Import-CSV menuju ke perintah New-ADUser. Alur mengenali bahwa header kolom dalam file CSV adalah nama parameter dan baris sisanya berisi nilai, jadi Anda hanya perlu menyediakan parameter -Enabled dan –AccountPassword. Ini adalah kemampuan konveyor yang luar biasa. Ini memungkinkan Anda menggunakan PowerShell dengan lebih efektif untuk jenis tugas otomatisasi ini.

Manajemen Keanggotaan Grup

Menambahkan akun pengguna dan komputer adalah tugas manajemen AD yang umum. Dengan menggunakan modul AD, hal ini relatif mudah dilakukan. Menggunakan perintah Add-ADGroupMember, Anda dapat menambahkan satu atau lebih akun ke grup. Misalnya, jika Anda perlu menambahkan tiga pengguna baru ke grup Pengguna Pemasaran. Cara termudah adalah dengan menggunakan perintah:

Tambahkan-ADGroupMember -Identitas»Pengguna Pemasaran«` -Anggota jadams,tthumb,mtwain

Dalam perintah ini, parameter -Identity digunakan untuk memberikan nama grup. Parameter -Members juga digunakan untuk memberikan nama akun SAM pengguna. Jika ada beberapa nama akun SAM, nama tersebut harus dicantumkan dalam file yang dipisahkan koma.

Anda dapat menggabungkan operasi pembuatan tiga akun dan menambahkannya ke grup Pengguna Pemasaran dalam satu perintah untuk menyelesaikan masalah dalam satu tindakan. Namun, perintah Add-ADGroupMember tidak mendukung penerusan nama anggota grup ke dalam alur. Oleh karena itu, Anda harus menggunakan perintah Add-ADPrincipalGroupMembership jika ingin menggunakan alur. Perintah ini dapat menerima objek pengguna, komputer, atau grup sebagai masukan dari alur dan menambahkan objek tersebut ke grup tertentu.

Anda dapat menggabungkan operasi pembuatan pengguna dengan operasi penambahan pengguna baru ke grup Pengguna Pemasaran dalam satu perintah sebagai berikut:

Impor-CSV -Jalur C:\data\userlist.csv | Pengguna ADU Baru -Diaktifkan $true -AccountPassword $pass ` -PassThru | Tambahkan-ADPrincipalGroupMembership ` -MemberOf"Pengguna Pemasaran"

Perhatikan bahwa parameter –PassThru telah ditambahkan ke bagian New-ADUser dari perintah. Parameter ini memberitahu Pengguna ADU Baru untuk meneruskan objek pengguna yang dibuat ke dalam alur. Jika parameter ini tidak ditentukan, perintah Add-ADPrincipalGroupMembership akan gagal.

Perlu diperhatikan juga bahwa hanya parameter -MemberOf yang digunakan untuk menentukan nama grup di bagian Add-ADPrincipalGroupMembership pada perintah. Pipeline menangani sisanya dengan menambahkan masing-masing dari tiga pengguna ke grup Pengguna Pemasaran.

Jadi, dengan menggunakan satu perintah PowerShell, tiga pengguna baru dibuat, mereka ditempatkan di OU, mereka diberi kata sandi, dan mereka ditambahkan ke grup Pengguna Pemasaran. Sekarang mari kita lihat beberapa tugas pemeliharaan AD umum lainnya yang dapat diotomatisasi menggunakan PowerShell dan modul AD.

Menyetel ulang kata sandi akun pengguna

Terkadang pengguna perlu mengatur ulang kata sandi akun mereka. Tugas ini dapat dengan mudah diotomatisasi menggunakan perintah Set-ADAccountPassword dengan mengubah atau mengatur ulang kata sandi akun. Untuk mengubah kata sandi, Anda perlu mengetahui kata sandi lama dan memasukkan kata sandi baru. Untuk mengatur ulang kata sandi Anda, cukup berikan kata sandi baru. Namun, Anda harus memiliki izin Atur Ulang Kata Sandi pada objek pengguna di AD untuk melakukan pengaturan ulang kata sandi.

Seperti parameter -AccountPassword pada perintah New-ADUser, perintah Set-ADAccountPassword menggunakan tipe data SecureString untuk kata sandi, jadi Anda harus menggunakan salah satu metode untuk mengonversi kata sandi teks biasa menjadi string aman. Misalnya, jika Anda ingin menyetel ulang sandi untuk akun pengguna Tom Thumb, setelah menyimpan sandi baru sebagai string yang dilindungi dalam variabel $pass, Anda dapat menjalankan perintah:

Setel-ADAccountPassword -Identitas»tthumb«` -NewPassword $pass –Reset

Dalam perintah ini, saya menggunakan parameter –Identity untuk menetapkan nama akun SAM ke akun pengguna Tom Thumb. Saya juga memasukkan parameter -NewPassword dengan variabel $pass untuk memberikan kata sandi baru. Terakhir, parameter –Reset ditentukan untuk menunjukkan bahwa reset sedang dilakukan, bukan perubahan kata sandi.

Tugas opsional lainnya: aktifkan tanda akun pengguna Tom Thumb untuk memaksanya mengubah kata sandinya saat dia masuk lagi. Ini adalah teknik umum ketika Anda perlu mengatur ulang kata sandi pengguna. Tugas ini dapat dilakukan menggunakan perintah Set-ADUser, mengatur parameter -ChangePasswordAtLogon ke $true:

Set-ADUser -Identitas jempol -UbahPasswordAtLogon $true

Timbul pertanyaan mengapa alur tidak digunakan untuk meneruskan output perintah Set-ADAccountPassword ke perintah Set-ADUser untuk melakukan kedua operasi dalam satu perintah PowerShell. Saya mencoba pendekatan ini, tidak berhasil. Mungkin ada beberapa batasan dalam perintah Set-ADAccountPassword yang mencegah satu perintah berjalan dengan sukses. Bagaimanapun, cukup dengan mengganti flag menggunakan perintah Set-ADUser seperti yang ditunjukkan di atas.

Mencari Objek Direktori Aktif

Tugas khas AD lainnya adalah menemukan objek AD yang memenuhi kriteria tertentu. Misalnya, Anda dapat menemukan semua komputer yang menjalankan versi sistem operasi Windows tertentu di domain AD. Perintah Get-ADObject adalah yang paling nyaman untuk pencarian LDAP. Misalnya, untuk menemukan komputer Server 2008 R2 di domain cpandl.com, digunakan perintah:

Dapatkan-ADObject -LDAPFilter ` "(&(sistem operasi=Windows Server 2008 R2 Enterprise)` (objectClass=komputer))" -SearchBase"dc=cpandl,dc=com"` -SearchScope Subtree

Perintah ini menggunakan tiga parameter untuk melakukan tugas: -LDAPFilter, -SearchBase, dan -SearchScope. Parameter -LDAPFilter mengambil kueri LDAP standar sebagai masukan. Contoh ini menanyakan semua objek komputer yang memiliki atribut Sistem Operasi yang diatur ke Windows Server 2008 R2 Enterprise. Parameter -SearchBase memberi tahu perintah di mana harus memulai pencarian dalam hierarki AD. Dalam hal ini, pencarian dilakukan dari direktori root domain AD, namun tidak sulit untuk membatasi pencarian ke OU tertentu. Parameter –SearchScope memberi tahu perintah apakah akan merayapi semua kontainer di bawah basis pencarian, menemukan objek yang ditentukan. Dalam hal ini, parameter Subtree digunakan untuk memaksa perintah memeriksa semua container yang mendasarinya.

Saat Anda menjalankan perintah, objek yang sesuai dengan kriteria akan ditampilkan. Atau Anda dapat meneruskan hasilnya ke perintah lain untuk memproses objek yang ditemukan.

Perhatikan bahwa untuk pencarian berukuran besar akan berguna untuk menggunakan parameter –ResultPageSize untuk mengontrol bagaimana hasil pencarian diberi nomor halaman. Biasanya saya menyetel parameter ini ke 1000 dan perintah Get-ADObject mengembalikan 1000 objek sekaligus. Jika tidak, Anda mungkin tidak mendapatkan hasil yang diharapkan karena jumlah objek yang dikembalikan melebihi jumlah maksimum yang diizinkan oleh kebijakan yang ditetapkan untuk satu permintaan pencarian.

Perintah pencarian lain yang disediakan oleh Microsoft adalah Search-ADAccount. Perintah ini sangat berguna untuk mencari dengan berbagai kondisi yang telah ditentukan, seperti akun yang dinonaktifkan, akun dengan kata sandi yang kedaluwarsa, dan akun yang terkunci. Jadi, perintah berikut menemukan semua akun pengguna dengan kata sandi yang kedaluwarsa di SDM OU:

Akun-Pencarian -PasswordExpired -UsersOnly ` -SearchBase"OU=sdm,dc=cpandl,dc=com" -SearchScope OneLevel Search-ADAccount -PasswordExpired -UsersOnly ` -SearchBase"OU=sdm,dc=cpandl,dc=com" ` -SearchScope Satu Tingkat

Perintah ini menggunakan parameter –PasswordExpired untuk menentukan bahwa akun dengan kata sandi yang kedaluwarsa diperlukan. Parameter -UsersOnly menentukan bahwa hanya objek pengguna yang harus dicari (yaitu, objek komputer harus dikecualikan). Seperti pada contoh sebelumnya, parameter -SearchBase dan –SearchScope digunakan untuk menentukan cakupan pencarian. Namun dalam kasus ini, saya menggunakan parameter OneLevel untuk menelusuri OU terdekat saja (yaitu, tidak termasuk unit organisasi turunan).

Ini hanyalah permukaan dari modul AD, tapi saya harap Anda mendapatkan gambaran tentang kemampuannya. Seperti disebutkan di atas, ada lebih dari 70 perintah dalam modul. Topik yang tidak dibahas dalam artikel ini termasuk menghapus objek menggunakan perintah Hapus, memulihkan objek yang dihapus menggunakan perintah Restore-ADObject, dan menghapus properti UAC pada objek pengguna menggunakan perintah Set-ADAccountControl. Ada perintah untuk hampir semua tugas administratif AD.



Pelajaran 7. Administrasi Direktori Aktif.

Proses administrasi Direktori Aktif melibatkan pengelolaan:

  • Domain Direktori Aktif;
  • struktur direktori domain;
  • objek domain (pengguna, kontak, komputer, grup, printer, dll.);
  • Situs dan jaringan Direktori Aktif;
  • replikasi data.

Semua tugas ini diselesaikan menggunakan tiga konsol manajemen yang diinstal selama instalasi Direktori Aktif pada pengontrol domain:

  • Direktori Aktif - Domain dan Kepercayaan
  • Direktori Aktif - Pengguna dan Komputer
  • Direktori Aktif - Situs dan Layanan

Konsol ini dapat diinstal pada komputer lain di domain sebagai bagian dari paket utilitas administratif.

Deskripsi objek Direktori Aktif.

Semua konsol manajemen Direktori Aktif menggunakan satu set ikon untuk menampilkan objek direktori. Di bawah ini adalah semua objek utama Direktori Aktif dan ikon terkaitnya. Informasi ini akan membantu Anda menavigasi Direktori Aktif dengan lebih mudah.

Direktori Aktif

Mewakili Direktori Aktif secara keseluruhan. Hampir tidak pernah ditemukan di alat manajemen, kecuali jendela pencarian dan pemilihan objek

Mewakili domain Windows. Memungkinkan Anda mengelola pengaturan domain global

Wadah, map

Mewakili objek kontainer sederhana. Objek tersebut hanya dapat dibuat oleh sistem operasi dan biasanya dihasilkan selama instalasi Active Directory

Unit organisasi

Diwakili oleh OP. Objek container ini digunakan untuk membangun hierarki container yang berisi objek lain

Pengguna

Mewakili akun pengguna. Objek berisi sejumlah besar atribut yang menggambarkan pengguna

Mewakili pengguna anggota non-domain. Kontak digunakan untuk menyimpan informasi tentang pengguna eksternal dalam direktori; mereka bukan akun dan tidak mengizinkan pengguna untuk mendaftar dengan domain

Mewakili sekelompok pengguna dan biasanya digunakan untuk menyederhanakan pengelolaan izin dan hak istimewa

Komputer

Mewakili satu komputer di jaringan lokal. Untuk komputer yang menjalankan Windows NT, 2000, dan versi Windows yang lebih baru, ini adalah akun komputer. Objek tersebut berisi informasi dasar tentang komputer dan memungkinkan Anda untuk mengelolanya

Pengontrol domain

Mewakili pengontrol domain Windows tunggal. Di Pengguna dan Komputer Direktori Aktif, pengontrol domain menampilkan ikon yang sama seperti komputer biasa. Ikon ini digunakan untuk menampilkan pengontrol domain di Situs dan Layanan Direktori Aktif. Memungkinkan Anda mengelola pengaturan pengontrol domain

Mewakili printer jaringan. Objeknya adalah link ke printer bersama. Objek jenis ini dapat ditambahkan ke katalog baik secara manual maupun otomatis. Penambahan manual hanya dimungkinkan untuk printer yang terhubung ke komputer yang menjalankan versi lebih lama dari Windows 2000

Sumber daya bersama

Mewakili folder bersama. Objeknya adalah tautan ke jaringan berbagi dan tidak berisi data apa pun

Opsi Lisensi

Mewakili pengaturan lisensi situs global. Memungkinkan Anda mengelola lisensi secara terpusat produk perangkat lunak dan replikasinya di dalam situs

Kebijakan Domain

Mewakili objek kebijakan domain. Memungkinkan Anda mengonfigurasi pengaturan kebijakan tingkat domain

Kebijakan Pengontrol Domain

Mewakili objek kebijakan pengontrol domain. Memungkinkan Anda mengonfigurasi pengaturan kebijakan untuk semua pengontrol domain

Kebijakan Grup

Mewakili GPO khusus. Memungkinkan Anda mengelola pengaturan kebijakan untuk objek kontainer tempat kebijakan diterapkan.

Mewakili satu situs Direktori Aktif. Memungkinkan Anda mengelola parameternya. Berisi tautan ke objek pengontrol domain, tautan situs, pengaturan situs

Menggabungkan

Mewakili koneksi antara pengontrol domain dalam sebuah situs. Memungkinkan Anda mengelola pengaturan topologi dan replikasi antara pengontrol domain dalam suatu situs

Tautan situs

Mewakili satu tautan antar situs. Memungkinkan Anda mengelola topologi dan parameter replikasi antarsitus

Pengaturan situs

Mewakili objek konfigurasi pengontrol situs atau domain di situs. Memungkinkan Anda mengelola pengaturan replikasi untuk seluruh situs atau pengaturan bagaimana pengontrol domain berinteraksi dengan situs

Mewakili satu subnet yang terkait dengan situs tertentu. Memungkinkan Anda menentukan batas-batas jaringan IP

Ikon

Sebuah Objek

Keterangan

Nyalakan ulang servernya.

Masukkan kata sandi untuk mode pemulihan layanan direktori.

Konfirmasikan lokasi folder untuk menyimpan file AD.

Konfirmasikan nama domain NetBIOS.

7. Pilih tingkat keamanan untuk pengguna dan grup:

· Izin kompatibel dengan server pra-Windows 2000– jika domain berisi program atau layanan yang berjalan di server yang menjalankan Windows NT, atau komputer merupakan bagian dari domain yang menjalankan Windows NT.

· Izin hanya kompatibel dengan server Windows 2000 dan Windows Server 2003– jika hanya server yang menjalankan server Windows 2000 dan Windows Server 2003 yang berjalan di domain tersebut.

Administrasi Direktori Aktif menggunakan serangkaian snap-in manajemen Direktori Aktif. Ini terdiri dari empat peralatan:

1 Pengguna dan Komputer Direktori Aktif – dirancang untuk mengelola akun pengguna domain dan komputer.

2 Domain dan Kepercayaan Direktori Aktif - digunakan untuk membangun hubungan kepercayaan antar domain.

3 Situs dan Layanan Direktori Aktif (situs dan layanan) - dirancang untuk mengelola situs dan tautan situs.

4 DNS – administrasi server DNS yang terintegrasi ke dalam Direktori Aktif.

Pengguna dan komputer Direktori Aktif.

Akun pengguna Direktori Aktif dan akun komputer adalah objek fisik seperti komputer atau pengguna. Akun pengguna juga dapat digunakan sebagai entri layanan khusus untuk beberapa aplikasi.

Akun pengguna– objek Direktori Aktif yang berisi semua informasi yang mengidentifikasi pengguna di sistem operasi Windows. Informasi ini meliputi:

· data pribadi pengguna (nama lengkap, nomor telepon, email, alamat pos, informasi tentang organisasi);

· pengaturan akun (nama pengguna dan kata sandi diperlukan untuk login pengguna, tanggal kedaluwarsa akun, manajemen kata sandi, opsi enkripsi dan otentikasi);

· nama grup dimana pengguna menjadi anggotanya;

· profil pengguna (berisi informasi tentang pengaturan spesifik pengguna, seperti pengaturan desktop, koneksi jaringan persisten, dan pengaturan aplikasi);

· informasi lainnya (profil Layanan Terminal, kendali jarak jauh, manajemen sesi, dll.).

akun komputer- objek Direktori Aktif yang secara unik mengidentifikasi komputer dalam suatu domain. Akun komputer sesuai dengan nama komputer di domain. Komputer yang akunnya telah ditambahkan ke domain dapat berpartisipasi dalam operasi jaringan yang menggunakan konten Direktori Aktif. Misalnya, stasiun kerja yang ditambahkan ke domain mampu mengenali akun dan grup yang ada di Direktori Aktif.



@Komputer yang menjalankan Windows 95, Windows 98, dan Windows Me tidak memiliki fitur keamanan tambahan dan tidak dapat ditetapkan akun komputer.

Kelompok adalah kumpulan akun pengguna dan komputer, kontak, dan grup lain yang dapat dikelola sebagai satu unit. Pengguna dan komputer yang termasuk dalam kelompok tertentu disebut anggota kelompok. Grup di Direktori Aktif adalah objek direktori yang berada dalam domain dan objek kontainer unit organisasi.

Grup di Direktori Aktif memungkinkan Anda untuk:

· Sederhanakan administrasi dengan memberikan izin berbagi ke grup, bukan ke pengguna individu. Hal ini memastikan akses yang sama terhadap sumber daya untuk semua anggota kelompok tersebut;

· mendelegasikan administrasi dengan memberikan hak kepada pengguna untuk seluruh grup sekaligus kebijakan kelompok dan kemudian menambahkan anggota yang diperlukan ke dalam kelompok, yang harus mempunyai hak yang sama dengan kelompok;

Kelompok dicirikan oleh ruang lingkup dan jenisnya. Ruang lingkup grup menentukan rentang penerapan grup dalam suatu domain atau hutan. Ada tiga cakupan berbeda: universal, global, dan domain lokal.

· Domain lokal (lokal tertanam)– Anggota grup domain-lokal dapat menyertakan grup dan akun lain dari domain Windows Server 2003, Windows 2000, atau Windows NT, dan hanya dapat diberikan izin dalam domain tersebut.

@ Grup lokal domain harus digunakan untuk mengontrol akses ke sumber daya dalam domain yang sama.

· Global– Anggota grup dengan cakupan global dapat menyertakan grup dan akun lain hanya dari domain tempat grup tersebut ditentukan, dan mereka dapat diberikan izin di domain mana pun di hutan.

@ Grup dengan cakupan global direkomendasikan untuk mengelola objek direktori yang memerlukan pemeliharaan harian. Ini termasuk, misalnya, akun pengguna dan komputer. Karena grup dengan cakupan global tidak melakukan replikasi di luar domainnya, akun yang terdapat dalam grup tersebut dapat sering diubah tanpa menyebabkan lalu lintas tambahan yang terkait dengan replikasi ke katalog global.

· Universal- Anggota grup dengan cakupan universal dapat menyertakan grup dan akun lain dari domain mana pun di pohon atau hutan domain, dan mereka dapat diberikan izin di domain mana pun di pohon atau hutan domain.

@ Tetapkan cakupan universal ke grup yang mencakup domain. Untuk melakukannya, tambahkan akun ke grup dengan cakupan global, lalu satukan grup tersebut ke dalam grup dengan cakupan universal. Dengan pendekatan ini, perubahan keanggotaan dalam kelompok dengan cakupan global tidak berdampak pada kelompok dengan cakupan universal.


Jenis grup menentukan apakah grup dapat digunakan untuk menetapkan izin pada sumber daya atau hanya pada daftar distribusi email.

Kelompok keamanan– memberikan kontrol yang efektif atas akses ke sumber daya jaringan. Menggunakan grup keamanan memungkinkan Anda melakukan hal berikut:

· Tetapkan hak pengguna ke grup keamanan di Direktori Aktif. Hak pengguna yang ditetapkan untuk grup keamanan menentukan apa yang dapat dilakukan anggota grup tersebut dalam lingkup domain (atau hutan). Hak pengguna secara otomatis ditetapkan untuk grup keamanan selama instalasi Direktori Aktif untuk membantu administrator menentukan peran pengguna administratif di domain. Misalnya, pengguna yang ditambahkan ke grup Operator Pencadangan di Direktori Aktif memperoleh kemampuan untuk mencadangkan dan memulihkan file dan direktori pada pengontrol domain mana pun di domain tersebut. Anda dapat menetapkan hak pengguna ke grup keamanan menggunakan Kebijakan Grup untuk mendelegasikan tugas tertentu. Kehati-hatian harus diberikan ketika menugaskan tugas yang didelegasikan. Pengguna yang tidak berpengalaman dengan terlalu banyak hak dalam grup keamanan berpotensi menyebabkan kerusakan serius pada jaringan.

· Tetapkan izin sumber daya ke grup keamanan. Izin tidak sama dengan hak pengguna. Izin ditetapkan untuk grup keamanan yang menggunakan sumber daya bersama. Izin menentukan siapa yang dapat mengakses sumber daya tertentu dan tingkat akses, seperti kontrol penuh. Beberapa izin yang ditetapkan pada objek domain secara otomatis ditetapkan ke tingkat akses berbeda untuk grup default, seperti Operator Akun atau Operator Domain. Untuk informasi selengkapnya tentang izin, lihat Mengontrol Akses di Direktori Aktif.

@Grup keamanan tercantum dalam tabel kontrol akses selektif, yang menentukan izin pada sumber daya dan objek. Administrator harus memberikan izin untuk sumber daya (berbagi file, printer, dll.) kepada kelompok keamanan, bukan kepada pengguna individu. Izin diberikan ke grup satu kali, bukan memberikan hak kepada masing-masing pengguna. Setiap akun, ketika ditambahkan ke grup, menerima hak yang ditetapkan ke grup tersebut di Direktori Aktif dan izin yang ditentukan untuk grup tersebut di sumber daya.

Kelompok distribusi– Hanya digunakan oleh aplikasi email untuk mengirim pesan email ke grup pengguna. Grup distribusi tidak menggunakan keamanan, dengan kata lain tidak dapat dimasukkan dalam tabel kontrol akses selektif (DACL). Jika grup dibuat untuk mengontrol akses ke sumber daya bersama, grup tersebut harus berupa grup keamanan.

@Grup keamanan juga dapat digunakan sebagai tujuan email, sama seperti grup distribusi. Pesan email yang dikirim ke grup dikirim ke semua anggota grup.

Ada juga grup yang tidak dapat Anda edit atau lihat informasi keanggotaannya. Kelompok-kelompok ini disebut identitas khusus dan digunakan untuk mewakili pengguna yang berbeda pada waktu yang berbeda, bergantung pada keadaan.

(Login Anonim, Semua, Jaringan, Interaktif)

Misalnya, grup Semua Orang mewakili semua pengguna jaringan saat ini, termasuk tamu dan pengguna dari domain lain. Untuk informasi lebih lanjut, lihat Identitas Khusus.

Akun pengguna dan komputer (dan grup) disebut prinsip keamanan. Prinsipal keamanan adalah objek direktori yang secara otomatis diberi ID keamanan (SID) untuk mengakses sumber daya domain. Akun pengguna atau komputer digunakan untuk tujuan berikut:

· otentikasi pengguna atau komputer.

· mengizinkan atau menolak akses ke sumber daya domain.

· administrasi prinsip keamanan lainnya (untuk mewakili prinsip keamanan dari domain tepercaya eksternal).

· audit tindakan yang dilakukan menggunakan akun pengguna atau komputer.

Untuk menetapkan hak secara bersamaan jumlah yang besar kelompok keamanan digunakan untuk pengguna. Akun dapat dikelompokkan menggunakan unit organisasi (wadah).

Untuk memastikan otentikasi pengguna yang aman, Anda harus membuat akun terpisah untuk setiap pengguna jaringan menggunakan " Pengguna dan komputer Direktori Aktif ».

Setiap akun pengguna Direktori Aktif memiliki sejumlah pengaturan terkait keamanan yang menentukan cara akun diautentikasi saat masuk ke jaringan.

Didedikasikan untuk menggunakan PowerShell untuk mengelola AD. Sebagai titik awal, penulis memutuskan untuk mengambil 10 tugas umum administrasi AD dan melihat bagaimana tugas tersebut dapat disederhanakan menggunakan PowerShell:

  1. Setel ulang kata sandi pengguna
  2. Aktifkan dan nonaktifkan akun
  3. Buka kunci akun pengguna
  4. Hapus akun anda
  5. Temukan grup kosong
  6. Tambahkan pengguna ke grup
  7. Daftar anggota kelompok
  8. Temukan akun komputer yang ketinggalan jaman
  9. Nonaktifkan akun komputer
  10. Temukan komputer berdasarkan jenisnya

Selain itu, penulis mengelola blog (tentu saja menggunakan PowerShell), kami sarankan untuk melihat - jdhitsolutions.com/blog. Dan Anda bisa mendapatkan informasi terkini dari Twitter-nya twitter.com/jeffhicks.
Nah, di bawah ini adalah terjemahan artikel “10 Tugas Direktori Aktif Teratas yang Diselesaikan dengan PowerShell”.

Mengelola Active Directory (AD) menggunakan Windows PowerShell lebih mudah dari yang Anda kira, dan saya ingin membuktikannya kepada Anda. Anda cukup mengambil skrip di bawah ini dan menggunakannya untuk menyelesaikan sejumlah tugas manajemen AD.

Persyaratan

Untuk menggunakan PowerShell untuk mengelola AD, Anda harus memenuhi beberapa persyaratan. Saya akan mendemonstrasikan cara kerja cmdlet AD menggunakan komputer Windows 7 sebagai contoh.
Untuk menggunakan cmdlet, Anda harus memiliki pengontrol domain Windows Server 2008 R2, atau Anda dapat mengunduh dan menginstal Layanan Gateway Manajemen Direktori Aktif pada DC lama. Harap baca dokumentasi dengan seksama sebelum instalasi; Diperlukan reboot CD.
Di sisi klien, unduh dan instal (RSAT) untuk Windows 7 atau Windows 8. Di Windows 7, Anda harus membukanya Panel Kontrol bab Program dan pilih Mengaktifkan atau Menonaktifkan Fitur Windows. Menemukan Alat Administrasi Server Jarak Jauh dan memperluas bagian tersebut Alat Administrasi Peran. Pilih item yang sesuai untuk Alat AD DS dan AD LDS, terutama perhatikan bahwa item tersebut harus dipilih Modul Direktori Aktif untuk Windows PowerShell, seperti yang ditunjukkan pada Gambar 1. (Di Windows 8, semua alat dipilih secara default). Sekarang kami siap bekerja.

Gbr.1 Mengaktifkan Alat AD DS dan AD LDS

Saya masuk dengan akun dengan hak administrator domain. Sebagian besar cmdlet yang akan saya tunjukkan memungkinkan Anda menentukan kredensial alternatif. Bagaimanapun, saya sarankan membaca bantuan ( Mendapatkan bantuan) dan contoh yang akan saya tunjukkan di bawah ini.
Mulai sesi PowerShell dan impor modul:

PS C:\> Impor-Modul ActiveDirectory

Impor membuat PSDrive baru, tetapi kami tidak akan menggunakannya. Namun, Anda dapat melihat perintah apa saja yang tersedia di modul yang diimpor.

PS C:\> dapatkan-perintah -modul ActiveDirectory

Kelebihan dari perintah ini adalah jika saya dapat menggunakan perintah pada satu objek AD, maka perintah tersebut dapat digunakan pada 10, 100, dan bahkan 1000. Mari kita lihat cara kerja beberapa cmdlet ini.

Tugas 1: Reset kata sandi pengguna

Mari kita mulai dengan tugas umum: mengatur ulang kata sandi pengguna. Anda dapat melakukannya dengan mudah dan sederhana menggunakan cmdlet Setel-ADAccountPassword. Bagian rumitnya adalah kata sandi baru harus memenuhi syarat sebagai string yang dilindungi: sepotong teks yang dienkripsi dan disimpan dalam memori selama sesi PowerShell. Pertama, mari buat variabel dengan kata sandi baru:
PS C:\> $new=Baca-Host "Masukkan kata sandi baru" -AsSecureString

Kemudian, masukkan kata sandi baru:

Sekarang kita dapat mengekstrak akun (menggunakan samNama Akunpilihan terbaik) dan atur kata sandi baru. Berikut ini contoh untuk pengguna Jack Frost:

PS C:\> Set-ADAccountPassword jfrost -Kata Sandi Baru $baru

Sayangnya, ada bug pada cmdlet ini: -Passthru, -Bagaimana jika, Dan -Mengonfirmasi tidak bekerja. Jika Anda lebih suka jalan pintas, coba ini:

PS C:\> Set-ADAccountPassword jfrost -NewPassword (ConvertTo-SecureString -AsPlainText -String "P@ssw0rd1z3" -force)

Akibatnya, saya memerlukan Jack untuk mengubah kata sandinya saat dia masuk lagi, jadi saya memodifikasi akun tersebut menggunakan Set-Pengguna ADU.

PS C:\> Set-ADUser jfrost -UbahPasswordAtLogon $True

Hasil menjalankan cmdlet tidak ditulis ke konsol. Jika ini perlu dilakukan, gunakan -BENAR. Namun saya dapat mengetahui berhasil atau tidaknya operasi tersebut dengan mengambil nama pengguna menggunakan cmdlet Dapatkan-Pengguna ADU dan menentukan propertinya Kata Sandi Kedaluwarsa, seperti yang ditunjukkan pada Gambar 2.


Beras. 2. Hasil Cmdlet Get-ADUser dengan properti PasswordExpired

Intinya: Menyetel ulang kata sandi pengguna menggunakan PowerShell tidaklah sulit sama sekali. Saya akui untuk mereset password juga mudah melalui snap Pengguna dan Komputer Direktori Aktif konsol Konsol Manajemen Microsoft (MMC). Namun penggunaan PowerShell cocok jika Anda perlu mendelegasikan tugas, tidak ingin menerapkan snap-in yang disebutkan di atas, atau menyetel ulang kata sandi sebagai bagian dari proses TI otomatis yang besar.

Tugas 2: Mengaktifkan dan menonaktifkan akun

Sekarang mari kita nonaktifkan akun tersebut. Mari terus bekerja dengan Jack Frost. Kode ini menggunakan parameter -Bagaimana jika, yang dapat Anda temukan di comadlet lain yang membuat perubahan untuk menguji perintah saya tanpa menjalankannya.

PS C:\> Disable-ADAccount jfrost -whatif Bagaimana jika: Melakukan operasi "Set" pada Target "CN=Jack Frost, OU=staff,OU=Testing,DC=GLOBOMANTICS,DC=local".

Sekarang mari kita nonaktifkan secara nyata:

PS C:\> Nonaktifkan-ADAAccount jfrost

Dan ketika tiba saatnya untuk mengaktifkan akun, cmdlet manakah yang akan membantu kita?

PS C:\> Aktifkan-ADAccount jfrost

Cmdlet ini dapat digunakan dalam ekspresi pipeline, memungkinkan Anda mengaktifkan atau menonaktifkan akun sebanyak yang Anda suka. Misalnya kode ini akan menonaktifkan semua akun di departemen Penjualan

PS C:\> get-aduser -filter "departemen -eq "penjualan"" | nonaktifkan-akun

Tentu saja, tulis filter untuk Dapatkan-Pengguna ADU cukup rumit, namun disinilah kegunaan parameternya -Bagaimana jika bersama dengan cmdlet Nonaktifkan-ADAccount datang untuk menyelamatkan.

Tugas 3: Membuka kunci akun pengguna

Pertimbangkan situasi di mana Jack mengunci akunnya saat mencoba memasukkan kata sandi baru. Daripada mencoba menemukan akunnya melalui GUI, prosedur membuka kunci dapat dilakukan dengan menggunakan perintah sederhana.

PS C:\> Buka kunci-ADAAccount jfrost

Cmdlet juga mendukung parameter -Bagaimana jika Dan -Mengonfirmasi.

Tugas 4: Hapus akun

Tidak peduli berapa banyak pengguna yang Anda hapus - ini mudah dilakukan menggunakan cmdlet Hapus-Pengguna ADU. Saya tidak ingin menghapus Jack Frost, tetapi jika saya mau, saya akan menggunakan kode seperti ini:

PS C:\> Hapus-ADUser jfrost -bagaimana jika: Melakukan operasi "Hapus" pada Target "CN=Jack Frost,OU=staff,OU=Testing,DC=GLOBOMANTICS,DC=local".

Atau saya dapat memasukkan banyak pengguna dan menghapusnya dengan satu perintah sederhana:

PS C:\> get-aduser -filter "enabled -eq "false"" -property WhenChanged -SearchBase "OU=Karyawan, DC=Globomantics,DC=Lokal" | di mana ($_.WhenChanged -le (Get-Date).AddDays(-180)) | Hapus-ADuser -whatif

Perintah ini akan menemukan dan menghapus akun OU Karyawan yang dinonaktifkan dan belum diubah selama 180 hari atau lebih.

Tugas 5: Menemukan grup kosong

Mengelola kelompok adalah tugas tanpa akhir dan tanpa pamrih. Ada banyak cara untuk menemukan grup kosong. Beberapa ekspresi mungkin berfungsi lebih baik dibandingkan yang lain, bergantung pada organisasi Anda. Kode di bawah ini akan menemukan semua grup di domain, termasuk grup bawaan.

PS C:\> dapatkan-grup iklan -filter * | di mana (-Tidak ($_ | dapatkan-anggota grup iklan)) | Pilih Nama

Jika Anda memiliki grup dengan ratusan anggota, menggunakan perintah ini bisa memakan waktu lama; Dapatkan-ADGroupMember memeriksa setiap kelompok. Kalau bisa dibatasi atau disesuaikan akan lebih baik.
Inilah pendekatan lain:

PS C:\> get-adgroup -filter "anggota -notlike "*" -AND GroupScope -eq "Universal"" -SearchBase "OU=Grup,OU=Karyawan,DC=Globomantics, DC=lokal" | Pilih Nama,Grup*

Perintah ini menemukan semua grup Universal yang tidak memiliki keanggotaan di Grup OU dan menampilkan beberapa properti. Hasilnya ditunjukkan pada Gambar 3.


Beras. 3. Cari dan filter grup universal

Tugas 6: Menambahkan pengguna ke grup

Mari tambahkan Jack Frost ke grup IT Chicago:

PS C:\> tambahkan-anggota grup iklan "chicago IT" -Anggota jfrost

Ya, sesederhana itu. Anda juga dapat dengan mudah menambahkan ratusan pengguna ke grup, meskipun menurut saya ini agak janggal:

PS C:\> Tambahkan-ADGroupMember "Karyawan Chicago" -anggota (get-aduser -filter "city -eq "Chicago"")

Saya menggunakan ekspresi pipeline dalam tanda kurung untuk menemukan semua pengguna yang memiliki properti City di Chicago. Kode dalam tanda kurung dieksekusi dan objek yang dihasilkan diteruskan ke parameter –Member. Setiap objek pengguna ditambahkan ke grup Karyawan Chicago. Tidak masalah apakah kita berurusan dengan 5 atau 5000 pengguna, memperbarui keanggotaan grup hanya membutuhkan beberapa detik. Ungkapan ini juga dapat ditulis menggunakan UntukSetiap Objek apa yang mungkin lebih nyaman:

PS C:\> Dapatkan-ADUser -filter "city -eq "Chicago"" | foreach (Tambahkan-ADGroupMember "Karyawan Chicago" -Anggota $_)

Tugas 7: Membuat daftar anggota kelompok

Anda mungkin ingin tahu siapa saja yang termasuk dalam kelompok tertentu. Misalnya, Anda harus mencari tahu secara berkala siapa yang menjadi anggota grup Admin Domain:

PS C:\> Dapatkan-ADGroupMember "Admin Domain"

Gambar 4 menunjukkan hasilnya.


Beras. 4. Anggota grup Admin Domain

Cmdlet menampilkan objek AD untuk setiap anggota grup. Apa yang harus dilakukan dengan grup bersarang? Grup saya Chicago Semua Pengguna adalah kumpulan grup bersarang. Untuk mendapatkan daftar semua akun, saya hanya perlu menggunakan parameternya -Rekursif.

PS C:\> Dapatkan-ADGroupMember "Chicago Semua Pengguna" -Rekursif | Pilih Nama Terhormat

Jika Anda ingin menggunakan cara lain - temukan di grup mana pengguna berada - gunakan properti pengguna Anggota dari:

PS C:\> get-aduser jfrost -property Memberof | Pilih -ExpandProperty memberOf CN=NewTest,OU=Groups,OU=Karyawan, DC=GLOBOMANTICS,DC=local CN=Chicago Test,OU=Groups,OU=Karyawan, DC=GLOBOMANTICS,DC=local CN=Chicago IT,OU= Grup,OU=Karyawan, DC=GLOBOMANTICS,DC=lokal CN=Pengguna Penjualan Chicago,OU=Grup,OU=Karyawan, DC=GLOBOMANTICS,DC=lokal

Saya menggunakan parameternya -Perluas Properti untuk menampilkan nama Anggota dari seperti garis.

Tugas 8: Menemukan akun komputer yang sudah ketinggalan zaman

Saya sering ditanyai pertanyaan ini: “Bagaimana cara menemukan akun komputer yang sudah ketinggalan zaman?” Dan saya selalu menjawab: “Apa yang ketinggalan jaman bagi Anda?” Perusahaan memiliki definisi berbeda tentang kapan akun komputer (atau akun pengguna, tidak masalah) dianggap usang dan tidak dapat digunakan lagi. Bagi saya, saya memperhatikan akun-akun yang kata sandinya tidak diubah dalam jangka waktu tertentu. Periode ini bagi saya adalah 90 hari - jika komputer belum mengubah kata sandi beserta domainnya selama periode ini, kemungkinan besar komputer tersebut offline dan ketinggalan jaman. Cmdlet digunakan Dapatkan-ADComputer:

PS C:\> get-adcomputer -filter "Passwordlastset -lt "1/1/2012"" -properties *| Pilih nama, kata sandi yang terakhir disetel

Filter berfungsi baik dengan nilai keras, tetapi kode ini akan diperbarui untuk semua akun komputer yang belum mengubah kata sandinya sejak 1 Januari 2012. Hasilnya ditunjukkan pada Gambar 5.


Beras. 5. Temukan akun komputer yang sudah ketinggalan zaman

Pilihan lain: anggaplah Anda setidaknya berada pada tingkat fungsional domain Windows 2003. Filter berdasarkan properti Stempel Waktu Masuk Terakhir. Nilai ini adalah jumlah interval 100 nanodetik sejak 1 Januari 1601, dan disimpan dalam GMT, jadi menggunakan nilai ini sedikit rumit:

PS C:\> get-adcomputer -filter "LastlogonTimestamp -gt 0" -properties * | pilih nama, stempel waktu logon terakhir, @(Nama = "Logon Terakhir"; Ekspresi = (:: FromFileTime ($_. Stempel waktu logon terakhir))), kata sandi set terakhir | Urutkan LastLogonTimeStamp


Beras. 6. Konversikan nilai LastLogonTimeStamp ke format yang sudah dikenal

Untuk membuat filter, saya perlu mengubah tanggal, misalnya 1 Januari 2012, ke dalam format yang benar. Konversi dilakukan di FileTime:

PS C:\> $cutoff=(Dapatkan Tanggal "1/1/2012").ToFileTime() PS C:\> $cutoff 129698676000000000

Sekarang saya dapat menggunakan variabel ini di filter untuk Dapatkan-ADComputer:

PS C:\> Dapatkan-ADComputer -Filter "(lastlogontimestamp -lt $cutoff) -or (lastlogontimestamp -notlike "*")" -property * | Pilih Nama, Stempel Waktu Logon Terakhir, Kata SandiLastSet

Kode di atas menemukan komputer yang sama seperti yang ditunjukkan pada Gambar 5.

Tugas 9: Menonaktifkan akun komputer

Mungkin ketika Anda menemukan akun yang tidak aktif atau ketinggalan jaman, Anda ingin menonaktifkannya. Hal ini cukup mudah dilakukan. Kami akan menggunakan cmdlet yang sama yang kami gunakan untuk bekerja dengan akun pengguna. Anda dapat memperjelasnya dengan menggunakan samNama Akun akun.

PS C:\> Disable-ADAccount -Identity "chi-srv01$" -whatif Bagaimana jika: Melakukan operasi "Set" pada Target "CN=CHI-SRV01, CN=Computers,DC=GLOBOMANTICS,DC=local".

Atau menggunakan ekspresi pipa:

PS C:\> dapatkan-adcomputer "chi-srv01" | Nonaktifkan-ADAccount

Saya juga dapat menggunakan kode saya untuk menemukan akun lama dan menonaktifkan semuanya:

PS C:\> get-adcomputer -filter "Passwordlastset -lt "1/1/2012"" -properties *| Nonaktifkan-ADAccount

Tugas 10: Menemukan komputer berdasarkan jenisnya

Saya juga sering ditanya bagaimana cara menemukan akun komputer berdasarkan jenisnya, seperti server atau workstation. Ini membutuhkan kreativitas dari Anda. Tidak ada apa pun di AD yang membedakan server dari klien, kecuali mungkin OS. Jika komputer Anda menjalankan Windows Server 2008, Anda harus melakukan beberapa langkah tambahan.
Pertama, Anda perlu mendapatkan daftar sistem operasi, lalu kami memfilter akun berdasarkan sistem operasi yang tersedia.

PS C:\> Dapatkan-ADComputer -Filter * -Properti Sistem Operasi | Pilih Sistem Operasi -unik | Urutkan Sistem Operasi

Hasilnya ditunjukkan pada Gambar 7.


Beras. 7. Mengambil daftar OS

Saya ingin mencari semua komputer yang menjalankan OS server:

PS C:\> Dapatkan-ADComputer -Filter "OperatingSystem -like "*Server*"" -properties OperatingSystem,OperatingSystem ServicePack | Pilih Nama,Op* | daftar format

Hasilnya ditunjukkan pada Gambar 8.

Seperti cmdlet AD Get lainnya, Anda dapat menyesuaikan parameter pencarian dan membatasi permintaan ke OU tertentu jika perlu. Semua ekspresi yang saya tunjukkan dapat diintegrasikan ke dalam ekspresi PowerShell yang lebih besar. Misalnya, Anda dapat mengurutkan, mengelompokkan, menerapkan filter, mengekspor ke CSV, atau membuat dan mengirimkan laporan HTML melalui email - semuanya dari PowerShell! Dalam hal ini, Anda tidak perlu menulis satu skrip pun.
Berikut bonusnya: laporan usia kata sandi pengguna, disimpan dalam file HTML:

PS C:\> Dapatkan-ADUser -Filter "Diaktifkan -eq "True" -DAN PasswordNeverExpires -eq "False"" -Properties PasswordLastSet,PasswordNeverExpires,PasswordExpired | Pilih DistinguishedName,Name,pass*,@(Name="PasswordAge"; Expression=((Get-Date)-$_.PasswordLastSet)) |sort PasswordAge -Descending | ConvertTo-Html -Judul "Laporan Usia Kata Sandi" | Out-File c:\Work\pwage.htm !}

Meskipun ungkapan ini mungkin terlihat sedikit menakutkan, ungkapan ini mudah digunakan dengan pengetahuan minimal tentang PowerShell. Dan hanya satu nasihat terakhir yang tersisa: bagaimana mendefinisikan properti khusus yang disebut Usia Kata Sandi. Nilai tersebut mewakili kesenjangan antara hari ini dan properti PasswordLastSet. Lalu saya mengurutkan hasilnya untuk properti baru saya. Gambar 9 menunjukkan keluaran untuk domain pengujian kecil saya.

Pembaruan:
Postingan tersebut berisi terjemahan artikel di portal

Mereka yang harus berurusan dengan hal-hal seperti spreadsheet Excel yang mencantumkan 200 karyawan baru mulai minggu depan, atau akun pengguna yang dikonfigurasi secara tidak benar karena seseorang di Help Desk mengklik sesuatu yang seharusnya tidak mereka klik, dan Juga, mereka yang tertarik dengan cara yang lebih mudah untuk mengelola Active Directory®, selain membuka folder Pengguna dan Komputer setiap saat, dapat menggunakan salah satu alat administrasi gratis. Beberapa di antaranya sudah terpasang langsung sistem operasi Windows, ada yang disediakan di Resource Kit atau Windows Support Toolkit, dan ada pula yang merupakan produk pihak ketiga gratis. Apa saja produk praktis ini dan di mana saya bisa mendapatkannya? Mari kita cari tahu.
Mari kita mulai dengan alat baris perintah bawaan di Windows Server 2003 yang memungkinkan Anda membuat, menghapus, memodifikasi, dan mencari objek di Direktori Aktif.

Alat CSVDE memungkinkan Anda mengimpor objek baru ke Direktori Aktif menggunakan file CSV asli; itu juga menyediakan kemampuan untuk mengekspor objek yang ada ke file CSV. CSVDE tidak dapat digunakan untuk mengubah objek yang ada; Saat menggunakan alat ini dalam mode impor, Anda hanya dapat membuat objek baru.

Mengekspor daftar objek yang ada menggunakan CSVDE cukup sederhana. Berikut ini menunjukkan cara mengekspor objek Direktori Aktif ke file bernama ad.csv:

csvde –f iklan.csv

Opsi -f menentukan bahwa ini diikuti dengan nama file keluaran. Namun perlu diketahui bahwa, bergantung pada lingkungan Anda, sintaksis dasar ini dapat menghasilkan keluaran file yang besar dan merepotkan. Untuk membatasi alat agar hanya mengekspor objek dalam unit organisasi (OU) tertentu, perintah dapat dimodifikasi sebagai berikut:

csvde –f UsersOU.csv –d ou=Pengguna,dc=contoso,dc=com

Mari kita asumsikan lebih lanjut bahwa saya hanya perlu mengekspor objek pengguna ke file CSV saya. Dalam hal ini, Anda dapat menambahkan opsi –r untuk menentukan filter protokol LDAP untuk pencarian ini, yang akan membatasi jumlah atribut yang diekspor (perhatikan bahwa berikut ini semuanya ada dalam satu baris):

csvde –f UsersOnly.csv –d ou=Pengguna,dc=contoso,dc=com –r
"(&(kategori objek=orang)(kelas objek=pengguna))" –l
DN, Kelas Objek, deskripsi

Opsi –i memungkinkan Anda mengimpor objek ke Direktori Aktif dari file sumber CSV. Namun, membuat objek pengguna dengan CSVDE memiliki satu kelemahan penting: tidak dapat menyetel kata sandi pengguna, jadi saya tidak akan menggunakan CSVDE untuk membuat objek pengguna.

Direktori Aktif menyediakan operasi batch pengguna bawaan kedua yang disebut LDIFDE, yang lebih kuat dan fleksibel dibandingkan CSVDE. Selain membuat objek baru, LDIFDE memungkinkan Anda mengubah dan menghapus objek yang ada dan bahkan memperluas skema Direktori Aktif. Keuntungan dari fleksibilitas LDIFDE adalah file masukan yang diperlukan (file LDIF) dengan ekstensi .ldf menggunakan format yang lebih kompleks daripada file CSV sederhana. (Dengan sedikit usaha, Anda juga dapat mengonfigurasi kata sandi pengguna, tetapi akan dibahas lebih lanjut nanti.)

Mari kita mulai dengan contoh sederhana - mengekspor pengguna di unit bisnis ke file LDF (perhatikan bahwa yang berikut ini semuanya ada dalam satu baris):

ldifde -f pengguna.ldf -s DC1.contoso.com -d "ou=UsersOU,dc=contoso,dc=com"
–r "(&(kategori objek=orang)(kelas objek=pengguna))"

Seperti kebanyakan alat baris perintah, penjelasan lengkap tentang opsi LDIFDE dapat diperoleh dengan menjalankan LDIFDE /? . yang ditampilkan adalah yang saya gunakan di sini. (Perhatikan bahwa parameter untuk perintah CSVDE dan LDIFDE adalah sama.)

Kekuatan sebenarnya dari LDIFDE berasal dari pembuatan dan pengelolaan objek. Namun, sebelum melakukan ini, Anda perlu membuat file input. Kode berikut membuat dua akun pengguna baru - afuller dan rking; Untuk membuat file input, masukkan teks di Notepad (atau editor teks biasa lainnya) dan simpan sebagai NewUsers.ldf:

dn: CN=afuller, OU=UsersOU, DC=contoso, DC=com
tipe perubahan: tambahkan
cn: lebih penuh
kelas objek: pengguna
samAccountName: afuller dn: CN=rking, OU=UsersOU, DC=contoso, DC=com
tipe perubahan: tambahkan
cn:rking
kelas objek: pengguna
samAccountName: rking

Setelah pembuatan file selesai, jalankan perintah berikut:

ldifde –i –f Pengguna Baru.ldf –s DC1.contoso.com

Satu-satunya opsi baru di sini adalah -i, yang, seperti yang Anda duga, menentukan bahwa operasi tersebut mengimpor daripada mengekspor.

Saat memodifikasi atau menghapus objek yang ada, sintaks perintah LDIFDE tidak berubah; sebaliknya, konten file LDF diubah. Untuk mengubah kolom deskripsi akun pengguna, buat file teks bernama ModifyUsers.ldf, seperti yang ditunjukkan pada Gambar. 2.


Beras. 2 Pengguna Modifikasi File LDF

Perubahan diimpor dengan menjalankan sintaks perintah LDIFDE yang sama seperti sebelumnya, menentukan file LDF baru setelah opsi -f. Format LDF untuk menghapus objek bahkan lebih sederhana; Untuk menghapus pengguna yang pernah bekerja dengan Anda, buat file bernama DeleteUsers.ldf dan masukkan yang berikut ini:

dn: CN=lebih lengkap OU=UsersOU, DC=contoso, DC=com
tipe perubahan: hapus dn: CN=rking, OU=UsersOU, DC=contoso, DC=com
tipe perubahan: hapus

Perhatikan bahwa, tidak seperti CSVDE, LDIFDE dapat mengonfigurasi kata sandi pengguna. Namun, sebelum Anda dapat mengonfigurasi atribut unicodePWD pada akun pengguna, Anda harus mengonfigurasi enkripsi SSL/TLS pada pengontrol domain Anda. Selain itu, LDIFDE dapat membuat dan memodifikasi objek Direktori Aktif apa pun, bukan hanya akun pengguna. Misalnya, file LDF berikut akan membuat ekstensi skema baru yang disebut EmployeeID-example di skema forest contoso.com:
dn: cn=contoh ID Karyawan,cn=Skema,
cn=Konfigurasi,dc=contoso,dc=com
tipe perubahan: tambahkan
adminDisplayName: EmployeeID-Contoh
ID atribut: 1.2.3.4.5.6.6.6.7
atributSintaks: 2.5.5.6
cn: ID Karyawan
tipe instans: 4
isSingleValued: Benar
lDAPDisplayName: contoh ID karyawan

Karena file LDIFDE menggunakan format file LDAP standar industri, aplikasi pihak ketiga yang perlu mengubah skema Direktori Aktif sering kali menyediakan file LDF yang dapat digunakan untuk meninjau dan menyetujui perubahan sebelum menerapkannya ke lingkungan produksi.

Selain alat untuk operasi impor dan ekspor batch, Windows Server 2003 menyertakan alat bawaan yang memungkinkan Anda membuat, menghapus, dan memodifikasi berbagai objek Direktori Aktif, serta objek kueri yang memenuhi kriteria tertentu. (Perhatikan bahwa alat ini, dsadd, dsrm, dsget, dan dsquery, tidak didukung oleh Active Directory pada Windows 2000.)

Dsadd digunakan untuk membuat instance kelas objek Direktori Aktif di partisi direktori tertentu. Kelas-kelas ini mencakup Pengguna, Komputer, Kontak, Grup, Unit Bisnis, dan Kuota. Perhatikan bahwa setiap tipe objek yang dibuat memerlukan sekumpulan parameter khusus yang sesuai dengan atribut yang tersedia untuk tipe tersebut. Perintah ini membuat satu objek pengguna dengan berbagai atribut yang terisi (perhatikan bahwa yang berikut ini semuanya ada dalam satu baris):

tambahkan pengguna cn=afuller,ou=IT,dc=contoso,dc=com
–samID afuller –fn Andrew –ln Fuller –pwd *
-memberOf cn=IT,ou=Grup,dc=contoso,dc=com "cn=Help Desk,ou=Grup,
dc=contoso,dc=com"
–desc "Direktur Pemasaran"
Parameter -memberOf memerlukan nama khusus (DN) yang sepenuhnya memenuhi syarat dari setiap grup tempat pengguna harus ditambahkan; jika Anda perlu menambahkan pengguna ke beberapa grup, Anda dapat menambahkan beberapa DN yang dipisahkan dengan spasi. Jika sebuah elemen, ucapkan DN grup Help Desk, berisi spasi, elemen ini harus ditempatkan dalam tanda kutip ganda. Jika suatu elemen, misalnya unit bisnis IT\EMEA, berisi garis miring terbalik, Anda harus memasukkan garis miring terbalik dua kali: IT\\EMEA. (Persyaratan ini berlaku untuk semua alat ds*.) Menggunakan opsi -pwd * akan meminta Anda memasukkan kata sandi untuk pengguna pada baris perintah. Kata sandi dapat ditentukan dalam perintah itu sendiri (-pwd P@ssword1), tetapi kemudian akan ditampilkan dalam teks yang jelas di layar atau dalam file teks atau skrip apa pun yang memasukkan perintah tersebut.

Demikian pula, Anda dapat membuat objek grup dan unit bisnis menggunakan dua perintah berikut:

tambahkan komputer cn=WKS1,ou=Workstations,dc=contoso,dc=com
dsadd ou "ou=Pelatihan OU,dc=contoso,dc=com"

Dsmod digunakan untuk memodifikasi objek yang ada, dan cara kerjanya hampir sama seperti dsadd, menggunakan submenu dan sintaksis yang berbeda tergantung pada jenis objek yang dimodifikasi. Perintah dsmod berikut mengubah kata sandi pengguna dan memodifikasi akun mereka sehingga mereka diminta untuk mengubah kata sandi saat mereka masuk lagi:

pengguna dsmod "cn=afuller,ou=IT,dc=contoso,dc=com" –pwd P@ssw0rd1
–mustchpwd ya

Untuk melihat seberapa mirip opsi ini, lihat sintaks dsadd yang digunakan untuk membuat pengguna dengan atribut yang sama yang dikonfigurasi:

tambahkan pengguna "cn=afuller,ou=IT,dc=contoso,dc=com" –pwd P@ssw0rd1
–mustchpwd ya

Tentunya jika Anda mengetahui parameter untuk membuat objek menggunakan dsadd, Anda dapat menggunakannya untuk mengubah pengguna menggunakan dsmod.

Kebalikan dari dsadd adalah dsrm; Seperti yang Anda bayangkan, alat ini digunakan untuk menghapus objek dari baris perintah. Sintaks dasar untuk dsrm cukup mudah: cukup ketik dsrm diikuti dengan nama objek yang ingin Anda hapus, kira-kira seperti ini:

dsrm cn=WKS1,ou=Stasiun Kerja,dc=contoso,dc=com

Secara default, dsrm akan menanyakan "Apakah Anda yakin ingin menghapus objek ini?" Ketik Y dan tekan Enter. Permintaan ini dapat dinonaktifkan menggunakan parameter –noprompt, tetapi, jelas, dalam kasus ini, kesempatan untuk mengonfirmasi bahwa objek telah dipilih dengan benar sebelum dihapus akan hilang. Dua opsi tambahan dapat berguna saat menghapus objek kontainer, yaitu unit struktural yang berpotensi berisi objek lain. Perintah berikut menghapus unit organisasi TrainingOU dan semua objek yang ada di dalamnya:

Dan yang ini menghapus semua objek anak di TrainingOU, tetapi tidak menyentuh unit struktural itu sendiri:

dsrm ou=TrainingOU,dc=contoso,dc=com –subpohon
-mengecualikan

Anda dapat menggunakan alat dsmove untuk memindahkan atau mengganti nama objek di Direktori Aktif, namun perhatikan bahwa alat ini hanya dapat digunakan untuk memindahkan objek dalam domain. Untuk memigrasi objek antar domain atau hutan, gunakan Alat Migrasi Direktori Aktif (ADMT), yang dapat diunduh gratis dari Microsoft. Dsmove mengandalkan dua parameter, yang dapat digunakan secara terpisah atau bersamaan. Perintah ini mengubah nama belakang pada akun pengguna Steve Conn:

dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com"
–nama baru "Steve Conn"

Perintah ini memindahkan akun Steve dari unit organisasi TI ke unit organisasi Pelatihan:

dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com" –orang tua baru
ou=Pelatihan,dc=contoso,dc=com

Penggantian nama dan transfer dapat dilakukan dalam satu operasi dengan menentukan kedua parameter sekaligus:

dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com" –nama baru
"Steve Conn" –orang tua baru ou=Pelatihan,dc=contoso,dc=com

Dsget dan Dsquery

Alat baris perintah ds* juga menyertakan dua alat yang digunakan untuk menanyakan informasi Direktori Aktif, bukan untuk membuat atau memodifikasi objek.

Dsget mengambil input nama khusus (DN) suatu objek dan mengembalikan nilai atribut atau atribut yang ditentukan. Dsget menggunakan submenu yang sama dengan dsadd dan dsmod - "pengguna", "komputer", "kontak", "grup", "divisi" dan "kuota".

Untuk mendapatkan nama akun SAM dan ID keamanan (SID) akun pengguna, masukkan perintah berikut (perhatikan bahwa perintah berikut semuanya ada dalam satu baris):

dapatkan pengguna cn=afuller,ou=IT,dc=contoso,dc=com
–samNamaAkun –sid

Hasilnya akan serupa dengan yang ditunjukkan pada Gambar. 3.

Beras. 3 Cara kerja dsget

Dsquery mengembalikan daftar objek Direktori Aktif yang cocok dengan kriteria yang ditentukan.

Dsquery dapat menggunakan submenu berikut, masing-masing dengan sintaksnya sendiri, untuk ObjectType: "komputer", "kontak", "subnet", "grup", "unit bisnis", "situs web", "server" (perhatikan bahwa submenu Server mengambil data tentang pengontrol domain, bukan server di lingkungan Anda), "pengguna", "kuota", dan "partisi". Dan jika salah satu jenis kueri ini tidak sesuai dengan kebutuhan Anda, Anda dapat menggunakan submenu * untuk memasukkan kueri LDAP bentuk bebas.StartNode menentukan lokasi pohon Direktori Aktif tempat pencarian akan dimulai. Anda dapat menggunakan DN tertentu, seperti ou=IT,dc=contoso,dc=com, atau salah satu deskriptor jalur pendek berikut: domainroot, dimulai dari akar domain tertentu, atau forestroot, dimulai dari akar domain tertentu. domain akar hutan, menggunakan server katalog global untuk melakukan pencarian. Terakhir, parameter lingkup pencarian menentukan bagaimana dsquery harus mencari pohon Direktori Aktif. Survei subpohon (opsi default) mengakses StartNode yang ditentukan dan semua turunannya, survei saudara hanya mengakses turunan terdekat dari StartNode, dan survei dasar hanya mengakses objek StartNode. Untuk lebih memahami cakupan penelusuran, bayangkan sebuah unit organisasi (OU) berisi objek pengguna dan OU turunan, yang juga berisi objek tambahan. Saat menggunakan subpohon sebagai cakupan, OU, semua objek pengguna di dalamnya, OU turunan, dan kontennya akan ditanyakan. Dengan cakupan tingkat tunggal, hanya pengguna yang terdapat dalam OU yang akan dikueri, namun bukan OU turunan dan kontennya. Kueri dasar hanya akan mengkueri OU itu sendiri, tanpa menanyakan objek yang dikandungnya. Terakhir, Anda bisa menggunakan format keluaran untuk mengontrol bagaimana hasil kueri diformat. Secara default, dsquery mengembalikan nama-nama khusus dari semua objek yang cocok dengan kueri, seperti ini:

"cn=afuller,ou=Pelatihan,dc=contoso,dc=com"
"cn=rking,ou=ITTraining,ou=Training,dc=contoso,dc=com" Untuk menanyakan semua objek pengguna yang terdapat dalam unit bisnis TI dan OU turunannya, gunakan yang berikut ini:

pengguna kueri ou=IT,dc=contoso,dc=com

Kueri dapat dibuat lebih tepat dengan menambahkan opsi tambahan, seperti -disabled, yang hanya mengembalikan akun pengguna yang dinonaktifkan; -tidak aktif x, hanya mengembalikan pengguna yang tidak terhubung selama x minggu atau lebih; atau -stalepwd x, hanya mengembalikan pengguna yang belum mengubah kata sandinya selama x hari atau lebih.

Bergantung pada jumlah objek dalam direktori, Anda mungkin perlu menentukan opsi -limit x saat menjalankan kueri. Secara default, dsquery mengembalikan hingga 100 objek yang cocok dengan parameter kueri; tetapi Anda dapat menentukan angka yang lebih besar, misalnya -limit 500, atau menggunakan -limit 0 agar dsquery mengembalikan semua objek yang cocok.

Anda juga dapat menggunakan submenu lain untuk melakukan kueri berguna pada tipe objek lain. Pertimbangkan kueri berikut, yang mengembalikan setiap subnet yang ditentukan dalam Situs dan Layanan Direktori Aktif dan disertakan dalam ruang alamat 10.1.x.x:

subnet permintaan –nama 10.1.*

Dan perintah berikut dapat digunakan untuk mengembalikan setiap subnet yang terletak di website Corp:

subnet dsquery –site Corp

Dengan menggunakan submenu berikutnya, Anda dapat dengan cepat menentukan berapa banyak pengontrol domain di hutan yang dikonfigurasi untuk berfungsi sebagai server katalog global:

server permintaan –hutan –isgc

Anda juga dapat menggunakan sintaksis ini untuk mempermudah mengidentifikasi pengontrol domain di domain tertentu yang berisi peran FSMO dari emulator pengontrol domain primer (PDC):

server permintaan –hasfsmo pdc

Seperti perintah ds* lainnya yang menyertakan submenu, semua opsi yang tersedia di submenu dsquery tertentu dapat dilihat dengan memasukkan garis komando dan memasukkan dsquery user /?, dsquery computer /?, dsquery subnet /?, dan seterusnya.

Trik tambahannya adalah menyalurkan data dsquery keluar ke alat lain, seperti dsmod, menggunakan | (SHIFT+garis miring terbalik untuk tata letak keyboard bahasa Inggris). Misalnya, sebuah perusahaan telah mengganti nama departemen dari “Pelatihan” menjadi “Pengembangan Internal”, dan sekarang perlu memperbarui kolom deskripsi untuk setiap pengguna yang tergabung dalam departemen ini. Dengan satu baris perintah, Anda bisa mengkueri semua objek pengguna yang memiliki bidang deskripsi Penyediaan, lalu mengganti bidang deskripsi tersebut untuk seluruh paket sebagai berikut:

pengguna dsquery –deskripsi "Pelatihan" | dsmod
-deskripsi "Perkembangan Internal"

Beberapa temuan pihak ketiga

Karena Direktori Aktif didasarkan pada standar LDAP, Anda dapat melakukan kueri dan mengubahnya menggunakan alat apa pun yang memahami LDAP. Banyak vendor pihak ketiga telah merilis alat berbayar untuk membantu administrasi Direktori Aktif, namun terkadang Anda dapat menemukan permata asli yang gratis. Hal ini terutama berlaku untuk koleksi yang dibuat oleh layanan direktori MVP Joe Richards dan tersedia untuk diunduh di joeware.net/freetools. Di dalamnya Anda dapat menemukan banyak alat yang berfungsi untuk memecahkan berbagai masalah. Tiga di antaranya yang selalu saya kembalikan adalah adfind, admod, dan oldcmp.

Temukan dan Admod

Adfind dan admod mirip dengan dsquery dan dsmod; adfind adalah alat kueri baris perintah untuk Direktori Aktif, dan admod dapat membuat, menghapus, atau memodifikasi objek Direktori Aktif.

Berbeda dengan alat ds*, yang memiliki banyak submenu dan opsi berbeda bergantung pada jenis objek, adfind dan admod menggunakan sintaks yang sama terlepas dari jenis kueri atau perubahan yang dilakukan. Sintaks dasar untuk adfind adalah:

temukan –b -s -f
atributDiinginkan

Kueri untuk nama khusus dan deskripsi semua objek komputer dalam suatu domain akan terlihat seperti:

adfind –b dc=contoso,dc=com –s subpohon –f (kelas objek=komputer) dn
keterangan

Kueri untuk semua objek pengguna akan terlihat seperti:

adfind –b dc=contoso,dc=com –s subpohon –f "(&(objectcategory=orang)
(kelas objek=pengguna))" dan deskripsi

Perhatikan bahwa kecuali untuk menanyakan konten LDAP, sintaksisnya tidak berubah.

Saat bekerja dengan adfind, Anda dapat menemukan beberapa pintasan untuk menulis parameter yang menghilangkan pekerjaan mengetik yang tidak perlu. Misalnya, opsi -default dapat menggantikan -b dc=contoso,dc=com pada contoh sebelumnya dan mencari seluruh domain; -gc mencari berdasarkan pengumpulan sampah (GC) dan mengembalikan semua pengguna di hutan Direktori Aktif Anda. Opsi -rb juga dapat digunakan untuk mengatur basis relatif untuk pencarian; jika, misalnya, Anda perlu menemukan unit struktural “Pelatihan” di domain phl.east.us.contoso.com, maka Anda dapat menghemat waktu secara signifikan hanya dengan menentukan –default –rb ou=Training, alih-alih –b ou= Pelatihan, dc=phl, dc=timur,dc=kita,dc=contoso,dc=com.

Adfind juga dapat melakukan sejumlah fungsi pencarian lanjutan yang sulit dikelola dari baris perintah tanpanya.

Contoh penggunaan opsi -asq akan meminta "Tunjukkan kepada saya keanggotaan grup anggota HelpDesk" seperti ini:

adfind –default –rb cn=HelpDesk,ou=IT –asq anggota memberOf

Admod, seperti nama programnya, digunakan untuk memodifikasi objek di Active Directory. Seperti halnya adfind, tidak ada submenu khusus dengan sintaksnya sendiri yang perlu Anda ingat; admod menggunakan sintaks yang sama terlepas dari jenis objek yang sedang diproses. Admod juga dapat digunakan untuk menambah, memindahkan, mengganti nama, menghapus, dan bahkan memulihkan objek hanya dengan menambahkan opsi yang sesuai, misalnya -add, -rm, -move, -undel. Dan seperti di dsquery dan dsmod, | dapat digunakan untuk menyalurkan data permintaan adfind ke admod.

Perhatikan bahwa melakukan pemulihan menggunakan admod adalah operasi sederhana untuk memulihkan objek batu nisan yang sebagian besar atribut objeknya telah dihapus. Untuk memulihkan objek sepenuhnya dengan semua atribut, Anda perlu melakukan restorasi paksa pada objek tersebut.

Ada alat lain dari kumpulan program Joe yang saya anggap sebagai bagian penting dari perangkat otomatisasi saya: oldcmp, yang mencari database Direktori Aktif untuk kredensial komputer yang tidak digunakan selama beberapa minggu tertentu dan dapat melakukan hal berikut:

  • membuat laporan tentang akun tanpa mengambil tindakan apa pun terhadap akun tersebut;
  • nonaktifkan akun komputer yang tidak digunakan;
  • memindahkan akun komputer ke unit struktural lain yang telah ditentukan sebelumnya;
  • menghapus sepenuhnya akun komputer.

Saya perhatikan bahwa karena oldcmp dapat menyebabkan kekacauan direktori yang serius, ia hadir dengan beberapa fitur keamanan bawaan. Itu tidak menghapus akun yang sebelumnya tidak dinonaktifkan (kecuali Anda mengatakan "Tidak, saya benar-benar ingin melakukan ini!" pada baris perintah). Itu tidak mengubah lebih dari 10 objek sekaligus (kecuali, sekali lagi, secara khusus dinyatakan lain), dan itu tidak akan pernah melakukan apa pun pada akun komputer pengontrol domain.

Joe kini telah memperbarui oldcmp sehingga juga dapat menjalankan fungsi serupa pada akun pengguna yang tidak digunakan dalam jangka waktu tertentu.

Untuk lingkungan Direktori Aktif yang kecil, atau lingkungan di mana Anda bekerja hanya dengan satu atau dua penambahan atau perubahan pada satu waktu, alat GUI seperti Pengguna Direktori Aktif dan Komputer mungkin cukup untuk administrasi sehari-hari, namun perlu ditambahkan setiap hari, atau mengubah objek dalam jumlah besar atau sekadar ingin mencari solusi yang lebih efisien untuk tugas administratif, beralih ke baris perintah dapat mempercepat proses pembuatan, perubahan, dan penghapusan objek di Direktori Aktif. Seperti yang ditunjukkan di atas, ada sejumlah alat gratis yang fleksibel dan kuat yang tersedia, baik yang dibangun di Windows dan didistribusikan oleh anggota komunitas Direktori Aktif. Salah satu dari mereka dapat meningkatkan produktivitas administrator Direktori Aktif, dan bersama-sama mereka menjadi lebih penting untuk pekerjaan sehari-harinya.

Laura E. Hunter adalah Microsoft MVP empat kali untuk Alat Jaringan Server Windows. Dia adalah penulis Panduan Referensi Direktori Aktif edisi kedua (O'Reilly, 2006). Dengan pengalaman sepuluh tahun di industri TI, Laura kini bekerja sebagai desainer Direktori Aktif di sebuah perusahaan teknik kelas dunia. Dia juga memegang beberapa sertifikasi industri, sertifikasi dan sering menjadi pembicara pada pertemuan kelompok pengguna dan konferensi industri.