我必须使用 Powershell 来执行一些消息跟踪。这涉及使用 Start-HistoricalSearch 开始搜索,然后在完成后使用 Get-HistoricalSearch 获取结果。Get-HistoricalSearch 返回以下数据:
PS C:\Users\dscally> Get-HistoricalSearch -JobId "e4e8cecd-e943-4d61-b588-6a0a3c8d3cba" | select *
RunspaceId : 9b3d4d8f-c257-477e-b4e9-8379c2bf788f
JobId : e4e8cecd-e943-4d61-b588-6a0a3c8d3cba
Identity : e4e8cecd-e943-4d61-b588-6a0a3c8d3cba
SubmitDate : 09/06/2020 13:25:40
ReportTitle : First 50 People -90 Days Received
Status : Done
Rows : 171069
FileRows : 50000
ErrorCode :
ErrorDescription :
FileUrl : < report URL here>
ReportStatusDescription : Complete – Ready for download
ReportType : MessageTrace
NotifyAddress : {< my email address here >}
StartDate : 11/03/2020 14:25:40
EndDate : 09/06/2020 14:25:40
DeliveryStatus : All
SenderAddress : {}
RecipientAddress : {<addresses go here>...}
OriginalClientIP :
MessageID : {}
DLPPolicy : {}
TransportRule : {}
Locale : en-GB
Direction : All
CompletionDate : 09/06/2020 13:47:10
EstimatedCompletionTime :
JobProgress :
EncryptionType :
EncryptionTemplate :
IsSaved : False
NumOfBlocks : 0
CompressFile : False
NetworkMessageID : {}
Url :
理想情况下,我需要以编程方式获取 FileURL 属性所链接的报告。不幸的是,它位于 Microsoft SSO 身份验证页面后面,除了通过 GUI 之外,我很难做到这一点。有没有办法通过 Invoke-WebRequest 或其他 cmdlet 传递所需的身份验证,以便我可以使用脚本下载报告。
实际情况是,这样的按钮有几百个,我需要手动点击的次数比我真正想要的多。
答案1
尝试使用 Edge 下载日志:
$logg = Get-HistoricalSearch -JobId xxxxxx... | select FileUrl
& 'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe' $logg.FileUrl