Date/Time Localization in Exchange Cmdlets

Exchange is nothing if not inconsistent with how date/time values are interpreted when used as an input parameter or when displayed as a property. I tested some cmdlets I commonly use and have documented how Exchange handles the input and output of the date/time values.

Get-MessageTrackingLog Input: Format is with respect to the time zone of the server to which your shell is connected.

Scenario: User in Pacific Time (PT) sends a message at 8:23 AM. If you are connected to a server in the same time zone, the input would be 8:23 AM.  If you are connected to a server in Mountain Time (MT), the input is 9:23 AM. Implicit remoting uses the server’s time, not the local workstation.

 

Output: Format is localized to the time zone of the shell running the cmdlet.

Scenario: Shell running on a server in MT will return the time adjusted for MT.  Implicit remoting uses the time of the machine running the shell, which means a system in PT with implicit remoting to a server in MT will return the time in PT.

Get-ActiveSyncDeviceStatistics Output: Format is displayed in UTC, regardless of time zone of the server connected to or the system running the shell.
Get-Queue Output: Format is localized to the time zone of the shell running the cmdlet.

Scenario: Shell running on a server in MT will return the time adjusted for MT.  Implicit remoting uses the time of the machine running the shell, which means a system in PT with implicit remoting to a server in MT will return the time in PT.

Set-MailboxAutoReplyConfiguration Input: Format is with respect to the time zone of the server to which your shell is connected.

Scenario: User in PT wants OOF to start at 9:00 AM. If you are connected to a server in the same time zone, the input would be 9:00 AM.  If you are connected to a server in MT, the input is 10:00 AM. Implicit remoting uses the server’s time, not the local workstation.

Get-MailboxAutoReplyConfiguration Output: Format is localized to the time zone of the shell running the cmdlet.

Scenario: Shell running on a server in MT will return the time adjusted for MT.  Implicit remoting uses the time of the machine running the shell, which means a system in PT with implicit remoting to a server in MT will return the time in PT.

Set-MailboxCalendarConfiguration Input: Format is a “literal” time that will always be interpreted to be local to the value of the WorkingHoursTimeZone property, regardless of the time zone of system running the shell.

Scenario: A user’s working hours start time needs to be changed to 9:00 AM local time. The input will be 9:00 AM, regardless of the user’s time zone, the time zone of the server connected to, or the system running the shell.

Get-MailboxCalendarConfiguration Output: Format is non-localized, always interpreted to be local to the WorkingHoursTimeZone property.

Scenario: A user’s working hours start time is 8:00 AM local time. The time will always be displayed as 8:00 AM, regardless of the time zone of the system running the shell.

Search-AdminAuditLog Input: Format is with respect to the time zone of the server to which your shell is connected.

Scenario: A change is made at 8:23 AM PT. If you are connected to a server in the same time zone, the input would be 8:23 AM.  If you are connected to a server in Mountain Time (MT), the input is 9:23 AM. Implicit remoting uses the server’s time, not the local workstation.

 

Output: Format is localized to the time zone of the shell running the cmdlet.

Scenario: Shell running on a server in MT will return the time adjusted for MT.  Implicit remoting uses the time of the machine running the shell, which means a system in PT with implicit remoting to a server in MT will return the time in PT.

Leave a Reply

Your email address will not be published. Required fields are marked *

*