PowerShell 将 SMTPAddress 详细信息导出到 .CSV 失败?

PowerShell to export SMTPAddress details to .CSV failed?

我正在编写此 PowerShell 脚本来导出一些信息,例如:

Name 
Mail
ObjectClass
SMTP Address (only SMTP and smtp addresses)
DistinguishedName
RecipientTypeDetails --> This is to know what type of Mailbox (Shared, User,Resource,etc...)
WhenMailboxCreated
WhenChanged
WhenCreated
Identity
SKUAssigned

因为不知何故它只显示: 姓名、邮件、对象类别DistinguishedName,而 SMTP 地址列为空?

这是我得到的脚本:

function Get-EmailAddress
{
    [CmdletBinding()]
    param
    (
        [Parameter(Mandatory = $True,
                   ValueFromPipeline = $True,
                   ValueFromPipelineByPropertyName = $True,
                   HelpMessage = 'What e-mail address would you like to find?')]
        [string[]]$EmailAddress
    )

    process
    {       
        foreach ($address in $EmailAddress)
        {
            Get-ADObject -Properties mail, proxyAddresses -Filter "mail -like '*$address*' -or proxyAddresses -like '*$address*'" | 
                Select Name, 
                       Mail, 
                       ObjectClass,
                       @{Label='SMTP Address';Expression={ $address.proxyAddresses | ?{ $address -Like "*smtp*" } -replace 'smtp:' -join ';' }},
                       DistinguishedName
            Get-Recipient $address | 
                Select DisplayName, 
                       RecipientType, 
                       RecipientTypeDetails, 
                       EmailAddresses, 
                       *When*, 
                       Identity, 
                       SKUAssigned
        }
    }
}

Get-EmailAddress HelpDesk,ServiceDesk | Export-Csv -Path C:\TEMP\Result.csv -NoTypeInformation

我不得不经历类似的事情。

我不确定为什么,但你必须在你的 Get-ADObject -Properties SMTP 中包含 "SMTP" 属性 或者使用 -Properties *[=12= 获取它们]