如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

CQman發表於2024-07-30

我的部落格園:https://www.cnblogs.com/CQman/

如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

需求資訊:

使用者本地AD使用者透過ADConnect同步到O365,使用者想實現在本地已做同步的OU中禁用某一使用者後,其可以自動實現把該使用者從地址列表中隱藏掉。

使用者的ADConnect同步工具裝在域控伺服器上。

解決方法:

思路概述:在本地中啟用一個計劃任務,在特定事件下觸發執行powershell指令碼,透過powershell命令檢測本地AD中已禁用使用者的enabled和msExchHideFromAddressLists屬性值,並更改msExchHideFromAddressLists和mailnickname的屬性值,然後使用Start-ADSyncSyncCycle -PolicyType Delta命令觸發同步。

操作步驟:

  1. 複製一下powershell 命令,把OU=G10,DC=ttt,DC=com更改為自己的Active Directory路徑並儲存為一個Powershell指令碼檔案。

Set-Executionpolicy -executionPolicy Unrestricted -force

Get-ADUser -Filter {(enabled -eq "false") -and (msExchHideFromAddressLists -notlike "*")} -SearchBase "OU=G10,DC=ttt,DC=com" -Properties msExchHideFromAddressLists `

| % { Set-ADUser -Identity $_.samaccountname -Replace @{msExchHideFromAddressLists=$true} ;Set-ADUser -Identity $_.samaccountname -Replace @{mailnickname="$($_.samaccountname)"} }

Start-ADSyncSyncCycle -PolicyType Delta

  1. 在裝有ADConnect同步工具的域控伺服器上建立計劃任務。

圖形介面方式:

  1. 輸入“msc”命令開啟“Task Scheduler”控制皮膚。

如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

  1. 開啟“任務計劃程式”,點選右邊的“建立基本任務”。

如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

  1. 填寫名稱及描述資訊

  如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

  1. 當禁用AD使用者時,在本地的域控制器上會觸發一個事件日誌

  如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

  1. 選擇觸發型別

  如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

  1. 填寫Log、Source、EventID

Log: Security

Source: Microsoft Windows security auditing

Event ID : 4725

  如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

  1. 選擇操作型別

  如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

  1. “程式或指令碼”這裡要填寫Powershell程式的路徑,如圖中地址;在“新增引數”,這裡需要寫上:C:\automatically_hide_address_list.ps1 在起始項中填寫指令碼所在資料夾路徑

  如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

  1. 勾選圖中位置選項,點選下一步。

  如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

  1. 使用者那裡要使用Administrator管理員許可權,這個許可權最大,不容易出現:許可權不足的報錯。勾選“不管使用者是否登入都要執行”和“使用最高許可權執行”。

  如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

  1. 輸入管理員密碼

  如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

  1. 建立完成後就可以在計劃任務皮膚中看到該計劃。

  如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

備註:正常情況下我們的任務計劃執行後會有反饋數值:

    • 程式碼 0 或 0x0:操作成功完成。
    • 程式碼 1 或 0x1:呼叫的函式不正確或呼叫了未知函式。
    • 程式碼 10 或 0xa:環境不正確。
    • 程式碼 0x8009000f:常規訪問被拒絕

  13. 效果驗證

  禁用前

  如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

  如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

  禁用後

  禁用T23使用者,觸發系統安全事件日誌

  如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

  計劃任務也自動觸發併成功執行。

  如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

  檢查使用者的mailnickname和msExchHideFromAddressLists屬性值均發生更改。

  如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

  如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

  雲端O365中的使用者已經被Blocked

  如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

  檢視Exchange使用者中的Hide address list

  如何自動實現本地AD中禁用的使用者從地址列表中隱藏掉?

相關文章