Скрипт Powershell для Out of Office - PullRequest
0 голосов
/ 11 июня 2018

Я запускаю следующий сценарий PS1:

$userIdentity = "Firstname.Lastname"
$startTime = "06/13/18 13:00:00"
$endTime = "06/14/18 18:00:00"
$internalMessage = "Internal Message"
$externalMessage = "External Message"
Set-MailboxAutoReplyConfiguration -Identity $userIdentity -InternalMessage $internalMessage -ExternalMessage $externalMessage -AutoReplyState Scheduled -StartTime "$startTime" -EndTime "$endTime"

Но происходит сбой со следующей ошибкой:

Cmdlet error with following error message:
System.Management.Automation.ParentContainsErrorRecordException: 
Cannot process argument transformation on parameter 'StartTime'
Cannot convert value "13/06/2018 13:00:00" to type "System.DateTime". 
Error: "String was not recognized as a valid DateTime."

Похоже, проблема форматирования system.datetime, например, Великобританияскорее в американском формате или аналогичном, но следующее:

[datetime] "06/13/18 13:00:00"

возвращает

13 June 2018 13:00:00

Таким образом, система, очевидно, переводит это нормально - любая помощь будет в значительной степениценится!

Спасибо

1 Ответ

0 голосов
/ 10 апреля 2019

Мы также столкнулись с этой проблемой недавно.

Что мы заметили, так это то, что если команда Set-MailboxAutoReplyConfiguration используется в оболочке, где культура находится за пределами «en-us», она выигралаНе разбирайте даты правильно.

Используйте это в своем сеансе PowerShell, чтобы проверить культуру;

[System.Threading.Thread]::CurrentThread.CurrentCulture

Если это что-то отличное от "en-us", попробуйте установить язык отображения вашей ОС на«en-us» (убедитесь, что для региона установлено значение «Соответствовать языку отображения Windows»).Вам следует перезагрузить оболочку после смены языка.

После того, как мы оказались в регионе en-us, даты были разобраны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...