Menggunakan PowerShell Active Directory tanpa menginstal RSAT

Dalam artikel sebelumnya, kami menunjukkan cara menggunakan cmdlet Set-ADComputer dalam skrip logon untuk menyimpan informasi tentang pengguna saat ini di properti masing-masing komputer dalam AD. Salah satu komentator cukup mencatat bahwa dalam hal ini Anda harus menginstal RSAT dengan modul Active Directory for Windows PowerShell pada komputer semua pengguna, yang agak melelahkan. Saya memutuskan untuk mencoba mencari tahu apakah Gunakan Modul PS untuk cmdlet AD tanpa memasangnya untuk pengguna komputer. Dan saya berhasil!

Jadi, katakanlah kita memiliki server dengan Windows Server 2012 R2, di mana RSAT dan modul RSAT-AD-PowerShell diinstal. Tugas kita adalah menyalin file modul RSAT-AD-PowerShell ke workstation dan mencoba mengimpornya untuk menjalankan berbagai cmdlet dari modul AD. Sebagai workstation, saya secara khusus menggunakan Windows 10 LTSC (berdasarkan 1809) untuk menunjukkan bahwa versi yang lebih lama dari modul RSAT-AD-PowerShell didukung dalam sistem operasi yang lebih baru.

Pertama, salin semua file modul AD yang diperlukan dari Windows Server 2012 R2. Buat folder C: \ PS \ ADPoSh dan salin isi direktori ke dalamnya C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ Modul.

Kemudian dari direktori C: \ Windows \ WinSxS, salin file:

  • Microsoft.ActiveDirectory.Management.dll
  • Microsoft.ActiveDirectory.Management.resources.dll
Perpustakaan ini dapat ditemukan dengan mencari direktori WinSxS. Dalam contoh saya di Windows Server 2012 R2, path lengkap tampak seperti ini:

"C: \ Windows \ WinSxS \ amd64_microsoft.activedirectory.management_31bf3856ad364e35_6.3.9600.16503_none_09aa35cd49da6068 \ Microsoft.ActiveDirectory.Management.dll"

Dan

"C: \ Windows \ WinSxS \ amd64_microsoft.activedir ... anagement.resources_31bf3856ad364e35_6.3.9600.16384_en-us_efefcf68718a71bc \ Microsoft.ActiveDirectory.Management.resources.dll"

Sekarang salin direktori C: \ PS \ ADPoSh (dalam kasus saya, ukurannya sekitar 1,3 MB) ke komputer yang tidak memiliki modul RSAT AD untuk Windows PowerShell. Dalam contoh ini, saya menggunakan komputer dengan Windows 10.

Mari kita coba mengimpor modul Active Directory yang disalin ke dalam sesi PowerShell saat ini:

Modul Impor "C: \ PS \ ADPoSh \ Microsoft.ActiveDirectory.Management.dll"

Modul Impor "C: \ PS \ ADPoSh \ Microsoft.ActiveDirectory.Management.resources.dll"

Modul telah berhasil diimpor, sekarang Anda dapat menggunakan cmdlet apa saja dari modul AD untuk mengelola dan mengambil informasi dari domain AD (misalnya, get-aduser, get-adcomputer, get-adgroup, dll.).

Ketika kesalahan terjadi 'Tidak dapat menghubungi server. Ini mungkin karena server ini tidak ada, saat ini sedang down, atau tidak memiliki Layanan Web Direktori Aktif yang berjalan'perlu memverifikasi bahwa Layanan Web Direktori Aktif (ADWS) pada pengontrol domain terdekat dimulai dan bahwa port TCP 9389 tidak diblokir oleh firewall.

Anda dapat menemukan di domain DC dengan peran ADWS dengan perintah:

Dapatkan-ADDomainController -Discover -Layanan "ADWS"

Anda dapat memverifikasi ketersediaan layanan menggunakan cmdlet Test-NetConnection:

tnc MSK-DC01 -port 9389

Untuk menjalankan cmdlet pada DC tertentu, Anda perlu menggunakan parameter -Server:

Dapatkan-aduser aaivanov -server msk-dc01.winitpro.ru

Anda dapat menggunakan cmdlet modul AD hingga Anda menutup sesi PowerShell. File modul Anda dapat menyalin file ke semua komputer di domain melalui GPO,