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

วิธีการติดตั้งโมดูล PowerShell Active Directory และจัดการโฆษณา


ผู้ดูแลระบบ Windows ทุกคนควรสามารถใช้สแน็ปอิน AD แบบกราฟิกได้ (โดยปกติคือ ADUC, ผู้ใช้ Active Directory และคอมพิวเตอร์) แต่ยังรวมถึง PowerShell cmdlets เพื่อทำงานการดูแลระบบ Active Directory ทุกวัน โดยทั่วไป โมดูล Active Directory สำหรับ Windows PowerShell จะใช้สำหรับงานการจัดการโดเมนและวัตถุ (ผู้ใช้ คอมพิวเตอร์ กลุ่ม) ในบทความนี้ เราจะดูวิธีการติดตั้ง

RSAT-AD-PowerShell

โมดูลบน Windows ค้นพบคุณสมบัติพื้นฐาน และ cmdlet ยอดนิยมที่มีประโยชน์ในการจัดการและโต้ตอบกับ AD

จะติดตั้งโมดูล Active Directory PowerShell บน Windows 10 และ 11 ได้อย่างไร

คุณสามารถติดตั้งโมดูล RSAT-AD PowerShell ได้ไม่เพียงแค่บนเซิร์ฟเวอร์เท่านั้น แต่ยังรวมถึงบนเวิร์กสเตชันด้วย โมดูลนี้รวมอยู่ในแพ็คเกจ RSAT (Remote Server Administration Tools) สำหรับ Windows

ในรุ่นปัจจุบันของ Windows 11 และ Windows 10 คอมโพเนนต์ RSAT จะได้รับการติดตั้งแบบออนไลน์เป็นคุณลักษณะตามความต้องการ คุณสามารถติดตั้งโมดูลโดยใช้คำสั่ง:

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

หรือผ่านการตั้งค่า -> แอป -> คุณลักษณะเสริม -> เพิ่มคุณลักษณะ -> RSAT: Active Directory Domain Services และ Lightweight Directory Services Tools

ต้องดาวน์โหลดและติดตั้งแพ็คเกจ RSAT บน Windows รุ่นก่อนหน้าด้วยตนเอง หลังจากนั้น คุณต้องเปิดใช้งานโมดูล AD สำหรับ PowerShell จากแผงควบคุม: โปรแกรมและคุณลักษณะ -> เปิดหรือปิดคุณลักษณะของ Windows -> เครื่องมือการดูแลระบบเซิร์ฟเวอร์ระยะไกล -> เครื่องมือการดูแลระบบบทบาท -> เครื่องมือ AD DS และ AD LDS

คุณต้องติดตั้งโมดูล WindowsCompatibility ก่อนเพื่อใช้ AD cmdlets ใน PowerShell Core 6.x, 7.x:

Install-Module -Name WindowsCompatibility

จากนั้นโหลดโมดูลเข้าสู่เซสชันของคุณ:

Import-Module -Name WindowsCompatibility
Import-WinModule -Name ActiveDirectory

ตอนนี้คุณสามารถใช้ AD cmdlets ในสคริปต์ PowerShell Core 7.x ของคุณได้แล้ว

จะติดตั้ง PowerShell เวอร์ชันล่าสุดบน Windows ได้อย่างไร

การติดตั้งโมดูล RSAT-AD-PowerShell บน Windows Server

บน Windows Server คุณสามารถติดตั้ง Active Directory Module สำหรับ Windows PowerShell จากคอนโซลกราฟิก Server Manager หรือโดยใช้ PowerShell

คุณสามารถตรวจสอบว่ามีการติดตั้งโมดูล Active Directory ด้วยคำสั่ง:

Get-WindowsFeature -Name "RSAT-AD-PowerShell"

หากไม่มีโมดูล ให้ติดตั้ง:

Install-WindowsFeature -Name "RSAT-AD-PowerShell" -IncludeAllSubFeature

หากต้องการติดตั้งโมดูลผ่าน Server Manager ให้ไปที่ Add Roles and Features -> Features -> Remote Server Administration Tools -> Role Administration Tools -> AD DS and AD LDS Tools -> เปิดใช้งาน โมดูล Active Directory สำหรับ Windows PowerShell

คุณไม่จำเป็นต้องใช้เซสชันตัวควบคุมโดเมนภายในเครื่องเพื่อจัดการ Active Directory โดยใช้โมดูล RSAT-AD PowerShell โมดูลนี้สามารถติดตั้งบนเซิร์ฟเวอร์สมาชิกหรือเวิร์กสเตชันใดก็ได้ บนตัวควบคุมโดเมน AD โมดูลจะถูกติดตั้งโดยอัตโนมัติเมื่อมีการปรับใช้บทบาท Active Directory Domain Services (AD DS) (เมื่อเซิร์ฟเวอร์ได้รับการเลื่อนระดับเป็น DC)

โมดูลโต้ตอบกับ AD ผ่าน Active Directory Web Service ที่ต้องทำงานบนตัวควบคุมโดเมนของคุณและพร้อมใช้งานกับไคลเอนต์บนพอร์ต TCP 9389 ใช้ cmdlet ทดสอบ NetConnection เพื่อตรวจสอบว่าพอร์ตนี้ไม่ถูกบล็อก โดยไฟร์วอลล์บน DC:

Test-NetConnection MUN-DC1 -port 9389

การดูแลระบบ Active Directory ด้วย PowerShell

โมดูล Active Directory สำหรับ Windows PowerShell มี cmdlet จำนวนมากสำหรับการโต้ตอบกับโฆษณา มี 147 AD PowerShell cmdlets ที่พร้อมใช้งานในเวอร์ชันปัจจุบันของโมดูลสำหรับ Windows Server 2022/Windows 11

ตรวจสอบว่าติดตั้งโมดูลบนคอมพิวเตอร์แล้ว:

Get-Module -Name ActiveDirectory -ListAvailable

ก่อนที่คุณจะสามารถใช้ cmdlets โมดูล Active Directory คุณต้องนำเข้าไปยังเซสชัน PowerShell ของคุณ (เริ่มจาก Windows Server 2012 R2/ Windows 8.1 โมดูลจะถูกนำเข้าโดยอัตโนมัติ)

Import-Module ActiveDirectory

ตรวจสอบให้แน่ใจว่าโหลดโมดูล AD ในเซสชัน PowerShell ของคุณแล้ว:

Get-Module

คุณสามารถแสดงรายการ Active Directory cmdlet ที่มีอยู่ทั้งหมดได้:

Get-Command -module ActiveDirectory

จำนวน cmdlet ทั้งหมดในโมดูล AD:

Get-Command -module ActiveDirectory |measure-object|select count

cmdlet โมดูล RSAT-AD PowerShell ส่วนใหญ่เริ่มต้นด้วย

Get-

,

Set-

หรือ

New-

คำนำหน้า

  • รับ- class cmdlet ใช้เพื่อรับข้อมูลที่แตกต่างจาก Active Directory (

    Get-ADUser

    — คุณสมบัติผู้ใช้

    Get-ADComputer

    - การตั้งค่าคอมพิวเตอร์

    Get-ADGroupMember

    — การเป็นสมาชิกกลุ่ม ฯลฯ) คุณไม่จำเป็นต้องเป็นผู้ดูแลระบบโดเมนเพื่อใช้ cmdlet เหล่านี้ ผู้ใช้โดเมนใดๆ สามารถเรียกใช้คำสั่ง PowerShell เพื่อรับค่าของแอตทริบิวต์ของวัตถุ AD (ยกเว้นค่าที่เป็นความลับ เช่นในตัวอย่างกับ LAPS)

  • cmdlet คลาส Set- ใช้เพื่อตั้งค่า (เปลี่ยน) คุณสมบัติของวัตถุใน Active Directory ตัวอย่างเช่น คุณสามารถเปลี่ยนคุณสมบัติของผู้ใช้ (Set-ADUSer) การตั้งค่าคอมพิวเตอร์ (Set-ADComputer) ฯลฯ ในการดำเนินการเหล่านี้ บัญชีของคุณต้องมีสิทธิ์ในการเขียน วัตถุที่คุณต้องการแก้ไข (ดูบทความวิธีมอบสิทธิ์ผู้ดูแลระบบใน Active Directory)

  • คำสั่งที่ขึ้นต้นด้วย New- ช่วยให้คุณสร้างวัตถุ AD (สร้างผู้ใช้ —

    New-ADUser

    , สร้างกลุ่ม —

    New-ADGroup 

    สร้างหน่วยองค์กร —

    New-ADOrganizationalUnit

    );

  • Cmdlets ที่ขึ้นต้นด้วย Add-: เพิ่มผู้ใช้ลงในกลุ่ม (

    Add-ADGroupMember

    ) เพิ่มนโยบายรหัสผ่านแบบละเอียด (

    Add-ADFineGrainedPasswordPolicySubject

    );

  • ลบ- cmdlet ใช้เพื่อลบวัตถุโฆษณา

    Remove-ADGroup

    ,

    Remove-ADComputer

    ,

    Remove-ADUser

    ).

มี PowerShell cmdlets เฉพาะที่คุณสามารถใช้จัดการส่วนประกอบ AD บางอย่างเท่านั้น:

  • Enable-ADOptionalFeature

    - เปิดใช้งานคุณสมบัติ AD ที่เป็นทางเลือก (เช่น AD Recycle Bin เพื่อกู้คืนวัตถุที่ถูกลบ)

  • Install-ADServiceAccount

    - กำหนดค่าบัญชีบริการที่มีการจัดการ (MSA, gMSA)

  • Search-ADAccount

    - ช่วยให้คุณค้นหาบัญชีผู้ใช้และคอมพิวเตอร์ที่ถูกปิดใช้งาน, ไม่ได้ใช้งาน, ถูกล็อคใน Active Directory;

  • Enable-ADAccount

    /

    Disable-ADAccount

    /

    Unlock-ADAccount

    - เปิด/ปิด/ปลดล็อกบัญชี

ตามค่าเริ่มต้น PowerShell cmdlets จะเชื่อมต่อกับตัวควบคุมโดเมนที่ใกล้ที่สุดในสภาพแวดล้อมของคุณ (LOGONSERVER) ด้วยพารามิเตอร์ -Server คุณสามารถเชื่อมต่อกับ ADDS บนตัวควบคุมโดเมนอื่นหรือในโดเมนอื่น (คุณสามารถแสดงรายการ DC ในโดเมนอื่นโดยใช้

nltest /dclist:newad.com

สั่งการ).

พารามิเตอร์ -Server พร้อมใช้งานสำหรับ cmdlet ของโมดูลเกือบทั้งหมด ตัวอย่างเช่น

Get-ADuser j.smith -Server mun-dc1.a-d.site

คุณยังสามารถใช้พารามิเตอร์ -Credential เพื่อระบุข้อมูลประจำตัวอื่นของผู้ใช้ Active Directory

$creds = Get-Credential
Get-ADUser -Filter * -Credential $creds

นี่คือวิธีที่คุณจะได้รับความช่วยเหลือเกี่ยวกับ cmdlet ใดๆ

get-help Set-ADUser

คุณสามารถแสดงตัวอย่างการใช้ Active Directory cmdlets ได้ดังนี้

(get-help New-ADComputer).examples

การนำเข้าโมดูล Active Directory PowerShell จากคอมพิวเตอร์ระยะไกล

ไม่จำเป็นต้องติดตั้งโมดูล AD PowerShell บนคอมพิวเตอร์ทุกเครื่อง ผู้ดูแลระบบสามารถนำเข้าโมดูลนี้จากระยะไกลจากตัวควบคุมโดเมน (จำเป็นต้องมีสิทธิ์ของผู้ดูแลระบบโดเมน) หรือจากคอมพิวเตอร์เครื่องอื่น

PowerShell Remoting ใช้เพื่อเชื่อมต่อกับคอมพิวเตอร์ระยะไกล สิ่งนี้ต้องการให้เปิดใช้งานและกำหนดค่า Windows Remote Management (WinRM) บนโฮสต์ระยะไกล

สร้างเซสชันใหม่ด้วยคอมพิวเตอร์ระยะไกลที่ติดตั้งโมดูล AD PowerShell:

$psSess = New-PSSession -ComputerName DC_or_Comp_with_ADPosh

นำเข้าโมดูล ActiveDirectory จากคอมพิวเตอร์ระยะไกลไปยังเซสชัน PS ในเครื่องของคุณ:

Import-Module -PSsession $psSess -Name ActiveDirectory

ตอนนี้คุณสามารถเรียกใช้คำสั่งใดๆ จากโมดูล Active Directory บนคอมพิวเตอร์ของคุณได้ราวกับว่าติดตั้งโมดูลไว้ในเครื่องแล้ว อย่างไรก็ตาม พวกมันจะถูกดำเนินการบนรีโมตโฮสต์

คุณสามารถเพิ่มคำสั่งเหล่านี้ลงในไฟล์โปรไฟล์ PowerShell เพื่อนำเข้าโมดูลจากเซสชันระยะไกลโดยอัตโนมัติเมื่อคุณเริ่มคอนโซล powershell.exe เรียกใช้

notepad $profile.CurrentUserAllHosts

เพื่อเปิดไฟล์โปรไฟล์ PS ของคุณ

คุณสามารถสิ้นสุดเซสชันระยะไกลด้วยคำสั่ง :

Remove-PSSession -Session $psSess

วิธีการนำเข้าโมดูล AD นี้ผ่าน PowerShell โดยปริยายระยะไกลช่วยให้คุณใช้ PowerShell cmdlets จากโฮสต์ Linux และ MacOS ที่ไม่สามารถติดตั้งโมดูลในเครื่องได้

เรียนรู้วิธีติดตั้ง PowerShell Core บน Linux

คุณยังสามารถใช้โมดูล Active Directory สำหรับ PowerShell โดยไม่ต้องติดตั้ง RSAT ทำ

เพียงแค่คัดลอกไฟล์บางไฟล์จากคอมพิวเตอร์ที่ติดตั้งโมดูล RSAT-AD PowerShell:

  • ไดเรกทอรี

    C:\Windows\System32\WindowsPowerShell\v1.0\Modules
  • ไฟล์

    ActiveDirectory.Management.dll
  • ไฟล์

    ActiveDirectory.Management.resources.dll

จากนั้น คุณต้องนำเข้าโมดูลเข้าสู่เซสชันปัจจุบันของคุณ:

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

หลังจากนั้น คุณสามารถใช้ cmdlet ของโมดูล AD ทั้งหมดโดยไม่ต้องติดตั้ง RSAT

คำสั่ง PowerShell ทั่วไปสำหรับ Active Directory

มาดูงานการดูแลระบบทั่วไปบางอย่างที่สามารถทำได้โดยใช้ Active Directory สำหรับ PowerShell cmdlets

คุณสามารถค้นหาตัวอย่างที่มีประโยชน์ของวิธีใช้ Active Directory สำหรับ PowerShell module cmdlets ได้ที่เว็บไซต์ WOSHub ทำตามลิงก์เพื่อรับคำแนะนำโดยละเอียด

ผู้ใช้ ADU ใหม่: การสร้างผู้ใช้ AD

หากต้องการสร้างผู้ใช้ AD ใหม่ คุณสามารถใช้ cmdlet New-ADUSer คุณสามารถสร้างผู้ใช้ด้วยคำสั่งต่อไปนี้:

New-ADUser -Name "Mila Beck" -GivenName "Mila" -Surname "Beck" -SamAccountName "mbeck" -UserPrincipalName "mbeck@a-d.site" -Path "OU=Users,OU=Berlin,OU=DE,DC=a-d,DC=com" -AccountPassword(Read-Host -AsSecureString "Input User Password") -Enabled $true

สำหรับข้อมูลโดยละเอียดเกี่ยวกับ New-ADUser cmdlet (รวมถึงตัวอย่างเกี่ยวกับวิธีสร้างบัญชีโดเมนผู้ใช้เป็นกลุ่ม) โปรดดูบทความนี้

Get-ADComputer: รับคุณสมบัติของวัตถุคอมพิวเตอร์

ในการรับคุณสมบัติของวัตถุคอมพิวเตอร์ใน OU เฉพาะ (ชื่อคอมพิวเตอร์และวันที่เข้าสู่ระบบครั้งล่าสุด) ให้ใช้ Get-ADComputer cmdlet:

Get-ADComputer -SearchBase ‘OU=CA,OU=USA,DC=a-d,DC=com’ -Filter * -Properties * | FT Name, LastLogonDate -Autosize

Add-ADGroupMember: เพิ่มผู้ใช้ Active Directory ลงในกลุ่ม

หากต้องการเพิ่มผู้ใช้ลงในกลุ่มความปลอดภัยที่มีอยู่ในโดเมน AD ให้รันคำสั่งนี้:

Add-AdGroupMember -Identity LondonSales -Members e.braun, l.wolf

แสดงรายชื่อผู้ใช้ในกลุ่ม AD และส่งออกเป็นไฟล์ CSV:

Get-ADGroupMember LondonSales -recursive| ft samaccountname| Out-File c:\ps\export_ad_users.csv

เรียนรู้เพิ่มเติมเกี่ยวกับการจัดการกลุ่ม AD ด้วย PowerShell

Set-ADAccountPassword: รีเซ็ตรหัสผ่านผู้ใช้ในโฆษณา

ในการรีเซ็ตรหัสผ่านของผู้ใช้ใน AD ด้วย PowerShell:

Set-ADAccountPassword m.lorenz -Reset -NewPassword (ConvertTo-SecureString -AsPlainText “Ne8Pa$$0rd1” -Force -Verbose) -PassThru

จะปลดล็อก เปิดใช้งาน และปิดใช้งานบัญชี Active Directory ได้อย่างไร

หากต้องการปิดใช้งานบัญชีผู้ใช้ AD:

Disable-ADAccount m.lorenz

ในการเปิดใช้งานบัญชี:

Enable-ADAccount m.lorenz

ปลดล็อกบัญชีหลังจากถูกล็อคโดยนโยบายรหัสผ่านของโดเมน:

Unlock-ADAccount m.lorenz

ค้นหา ADAccount: วิธีค้นหาวัตถุ AD ที่ไม่ได้ใช้งานและปิดใช้งาน

หากต้องการค้นหาและปิดใช้งานคอมพิวเตอร์ทั้งหมดในโดเมน AD ที่ไม่ได้เข้าสู่ระบบนานกว่า 90 วัน ให้ใช้ Search-ADAccount cmdlet:

$timespan = New-Timespan -Days 90
Search-ADAccount -AccountInactive -ComputersOnly -TimeSpan $timespan | Disable-ADAccount

ใหม่ ADOrganizationalUnit: สร้างหน่วยองค์กรใน AD

หากต้องการสร้างโครงสร้างหน่วยองค์กรโดยทั่วไปใน AD อย่างรวดเร็ว คุณสามารถใช้สคริปต์ PowerShell ได้ สมมติว่าคุณต้องการสร้าง OU หลายรายการโดยมีสถานะเป็นชื่อ และสร้างคอนเทนเนอร์ออบเจกต์ทั่วไป ค่อนข้างใช้เวลานานในการสร้างโครงสร้างโฆษณานี้ด้วยตนเองผ่านสแน็ปอิน ADUC แบบกราฟิก โมดูล AD สำหรับ PowerShell ช่วยให้สามารถแก้ปัญหานี้ได้ภายในไม่กี่วินาที (ยกเว้นเวลาในการเขียนสคริปต์):

$fqdn = Get-ADDomain
$fulldomain = $fqdn.DNSRoot
$domain = $fulldomain.split(".")
$Dom = $domain[0]
$Ext = $domain[1]
$Sites = ("Nevada","Texas","California","Florida")
$Services = ("Users","Admins","Computers","Servers","Contacts","Service Accounts")
$FirstOU ="USA"
New-ADOrganizationalUnit -Name $FirstOU -Description $FirstOU -Path "DC=$Dom,DC=$EXT" -ProtectedFromAccidentalDeletion $false
foreach ($S in $Sites)
{
New-ADOrganizationalUnit -Name $S -Description "$S" -Path "OU=$FirstOU,DC=$Dom,DC=$EXT" -ProtectedFromAccidentalDeletion $false
foreach ($Serv in $Services)
{
New-ADOrganizationalUnit -Name $Serv -Description "$S $Serv" -Path "OU=$S,OU=$FirstOU,DC=$Dom,DC=$EXT" -ProtectedFromAccidentalDeletion $false
}
}

หลังจากที่คุณเรียกใช้สคริปต์ คุณจะเห็นโครงสร้าง OU ต่อไปนี้ใน Active Directory

เมื่อต้องการย้ายวัตถุระหว่างคอนเทนเนอร์ AD คุณสามารถใช้ cmdlet ย้าย ADObject:

$TargetOU = "OU=Sales,OU=Computers,DC=a-d,DC=com"
Get-ADComputer -Filter 'Name -like "SalesPC*"' | Move-ADObject -TargetPath $TargetOU

รับ ADReplicationFailure: ตรวจสอบการจำลองแบบของ Active Directory

คุณสามารถใช้ cmdlet Get-ADReplicationFailure เพื่อตรวจสอบสถานะของการจำลองแบบระหว่างตัวควบคุมโดเมน AD:

Get-ADReplicationFailure -Target NY-DC01,NY-DC02

คุณสามารถใช้คำสั่งนี้เพื่อตรวจสอบความสมบูรณ์ของตัวควบคุมโดเมนและ Active Directory

หากต้องการรับข้อมูลเกี่ยวกับ DC ทั้งหมดในโดเมน ให้ใช้ cmdlet Get-AdDomainController:

Get-ADDomainController -filter * | select hostname,IPv4Address,IsGlobalCatalog,IsReadOnly,OperatingSystem | format-table -auto

ในบทความนี้ เราดูวิธีการติดตั้งและใช้โมดูล Active Directory PowerShell สำหรับการดูแลระบบโดเมน AD ฉันหวังว่าบทความนี้จะสนับสนุนให้คุณสำรวจโมดูลนี้เพิ่มเติมและเริ่มทำงานการจัดการโฆษณาส่วนใหญ่ของคุณโดยอัตโนมัติ

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