如果你經常需要查詢 Active Directory(AD) 資訊,在 PowerShell 環境下可以使用 Rsat.ActiveDirectory 讓 Windows 10/11 可以用 PowerShell 操作 Active Directory(AD)。
Rsat.ActiveDirectory 是什麼
Rsat.ActiveDirectory 是 Remote Server Administration Tools (RSAT) 裡的一個子模組,正式的全名是:Active Directory Domain Services and Lightweight Directory Services Tools,主要可以用它來做以下事情:
- 查詢 AD 使用者/群組/電腦
- 建立/修改/刪除 AD 物件
- 管理群組成員
- 查 OU、移動物件
- 密碼與帳號管理
安裝 Rsat.ActiveDirectory
首先,我們可以先確認一下目前系統裡有沒有安裝 Rsat.ActiveDirectory 模組:
1 | Get-WindowsCapability -Online | Where-Object Name -like "Rsat.ActiveDirectory*" |
這時會輸出目前系統裡有沒有安裝 Rsat.ActiveDirectory 模組以及該模組的版本,如果 State 是 Installed 就表示已經安裝了。
在 Windows 10/11 裡,安裝 Rsat.ActiveDirectory 非常簡單,可以用系統管理者權限使用 PowerShell 的 Add-WindowsCapability 指令來安裝 Active Directory DS / LDS 工具:
1 | Add-WindowsCapability -Online -Name Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0 |
如果你想要安裝完整的 RSAT 工具包,可以使用以下指令:
1 | Get-WindowsCapability -Online | |
常用指令
此模組所包含的 PowerShell Cmdlets 總數超過 100 個,這一整套的 AD Cmdlets 指令裡,常用於自動化腳本以及最值得記住的 AD Cmdlets 如下:
| Cmdlet | 主要用途 |
|---|---|
| Get-ADUser | 查詢 AD 使用者資訊(支援 Filter、LDAPFilter、屬性選取)。 |
| Set-ADUser | 修改使用者屬性(部門、職稱、Email、登入選項…)。 |
| New-ADUser | 建立新使用者帳號,可搭配密碼、OU、群組等初始化設定。 |
| Remove-ADUser | 刪除使用者帳號(通常搭配自動化離職流程)。 |
| Get-ADGroup | 查詢群組資訊(安全性群組、通訊群組)。 |
| Add-ADGroupMember | 將使用者/電腦加入群組(最常用於權限授予)。 |
| Remove-ADGroupMember | 從群組移除成員(常用於權限回收)。 |
| Get-ADGroupMember | 查詢群組成員清單(支援遞迴)。 |
| Get-ADComputer | 查詢電腦物件(OU 位置、啟用狀態、OS 版本)。 |
| Move-ADObject | 將 User/Group/Computer 移動到指定 OU(常用於自動化佈署)。 |
| Unlock-ADAccount | 解鎖被鎖定的使用者帳號。 |
| Set-ADAccountPassword | 設定或重設使用者密碼(支援 Reset / Change)。 |
| Enable-ADAccount | 啟用帳號(常用於新進員工流程)。 |
| Disable-ADAccount | 停用帳號(常用於離職流程)。 |
| Search-ADAccount | 搜尋鎖定、過期、停用、密碼過期等帳號狀態。 |
| Get-ADOrganizationalUnit | 查詢 OU 結構與屬性。 |
| Get-ADDomain | 查詢網域資訊(功能層級、PDC、RID Master…)。 |
| Get-ADForest | 查詢樹系資訊(Schema、Domain 列表、GC)。 |
| Restore-ADObject | 從 AD 回收桶還原被刪除的物件。 |
| Get-ADObject | 查詢任何 AD 物件(User/Group/OU/Computer/ServiceAccount…)。 |
參考資料: