Идею для моей очередной функции Get-VMHostBirthday я позаимствовал из статьи известного блогера Магнуса Андерссона (Magnus Andersson), который задался интересным вопросом: «Как узнать дату и время установки хоста ESXi?».
Вопрос, как оказалось, не такой уж простой, но решение, предложенное автором, мне показалось чересчур сложным по отношению к цене вопроса.
Согласитесь, подключиться к хосту по SSH и запустить esxcli, потом конвертировать полученное 16-ричное число в 10-ричное и, наконец, с помощью онлайн конвертера, конвертировать полученную величину в дату - не слишком ли?
Зато для PowerShell это абсолютно тривиальная задача, которую фактически можно решить «в одну строчку».
Get-VMHostBirthday, как и одна из моих предыдущих функций, создана в виде PowerShell фильтра и включена в мой PowerCLI-модуль для управления виртуальной инфраструктурой VMware Vi-Module.psm1.
Как и всегда, рекомендую вам начать с просмотра примеров, включённых в функцию:
PS C:\> Get-Help Get-VMHostBirthday –Examples
В статье хочу показать вам лишь один пример использования данной функции. Для начала, подключитесь к вашему хосту/хостам ESXi или к vCenter с помощью Connect-VIServer, затем сделайте выборку хостов с помощью Get-VMHost, выберите только интересующие вас свойства (select Name, Version) и добавьте своё, допустим InstallDate или Birthday (@{N=”Birthday”;E={$_ | Get-VMHostBirthday}}).
Обратите внимание, что тип возвращаемой величины не просто [String] (набор символов), а структура [DateTime], которую можно форматировать при помощи метода ToString(). По умолчанию дата форматируется в соответствии с вашими региональными настройками.