2017/10/18

離離人員帳號停用、信箱隱藏、移除群組



# 程式目的
#
# 1 移除使用者所屬的所有群組,只留下 domain user; 這是主要群組,無法移除 (也沒必要)
# 2 將使用者從 exchange 全域通訊錄隱藏
# 3 將帳戶設為停用
#
"注意,程式將自動處理 OU=停用,OU=Users,OU=MyBusiness,DC=motorpro-sbs,DC=local 底下的所有使用者"
"請確定已將使用者移動到 停用 這個 OU 中"
read-host "按 [enter] 繼續按 [ctrl + c] 中止"

Import-Module ActiveDirectory
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010

$GroupsOU = 'OU=停用,OU=Users,OU=MyBusiness,DC=motorpro-sbs,DC=local'
$ou = Get-ADUser -SearchBase $GroupsOU -Filter *

foreach ($user in $ou) {
    $UserDN = $user.DistinguishedName
    Get-ADGroup -LDAPFilter "(member=$UserDN)" | foreach-object {
    "移除 $UserDN 的所有群組"
    remove-adgroupmember -identity $_.name -member $UserDN -Confirm:$False}

    $username = $user.Name
    "在 exchange GAL 中將 $username 的 email 設為隱藏"
    Set-Mailbox -HiddenFromAddressListsEnabled $true -Identity $username

    $userAccount = $user.SamAccountName 
    "將帳戶 $userAccount 設為停用"
    Disable-ADAccount -Identity $userAccount
}