Выходные данные команды Powershell конвертируются в дату и время - PullRequest
0 голосов
/ 10 января 2019

Как преобразовать вывод команды powershell, который извлекает некоторую дату / время, как в читаемую строку даты / времени? команда

((Get-ComputerRestorePoint)[-1]).CreationTime

который в основном извлекает дату и время создания последней точки восстановления, но в более странном формате, например 20190109100614.556883-000

Ответы [ 2 ]

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

причина, по которой ваша предыдущая попытка не удалась, заключается в том, что вы пошли на это логически вместо того, чтобы делать это с помощью метки времени WMI. [ ухмылка ] это работает ...

#requires -RunAsAdministrator

$RPCreationTime = (Get-ComputerRestorePoint)[-1]
$RPCreationTime = $RPCreationTime.ConvertToDateTime($RPCreationTime.CreationTime)

# the Out-Host is needed to avoid the display system trying to combine the two items
$RPCreationTime.GetType() | Out-Host
$RPCreationTime 

вывод ...

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     DateTime                                 System.ValueType


2019 January 09, Wednesday 3:00:13 AM
0 голосов
/ 10 января 2019

Преобразование может быть сделано через объект RestorePoint. Вот так

$rp=((Get-ComputerRestorePoint)[-1])
$rp.ConvertToDateTime($rp.CreationTime).ToString("u")

# Result
2019-01-08 08:24:24Z

Формат u - это универсальный сортируемый разделитель, также есть немало альтернатив.

...