使用 PowerShell 和 EWS 获取 Exchange 2016 用户会议信息
以下是一个使用 PowerShell 脚本调用 EWS 获取指定用户会议信息的示例,适用于 Exchange Server 2016:/n/nPowerShell/n# 设置 Exchange Web Services (EWS) URL/n$EWSURL = 'https://[Exchange服务器地址]/EWS/Exchange.asmx'/n/n# 获取用户凭据/n$Credential = Get-Credential/n/n# 设置要获取会议信息的用户邮箱/n$Mailbox = '[用户邮箱]'/n/n# 设置要获取的会议信息的开始时间和结束时间/n$Start = Get-Date/n$End = $Start.AddDays(7)/n/n# 创建 EWS 会话/n$EWSSession = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService([Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2016_SP1)/n$EWSSession.Credentials = $Credential/n$EWSSession.Url = $EWSURL/n/n# 通过 EWS 获取会议信息/n$CalendarFolderID = New-Object Microsoft.Exchange.WebServices.Data.FolderId([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::Calendar, $Mailbox)/n$CalendarFolder = [Microsoft.Exchange.WebServices.Data.CalendarFolder]::Bind($EWSSession, $CalendarFolderID)/n/n$CalendarView = New-Object Microsoft.Exchange.WebServices.Data.CalendarView($Start, $End)/n$CalendarView.PropertySet = New-Object Microsoft.Exchange.WebServices.Data.PropertySet([Microsoft.Exchange.WebServices.Data.BasePropertySet]::FirstClassProperties)/n$CalendarView.Traversal = [Microsoft.Exchange.WebServices.Data.ItemTraversal]::Shallow/n/n$Appointments = $CalendarFolder.FindAppointments($CalendarView)/n/n# 输出获取到的会议信息/nforeach ($Appointment in $Appointments) {/n Write-Host 'Subject: $($Appointment.Subject)'/n Write-Host 'Location: $($Appointment.Location)'/n Write-Host 'Start Time: $($Appointment.Start.ToString())'/n Write-Host 'End Time: $($Appointment.End.ToString())'/n Write-Host 'Organizer: $($Appointment.Organizer.Name)'/n Write-Host 'Attendees: $($Appointment.RequiredAttendees.Name)'/n Write-Host ''/n}/n/n/n使用说明:/n/n1. 将脚本中的以下内容替换为实际的信息:/n - [Exchange服务器地址] - Exchange 服务器的地址/n - [用户邮箱] - 要获取会议信息的用户邮箱/n2. 将脚本保存为 .ps1 文件,例如 Get-UserCalendar.ps1。/n3. 在 PowerShell 中运行脚本,例如 ./Get-UserCalendar.ps1。/n4. 运行脚本时,将提示输入用户凭据。输入正确的凭据后,脚本将输出指定用户在指定时间范围内的所有会议信息。/n/n注意:/n/n- 该脚本获取默认日历中的会议信息。/n- 时间范围默认为当前时间到七天后。您可以根据需要修改 $Start 和 $End 变量的值。/n- 该脚本需要管理员权限才能访问 Exchange Web Services (EWS)。/n- 确保您的 PowerShell 环境已安装 Exchange Online 管理模块。/n- 如果您使用的是 Exchange Server 2019 或更高版本,则需要将脚本中的 ExchangeVersion 设置为 Exchange2019。/n- 如果您需要获取其他会议信息,例如会议参与者详细信息,您可以修改 $CalendarView.PropertySet 变量的值。/n/n希望本示例对您有所帮助。如果您有任何问题,请随时提出。
原文地址: https://www.cveoy.top/t/topic/oMXR 著作权归作者所有。请勿转载和采集!