Powershell管理系列(二十五)PowerShell操作之获取AD账号及邮箱信息

有时候我们需要查询账号的很多属性,但是需要通过不同的命令去获取,有点类似SQL Server里面的多表连接查询,比如查询所有账号的ad账号描述,邮箱名,显示名,邮箱地址,邮箱数目,邮箱大小,存档邮箱大小,存档邮箱数目。

ad账号描述---对应AD账号的描述信息,通过Get-adUser 获取

邮箱名,显示名,邮箱地址---对应用户邮箱信息,通过get-mailbox获取

邮箱数目,邮箱大小---对应邮箱信息,通过命令get-mailbox |Get-MailboxStatistics 获取

存档邮箱大小,存档邮箱数目---对应存档邮箱信息,通过命令get-mailbox -Archive|Get-MailboxStatistics -Archive获取

这些属性通过SamAccountName这个共同的属性连接和查询,具体操作如下:


--------------------------------------------------------------------------------------------------------------------------------------------------

cls

Add-PSSnapin microsoft.exchange*

$mbxinfo=Get-mailbox -ResultSize unlimited |%{$_.SamAccountName}

$userlist = @() 

foreach ($i in $mbxinfo) 

$Description=Get-adUser $i -Properties * |%{$_.Description}

$user=get-mailbox $i

$userStatistics=get-mailbox $i |Get-MailboxStatistics

$userarchiveStatistics=get-mailbox $i -Archive|Get-MailboxStatistics -Archive

$userobject=New-object psobject 

$userobject | Add-Member -membertype noteproperty -Name AD账号描述      -value $Description

$userobject | Add-Member -membertype noteproperty -Name 邮箱名          -Value $user.Name

$userobject | Add-Member -membertype noteproperty -Name 显示名          -Value $user.DisplayName 

$userobject | Add-Member -membertype noteproperty -Name 邮箱地址        -Value $user.PrimarySmtpAddress

$userobject | Add-Member -membertype noteproperty -Name 邮箱数目        -Value $userStatistics.ItemCount

$userobject | Add-Member -membertype noteproperty -Name 邮箱大小        -Value $userStatistics.TotalItemSize

$userobject | Add-Member -membertype noteproperty -Name 存档邮箱数目    -Value $userarchiveStatistics.ItemCount

$userobject | Add-Member -membertype noteproperty -Name 存档邮箱大小    -Value $userarchiveStatistics.TotalItemSize

$userlist+=$userobject

$userlist

$userlist|export-csv -Path c:\userlist.csv -Encoding utf8 -NoTypeInformation

Powershell管理系列(二十五)PowerShell操作之获取AD账号及邮箱信息



本文转自 zhou_ping 51CTO博客,原文链接:http://blog.51cto.com/yuntcloud/1712918,如需转载请自行联系原作者