ค้นหาเว็บไซต์

ปรับใช้ PowerShell Active Directory Module โดยไม่ต้องติดตั้ง RSAT


ในบทความก่อนหน้านี้เราได้แสดงวิธีใช้ Set-ADComputer cmdlet ในสคริปต์การเข้าสู่ระบบ GPO เพื่อบันทึกข้อมูลผู้ใช้ปัจจุบันที่เข้าสู่ระบบไปยังคุณสมบัติของออบเจ็กต์คอมพิวเตอร์ AD แต่ละรายการ ผู้วิจารณ์คนหนึ่งตั้งข้อสังเกตอย่างมีเหตุผลว่า ในการดำเนินการดังกล่าว คุณจะต้องติดตั้ง RSAT ด้วย Active Directory สำหรับ Windows PowerShell บนคอมพิวเตอร์ของผู้ใช้ทั้งหมดซึ่งอาจใช้เวลานาน ฉันตัดสินใจที่จะลองดูว่าคุณสามารถใช้ PowerShell ActiveDirectory Module cmdlets โดยไม่ต้องติดตั้ง RSAT บนคอมพิวเตอร์ของผู้ใช้ได้หรือไม่ และฉันก็ทำสำเร็จ!

สมมติว่าเรามีเซิร์ฟเวอร์ที่ใช้ Windows Server 2012 R2 ซึ่งติดตั้งโมดูล RSAT และ RSAT-AD-PowerShell งานของเราคือการคัดลอกไฟล์ RSAT-AD-PowerShell ไปยังเวิร์กสเตชันของผู้ใช้และนำเข้าไฟล์เหล่านั้นเพื่อเรียกใช้ cmdlets โมดูล AD ต่างๆ ฉันจงใจใช้คอมพิวเตอร์ที่ใช้ Windows 10 LTSC (ตามรุ่น 1809) เป็นเวิร์กสเตชันเพื่อแสดงว่า RSAT-AD-PowerShell เวอร์ชันก่อนหน้าได้รับการสนับสนุนใน OS เวอร์ชันใหม่กว่า

ก่อนอื่น เรามาคัดลอกไฟล์โมดูล AD ทั้งหมดจาก Windows Server 2012 R2 ไปยัง Windows 10 สร้างโฟลเดอร์ C:\PS\ADPoSh และคัดลอกเนื้อหาทั้งหมดของ C:\Windows\System32\WindowsPowerShell 1.0\Modules\ActiveDirectory เพื่อมัน.

จากนั้นคัดลอกไฟล์ต่อไปนี้จากโฟลเดอร์ C:\Windows\WinSxS:

  • Microsoft.ActiveDirectory.Management.dll

  • Microsoft.ActiveDirectory.Management.resources.dll

คุณสามารถค้นหาไลบรารีเหล่านี้ได้โดยค้นหาโฟลเดอร์ WinSxS ในตัวอย่างของฉัน เส้นทางแบบเต็มใน Windows Server 2012 R2 มีดังนี้:

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

จากนั้นคัดลอกโฟลเดอร์ C:\PS\ADPoSh (ในกรณีของฉัน ขนาดประมาณ 1.3MB) ไปยังคอมพิวเตอร์ Windows 10 ที่ไม่ได้ติดตั้งโมดูล RSAT AD สำหรับ Windows PowerShell

ลองนำเข้าโมดูล Active Directory ที่คัดลอกไปยังเซสชัน PowerShell ปัจจุบัน:

Import-Module "C:\PS\ADPoSh\Microsoft.ActiveDirectory.Management.dll"
Import-Module "C:\PS\ADPoSh\Microsoft.ActiveDirectory.Management.resources.dll"

นำเข้าโมดูลสำเร็จแล้ว และคุณสามารถใช้ AD module cmdlet ใดก็ได้เพื่อจัดการและรับข้อมูลจากโดเมน AD ของคุณ (เช่น Get-ADUSer, Get-ADComputer, Get-ADGroup เป็นต้น)

หากข้อผิดพลาด ไม่สามารถติดต่อกับเซิร์ฟเวอร์ได้ อาจเป็นเพราะเซิร์ฟเวอร์นี้ไม่มีอยู่ เซิร์ฟเวอร์ไม่ทำงาน หรือไม่มี Active Directory Web Services ที่ทำงานอยู่' เกิดขึ้น ตรวจสอบให้แน่ใจว่า Active Directory Web Services (ADWS) บนตัวควบคุมโดเมนที่ใกล้เคียงที่สุดทำงานอยู่ และพอร์ต TCP 9389 ไม่ถูกบล็อกโดยไฟร์วอลล์

คุณสามารถค้นหา DC ที่มีบทบาท ADWS ในโดเมนของคุณโดยใช้คำสั่ง:

Get-ADDomainController -Discover -Service “ADWS”

คุณสามารถตรวจสอบการเข้าถึงบริการ ADWS ได้โดยใช้ Test-NetConnection cmdlet:

Test-NetConnection DC01 -port 9389

เมื่อต้องการเรียกใช้ cmdlets กับตัวควบคุมโดเมนเฉพาะ ให้ใช้พารามิเตอร์ -Server:

Get-ADUser jbrion -server dc01.a-d.site

คุณสามารถใช้ cmdlets โมดูล PowerShell AD ได้จนกว่าคุณจะปิดเซสชัน PowerShell คุณสามารถคัดลอกไฟล์โมดูล AD ไปยังคอมพิวเตอร์โดเมนทั้งหมดโดยใช้ GPO

บทความที่เกี่ยวข้อง