八月 01 2014

直接刪除Office 365中「已刪除的使用者」的帳號

分類:Cloud

最近在測試 AD 與 Office 365 做單一登入整合(SSO),由於單一登入的佈署,必須透過 DirSync 做目錄同步作業,之後 Office 365 網站就會被塞入 AD 上的所有帳號。由於,測試過程不是很順利,我決定先解掉同步設定,把環境弄乾淨再重作一次;但同步到 Office 365 的 AD 帳號,可不會因為停用掉目錄同步而自動消失,必須手動刪除。

麻煩的是,用 UI 介面刪除掉的這些帳號,會先通通放進「已刪除的使用者」中,而且預設是 30 天後才清掉。難道,我們一定要一個月後才能再回來玩嗎?

還好,「介面有限,指令無限」!!!

想要很完全地管理 Office 365 或 Azure,強烈建議一定要裝相關的 PowerShell。
以本問題狀況為例,請依照文件庫的說明,安裝 Windows Azure Active Directory Module for Windows PowerShell
使用 Windows PowerShell 管理 Azure AD

安裝過程如本文最上圖,堪稱無腦,也就是一直按下一步就完成了。

接著參考下圖,請到開始的應用程式找「適用於 Windows PowerShell 的 Windows Azure Active Directory 模組」。說實話,我個人推薦直接用右側工具列,搜尋「powershell」就能快速找到。(為什麼你都知道搜尋資料用 Google,找個應用程式卻不用 Windows 8 內建的搜尋?)

啟動後,請依序執行下面指令

$msolcred = get-credential

此指令執行後,會跳出一個認證要求視窗。
請輸入可具 Office 365 系統管理存取權限的帳號及密碼。

接著執行此指令,連接微軟雲端服務。

connect-msolservice -credential $msolcred

再簡單執行此指令,以確認連上,可查詢線上服務的相關資訊。

Get-MsolDomain

確認指令成功後,就可以進行我的毀滅淨化計畫 - 刪除「已刪除的使用者」中的帳號。

Get-MsolUser -ReturnDeletedUsers

列出所有在「已刪除的使用者」的使用者。

那就先拿我自己被同步上去的 AD 帳號來開刀吧。

Get-MsolUser -ReturnDeletedUsers -UserPrincipalName "User UPN" 

查詢確認該帳號是位在「已刪除的使用者」。

刪除位於「已刪除的使用者」的帳號指令。

Remove-MsolUser -UserPrincipalName "User UPN" -RemoveFromRecycleBin

按下 Enter 鍵或 Y 就可以跟他說 Bye Bye 了。

但...同步上來的 AD 帳號可不是只有十幾個啊,怎麼可能一個一個輸入做清除。

還好,請使用下面終極指令就能全部清除。(使用前請務必三思

Get-MsolUser -ReturnDeletedUsers | Remove-MsolUser -RemoveFromRecycleBin

這指令有一個大問題是,若你有一百個帳號要清的話,上面的指令執行後,就按 100 次的 Enter 鍵同意這樣的刪除操作。所以,最快方式就是,加上參數「-Force」,就會連問都不問你,一次清光光,要小心啊!

回到 Office 365 系統管理中心檢查,真的一個都不留啦。

我想,Office 365 系統管理中心的「已刪除的使用者」,應該類似 AD 資源回收桶的概念。主要是避免管理者手殘誤刪除使用者,最後無法挽救。

或許有人會問,那為什麼不在 UI 上做一個清理回收桶的按鈕呢?其實,在聽過不少悲劇後,我也覺得這最後一道防線用指令才能做會安全些。

方便及安全往往很難兩全的。

目前有 5 個回應 , 標籤:


目前有 5 個回應

  1. Mickey 說道:

    請問蘇老,
    關於DirSync如果將AD帳號+密碼上傳至Azure AD
    今天使用者透過自助式服務在portal修改密碼
    那多久會回寫到AD上?

    • AskaSu 說道:

      我目前的瞭解是,DirSync 針對密碼的部份是單向同步動作,
      也就是地端的AD帳密同步到雲端,
      並不會因為雲端的密碼修改後回寫到地端AD。
      詳情可以參考這篇文章
      Five Things you should know about using DirSync with Password Sync

    • AskaSu 說道:

      我覺得我現在應該來修正之前的回覆,
      如果有 Azure AD Premium 授權,
      加上目前的 Azure AD Connect 軟體,
      已經可以完整做到從雲端 (Azure AD) 回寫密碼到地端 AD

      至於回寫的頻率,
      從官方的 FAQ 文件關於 WriteBack 這段,
      有談到應該是立即的
      「Q: How long does password writeback take to work? Is there a synchronization delay like with password hash sync?
      A: Password writeback is instant.」

  2. Arnol 說道:

    非常感谢你的信息。

  3. Jim 說道:

    很有用,感謝提供資訊!

發表迴響

*