ADSI編輯:如何使用ADSI編輯編輯Active Directory

ADSI Edit:使用 ADSI Edit 編輯 Active Directory 的方法。首先,ADSI(Active Directory Service Interface Editor)Edit 允許通過 ADUC(Active Directory 用戶和計算機)訪問和修改底層的未公開的目錄服務數據。在本文中,我們討論了 ADSI Edit 的使用方法,包括如何訪問該工具,主要的導航以及用於對 Active Directory 對象和屬性進行更改的日常用例。無論我們是經驗豐富的系統管理員還是剛開始,了解如何使用 ADSI Edit 都有助於將 Active Directory 管理技能提升到下一個水平。


同樣閱讀 如何設置和管理 Active Directory 密碼策略


ADSI:使用 ADSI Edit 編輯 Active Directory 的方法

ADSI:如何使用ADSI Edit編輯Active Directory

其次,ADSI(Active Directory服務接口編輯器)編輯工具是一個MMC插件。我們使用Active Directory服務接口連接到其他Active Directory數據庫分區(NTDS.dit)或LDAP服務器。ADSI Edit工具還使我們能夠編輯屬性,執行搜索,並在Active Directory中創建,修改和刪除項目。

先決條件

重要的是,當前Windows版本包含在遠端伺服器管理工具(RSAT)中的ADSIEdit.msc。ADSI工具是ADDS附加元件和命令列工具套件的一部分。查看這篇文章以獲取安裝RSAT的指示以及更多資訊。

因此,在安裝該功能後,按下Win+R以打開執行視窗,並輸入adsiedit.msc以打開ADSI編輯器。或者,我們可以在控制面板的系統和安全性部分下訪問管理工具

注意: ADSI Edit 附加元件在 AD 編輯功能方面類似於 Windows 登錄編輯器。因此,我們無法使用群組原則或圖形用戶界面更改某些 Windows 設置。因此,管理員有時需要直接對 Windows 登錄進行更改,以解決複雜的問題。

ADSI 工具概述

請注意,我已將原文中的標記和內容翻譯成繁體中文,並保留了自定義標記

同樣地,解決複雜的Active Directory問題需要比僅使用用戶電腦管理單元或PowerShell命令更​​多的工具。例如,通過ADSI Edit,我們可以直接修改AD數據庫。但ADSI Edit會超越所有標準的AD安全措施。因此,這意味著使用adsiedit.msc進行錯誤的AD修改時,我們可能會損壞或刪除我們的AD數據庫。因此,我們建議備份Active Directory在使用此工具之前,因為這個原因。

首先,右鍵單擊ADSI工具並選擇連接。我們從此菜單中選擇具有LDAP數據庫或連接點、命名上下文的遠程機器。如果我們不知道確切的連接點區分名稱或命名上下文,我們可以選擇一個已知的命名上下文:

  • 默認命名上下文
  • 配置
  • RootDSE
  • 結構描述

我們必須選擇 使用基於SSL的加密 選項,如果我們的LDAP伺服器(或網域控制器)擁有一個SSL憑證來使用LDAPS協議。

此外,請選擇預設命名內容以開啟類似ADUC的AD檢視,並點擊確定。左側窗格現在顯示一個全新的根分區,我們可以進行擴展。正如我們所見,在此模式下的ADSI Edit終端機顯示了所有容器和Active DirectoryOU的層次樹狀檢視。

請記住,在我們點擊節點之後,預設命名內容和ADSI Edit中不同層次的層次結構才可見。此外,還有我們隱藏的基於控制台的AD服務容器,這些容器是ADUC默認情況下無法顯示的。在AD層次結構中,例如,我們可以選擇、修改、移動、刪除和重新命名任何物件(電腦、使用者、群組)。

為了說明,我們將與用戶一起前往OU,選擇一個用戶,並顯示一個包含可用操作列表的上下文菜單。正如我們所見,除了對AD對象(移動、創建、刪除、重命名)的常規活動外,我們還重置了Active Directory用戶密碼。此外,請注意,顯示的是DN(區分名稱)和CN(規範名稱)而不是對象名稱。

前往所需對象並打開所需Active Directory對象的屬性,使用ADSI編輯來編輯對象屬性。

提升您的Active Directory安全性與Azure AD

試用我們免費訪問所有功能。– 200多個AD報告模板可用。輕鬆自定義您自己的AD報告。




ADSI的重要性

以下是我們需要ADSI的一些原因:

  1. 更深入的存取與控制:儘管Active Directory 使用者與電腦(ADUC)工具提供了用戶友好的介面來管理Active Directory,但它僅提供了存取到某些必要的功能。
  2. 自動化:我們使用ADSI來自動化日常的管理任務,例如創建和刪除用戶帳戶,重置密碼,以及修改群組成員資格。這個過程既經濟高效,又節省時間,並降低了因手動輸入數據而導致的人為錯誤的可能性。
  3. 腳本編寫: ADSI 與 VBScript 和 PowerShell 等腳本語言一起使用,用於自動化重複性任務或執行複雜操作。這一過程使得管理大型 Active Directory 環境 及其眾多對象變得更加容易。
  4. 整合: ADSI 將 Active Directory 與其他目錄服務或應用程序(如 LDAP 目錄、DNS 服務器和 Exchange Server)整合在一起。這一過程有助於組織實現更好的互操作性並簡化其 IT 基礎設施。

查看和編輯 ADSI 屬性

在AD中的屬性編輯器選項卡允許我們檢查或修改任何用戶屬性。根據對象的類別,ADSI編輯器控制台,預設情況下,顯示對象在Active Directory中擁有的每個屬性。在ADSI編輯器中,即使對象的屬性不會出現在ADUC界面中。

我們使用值“未設置”來顯示已填充和空白的屬性。過濾器按鈕允許我們選擇如何顯示對象屬性。

以下過濾選項可供選擇:

  • 僅顯示具有值的屬性 — 啟用此選項後,隱藏所有具有空值的屬性;
  • 僅顯示可寫屬性 — 僅顯示我們可以編輯的那些屬性;
  • 顯示強制屬性
  • 顯示可選屬性
  • 顯示只讀屬性(僅構造、反向鏈接或系統)。
注意:

ADUC控制台用戶屬性中的屬性編輯器選項卡與此選項卡類似。

之後,我們可以通過雙擊屬性,輸入新值,然後保存更改來更改任何屬性。

請注意,在物件的特性中存在多種資料型態(整數、字串、多值字串、時間等)。例如,AD顯示了在ADSI物件屬性編輯器控制台中時間/日期相關屬性的值,它們以傳統形式呈現。如果我們嘗試修改它們,我們會看到它們仍然以時間戳記格式存儲在Active 目錄資料庫中。

接下來,我們使用ADSI編輯器配置AD設定,這些設定無法以其他方式配置。例如,任何用戶可以向域中添加最多10個計算機帳戶(即使沒有域管理員權限)。LDAP屬性ms-DS-MachineAccountQuota,我們只能使用ADSI編輯器修改,用作此目的的定義(在域屬性中)。

之後,我們檢查一些使用ADSI編輯器控制台進行的活動示例。

隱藏Active Directory中的OU

舉例來說,我們可以使用ADUC管理單元來隱藏OU(AD容器之一)。然後,打開OU屬性並將屬性從False(或未設置)更改為True。要檢查AD架構的最新版本,可以使用ADSI Edit:

  1. 選擇架構作為一個已知的命名上下文;
  2. 展開架構,右鍵點擊架構;
  3. 檢查objectVersion

4.該值對應於AD架構版本Windows Server 2012 R2中。

我們不僅可以在GUI中管理ADSI,還可以通過PowerShell以編程方式訪問它們,我們將在下一節中討論。

使用ADSI Adapter管理AD的PowerShell

我們使用PowerShell中的ADSI Adapter來建立到LDAP AD的連接。雖然有更好的方法來管理AD(而不是使用PowerShell Active Directory 模組),但有時我們必須使用它,例如透過外部工具或登錄腳本。我們必須指定LDAP路徑以接收有關AD對象的信息,並使用ADSI接口:

[ADSI]'LDAP://CN=DC01,OU=Domain Controllers,DC=infrasos,DC=com'

列出所有對象屬性:

[ADSI]'LDAP://CN=DC01,OU=Domain Controllers,DC=infrasos,DC=com' | Format-List *

獲取特定對象屬性的值:

[ADSI]"LDAP://DC=infrasos,DC=com" | Format-List ms-DS-MachineAccountQuota

我們使用LDAP搜索過濾器通過ADSI在AD中查找對象:

([ADSISearcher]'(&(objectCategory=computer)(operatingSystem=Windows Server 2019*)(primaryGroupID=516))').FindAll()

查找“永不過期的密碼”設置的用戶:

([ADSISearcher]'(&(objectCategory=person)(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=66048))').FindAll()

ADSI接口還允許我們修改和創建AD對象:

$TargetOU = [adsi]'LDAP://DC=infrasos,DC=com'
$NewOU =$TargetOU.Create('organizationalUnit','ou=NewYork')
$NewOU.SetInfo()

ADSI 編輯:如何使用 ADSI 編輯編輯 Active Directory 結論

總之,ADSI 編輯是一個強大的工具,它為系統管理員提供了對 Active Directory 對象和屬性的更深入訪問和控制。雖然 ADUC 提供了一個用戶友好的界面來管理Active Directory,但有時可能只提供對所有必要功能的部分訪問。使用 ADSI 編輯,管理員可以對通常不可見的對象和屬性進行低級更改,從而進行高級故障排除和解決複雜問題。

Source:
https://infrasos.com/adsi-edit-how-to-edit-active-directory-using-adsi-edit/