Я не могу упрекнуть ни один из ответов здесь, потому что ОП принял один из них как решение своей проблемы. Тем не менее, я нашел их недостатки в одном отношении. Когда вы выводите результат присваивания переменной, он содержит множество пустых строк, а не только искомый ответ. Пример:
PS C:\brh> [datetime](Get-ItemProperty -Path .\deploy.ps1 -Name LastWriteTime).LastWriteTime
Friday, December 12, 2014 2:33:09 PM
PS C:\brh>
Я фанат двух вещей в коде, краткости и правильности. brianary имеет право на лаконичность с кончиком шляпы перед Роджером Липскомбом, но оба упускают правильность из-за лишних строк в результате. Вот то, что я думаю, что ОП искал, так как это то, что заставило меня преодолеть финишную черту.
PS C:\brh> (ls .\deploy.ps1).LastWriteTime.DateTime
Friday, December 12, 2014 2:33:09 PM
PS C:\brh>
Обратите внимание на отсутствие дополнительных строк, только той, которую PowerShell использует для разделения запросов. Теперь это можно присвоить переменной для сравнения или, как в моем случае, сохранить в файле для чтения и сравнения в более позднем сеансе.