1. 程式人生 > >Exchange - 查找SamAccountName和Alias不相同的郵箱用戶

Exchange - 查找SamAccountName和Alias不相同的郵箱用戶

pso soft 準備 erro ima action scripts rip ble

前段時間遷移公司郵箱,涉及到新老郵箱賬戶信息對比。要把SamAccountName和Alias不相同的郵箱用戶整理出來,做單獨的對比。下面是命令&腳本:
  • 命令:

    Get-Mailbox -ResultSize Unlimited | where {$_.SamAccountName -ne $_.Alias}
  • 腳本
# 加載 Exchange、AD 模塊
Import-Module Activedirectory
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010 -ErrorAction SilentlyContinue

# 獲取SamAccountName和Alias不相同的郵箱用戶
$Mailbox = Get-Mailbox -ResultSize Unlimited | where {$_.SamAccountName -ne $_.Alias} | foreach {$_.SamAccountName}

# 準備輸出集合
$GlobalExport = @()

# 循環處理郵箱用戶
foreach ($user in $Mailbox) 
{
    $enableuser = Get-aduser -Identity $user | ?{$_.Enable -eq "True"}
    $Mail = Get-Mailbox -ResultSize Unlimited $enableuser.SamAccountName
    $Obj = New-Object PSObject
    $Obj | Add-Member NoteProperty -Name "SamAccountName" -Value $Mail.SamAccountName
    $Obj | Add-Member NoteProperty -Name "Alias" -Value $Mail.Alias
    $Obj | Add-Member NoteProperty -Name "PrimarySmtpAddress" -Value $Mail.PrimarySmtpAddress
    $Obj | Add-Member NoteProperty -Name "UserPrincipalName" -Value $Mail.UserPrincipalName
}
# 導出輸出到CSV
$GlobalExport | Export-Csv f:\scripts\Mailbox.csv -Encoding UTF8

Exchange - 查找SamAccountName和Alias不相同的郵箱用戶