This is a port of one of my previous EWS powershell scripts that produces a freebusy board using EWS. The advantage of this one is that it uses the EWS Managed API and it also exposes the private enums on the appointment details so it avoids publishing any appointments that are marked as private. For those familiar with using the EWS Managed API its also a lot easier to customize to your own needs. For details on how and why it work please see the previous post linked up the top. I’ve put a download the code here the code itself look like $dllpath = "C:\Program Files\Microsoft\Exchange\Web Services\1.0\Microsoft.Exchange.WebServices.dll" [void][Reflection.Assembly]::LoadFile($dllpath) $service = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService([Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2007_SP1) $windowsIdentity = [System.Security.Principal.WindowsIdentity]::GetCurrent() $sidbind = "LDAP://<SID=" + $windowsIdentity.user.Value.