我正在编写一个powershell脚本,以便将所有outlook-2013收件箱内容导出到excel工作表。我尝试了许多代码,但我得到了错误或不相关的输出。请帮帮忙。
发布于 2016-10-28 00:49:10
感谢您发布您的代码,因为这使我能够帮助您。通过将最后一行改为$folders.items | Get-Member,这将列出我看不到SenderAddress但看到SenderEmailAddress的所有可用属性。
其次,您需要可以在Outlook中打开并包含完整详细信息的输出。使用Out-File对最后一行进行管道连接将发送格式化为字符串表的数据。因此,让我们使用Excel将其导出为可以在Export-CSV中打开的格式。(请注意,如果您愿意,可以使用一些Excel Modules将其直接传输到xlsx。
两个小插曲。您仍然需要将XXXX/trial.csv替换为您希望保存此文件的位置。请注意,当您运行此命令时,您的PowerShell会话提升状态与Outlook匹配。如果将PowerShell提升为管理员身份/以管理员身份运行,而Outlook不是,则它将无法工作。
Function Get-OutlookInBox {
Add-Type -AssemblyName "Microsoft.Office.Interop.Outlook" | out-null
$olFolders = "Microsoft.Office.Interop.Outlook.olDefaultFolders" -as [type]
$Outlook = New-Object -ComObject Outlook.Application
$Namespace = $Outlook.GetNameSpace("MAPI")
$Folder = $Namespace.GetDefaultFolder($olFolders::olFolderInBox)
$Folder.Items | Select-Object -Property Subject, ReceivedTime, SenderName, SenderEmailAddress | Export-CSV -NoTypeInformation XXXX\Trial.csv
} https://stackoverflow.com/questions/40263725
复制相似问题