PowerShell无法将SMTPAddress详细信息导出到.CSV?

时间:2018-09-20 05:47:07

标签: powershell active-directory office365 exchange-server

我需要以下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

因为它只显示以下内容: 名称,邮件,对象类专有名称,而“ 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

谢谢。

1 个答案:

答案 0 :(得分:1)

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

我不确定为什么,但是您必须在Get-ADObject -Properties SMTP中包括“ SMTP”属性,或者仅通过使用-Properties *来获得它们