我想獲取 O365 租戶中所有電子郵件收件人的別名。如果我在做這個傳統的 Exchange,最簡單的方法是Get-Recipient使用 Exchange 管理控制臺提取 SMTPAddress 屬性。(注意 Select 管道到另一個 Select ;像冠軍一樣作業。)
Get-Recipient | Select Name,SamAccountName -ExpandProperty EmailAddresses | Select Name,SamAccountName,SmtpAddress
問題是當我嘗試在 EXO 中做同樣的事情時,“EmailAddresses”屬性輸出為一個扁平字串,所以當我嘗試將它傳輸到第二個選擇時,唯一的屬性是長度,而不是實際值字串。
以下型別的作品,但我覺得必須有更好的方法?
Get-EXORecipient | Select Name -ExpandProperty EmailAddresses | % {Write-Output "$($_.Name),$($_)"}
uj5u.com熱心網友回復:
什么-ExpandProperty EmailAddresses擴展到是字串,因為你的狀態。
如果您還傳遞(位置隱含)-Property引數(例如Name在您的示例中),則這些字串裝飾的其他屬性存在,但通常不會出現,除非您在現在裝飾的輸出字串上顯式訪問它們。
如果您想要包含每個電子郵件地址作為屬性的輸出物件,則需要做更多作業。
Get-EXORecipient | ForEach-Object {
foreach ($emailAddress in $_.EmailAddresses) {
[pscustomobject] @{
EmailAddress = $emailAddress
Name = $_.Name
# ... add further properties of interest here
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/323323.html
標籤:电源外壳
上一篇:如何使用正則運算式獲取字串中的值
