Powershell 查找用戶的主SMTP地址
今天同事讓我生成一個報表,列出用戶的主SMTP地址后綴是@aus.ddb.com的用戶。
Get-ADUser可以直接獲取相關(guān)信息,不過主SMTP是隱藏在ProxyAddress這個屬性里面的,如果1個用戶有多個郵件地址,大寫的SMTP的那個就是主地址。
腳本如下,獲取所有用戶的信息,然后創(chuàng)建一個空對象,對每一個對象的屬性進行處理,把對應的值放入對象, 最后過濾結(jié)果輸出。
$users = Get-ADUser -Filter {proxyAddresses -like '*'} -SearchBase "ou=sydney,dc=omnicom,dc=com,dc=au" -Properties proxyAddresses
$pp=$null
$pp=@{'name'=$null;'primarysmtp'=$null}
$obj=New-Object -TypeName psobject -Property $pp
$result=@()
foreach($user in $users){
$primarySMTPAddress = ""
foreach ($address in $user.proxyAddresses)
{
if (($address.Length -gt 5) -and ($address.SubString(0,5) -ceq 'SMTP:') )
{
$primarySMTPAddress = $address.SubString(5)
break
}
}
$objtemp=$obj | select *
$objtemp.name=$user.Name
$objtemp.primarysmtp=$primarySMTPAddress
$result+=$objtemp
}
$result | Where-Object{$_.primarysmtp -like "*aus.ddb.com*"} | sort Name

本文出自 “麻婆豆腐” 博客
相關(guān)文章
PowerShell 獲取系統(tǒng)信息的函數(shù)
如果你要得到本地或遠程的使用配置信息,又不想浪費太多的解決時間??梢栽赑owershell中使用systeminfo.exe提取數(shù)據(jù)2014-03-03
PowerShell中運行CMD命令的技巧總結(jié)(解決名稱沖突和特殊字符等問題)
這篇文章主要介紹了PowerShell中運行CMD命令的技巧總結(jié)(解決名稱沖突和特殊字符等問題),需要的朋友可以參考下2014-05-05
PowerShell腳本清理指定天數(shù)前的臨時文件夾實現(xiàn)代碼
這篇文章主要介紹了PowerShell腳本清理指定天數(shù)前的臨時文件夾實現(xiàn)代碼,指定天數(shù)可以任意修改數(shù)字實現(xiàn),需要的朋友可以參考下2014-08-08
PowerShell中使用.NET將程序集加入全局程序集緩存
這篇文章主要介紹了PowerShell中使用.NET將程序集加入全局程序集緩存,本文介紹了兩種方法實現(xiàn)把程序集加入全局程序集緩存,著重講解了使用.Net的類庫解決這個需求,需要的朋友可以參考下2015-06-06
PowerShell Out-File向只讀文件寫入內(nèi)容的方法
這篇文章主要介紹了PowerShell Out-File向只讀文件寫入內(nèi)容的方法,只需要加一個-Force參數(shù)即可,需要的朋友可以參考下2014-08-08
Powershell使用嵌套哈希表實例 嵌套哈希表的2種寫法例子
這篇文章主要介紹了Powershell使用嵌套哈希表實例,嵌套哈希表的2種寫法例子,需要的朋友可以參考下2014-07-07

