Я пытался сделать аудит скосов времени на некоторых моих хостах недавно. Используя PowerCLI я нашел несколько сценариев той ссылкой ConfigManager. DateTimeSystem для получения даты и времени Хоста ESXI. Однако Несколько хостов, кажется, имеют в 2 раза свойства HostDateTimeSystem записей/2. Иногда они - то же, иногда они отличаются.
Хосты являются всем ESXi 5.5.
Используя: получать-представление-ViewType HostSystem - Имя Свойства, ConfigManager. DateTimeSystem | Имя вида | выбирают Имя, {Имя = "Текущий VMHostTime"; Выражение = {($ Получать-представления _.ConfigManager. DateTimeSystem) }}
Current VMHost Time
7/9/2014 3:55:20 PM
{7/9/2014 3:40:57 PM, 7/9/2014 3:55:20 PM} <------ Two entries at different times
7/9/2014 3:55:20 PM
7/9/2014 3:55:20 PM
7/9/2014 3:55:20 PM
7/9/2014 3:55:20 PM
{7/9/2014 3:55:20 PM, 7/9/2014 3:42:07 PM}
7/9/2014 3:55:20 PM
7/9/2014 3:55:20 PM
7/9/2014 3:43:16 PM
7/9/2014 3:40:39 PM
7/9/2014 3:41:26 PM
{7/9/2014 3:42:07 PM, 7/9/2014 3:55:20 PM}
7/9/2014 3:43:29 PM
7/9/2014 3:42:37 PM
7/9/2014 3:41:43 PM
7/9/2014 3:42:43 PM
7/9/2014 3:41:25 PM
{7/9/2014 3:40:58 PM, 7/9/2014 3:55:21 PM}
Опуская фактическое форматирование даты я вижу следующее:
Текущее время VMHost
VMware.Vim.HostDateTimeSystem
{VMware.Vim.HostDateTimeSystem, VMware.Vim.HostDateTimeSystem} <--- Two entries for the host time???
VMware.Vim.HostDateTimeSystem
VMware.Vim.HostDateTimeSystem
VMware.Vim.HostDateTimeSystem
VMware.Vim.HostDateTimeSystem
{VMware.Vim.HostDateTimeSystem, VMware.Vim.HostDateTimeSystem}
VMware.Vim.HostDateTimeSystem
VMware.Vim.HostDateTimeSystem
VMware.Vim.HostDateTimeSystem
VMware.Vim.HostDateTimeSystem
VMware.Vim.HostDateTimeSystem
{VMware.Vim.HostDateTimeSystem, VMware.Vim.HostDateTimeSystem}
VMware.Vim.HostDateTimeSystem
VMware.Vim.HostDateTimeSystem
VMware.Vim.HostDateTimeSystem
VMware.Vim.HostDateTimeSystem
VMware.Vim.HostDateTimeSystem
{VMware.Vim.HostDateTimeSystem, VMware.Vim.HostDateTimeSystem}
У кого-либо есть какая-либо идея, почему/как рука, полная хостов, имеет в 2 раза записи? Это может быть исправлено так, мы можем быть уверены, что хосты установлены на единственное категорическое время?
Мне не удалось найти хосты ESXi, отображающие несколько дат.Не могли бы вы опубликовать свой сценарий полностью?
Ниже приведен сценарий PowerCLI, показывающий разницу во времени между рабочей станцией, vcenter и хостами ESXi. Мне любопытно увидеть результат для ваших хостов с несколькими отметками времени:
Clear-Host
$ErrorActionPreference = "Continue"
$DebugPreference = "SilentlyContinue"
$VerbosePreference = "SilentlyContinue"
@"
## get_TIMEDRIFT.ps1 ##########################################################
Usage: powershell -ExecutionPolicy Bypass -File ./get_TIMEDRIFT.ps1
Version: 1.0 (20140915)
Purpose: Quickly Display time-drift between Workstation, vCenter, and ESXi
hosts. For the purpose of finding ESXi hosts which can cause
issues if VMs are set to sync time through VMware Tools.
vCAC/IAAS servers will not work propertly if not in sync with SSO
Requirements: Windows Powershell and running on machine with VI Tools/powercli
History: 09/15/2014 - Created
###############################################################################
"@
## Virtual Center Server to test for time-drift against.
$VCServer = "VCEN.TEST.LOCAL"
## If running PS1 script from Powershell instead of PowerCLI, load vcen snap-in
$SIval = Get-PSSnapin -Name VMware.VimAutomation.Core `
-ErrorAction SilentlyContinue
if (($SIval) -eq $null) { Add-PSSnapin VMware.VimAutomation.Core }
## Logon to vCenter Server, will prompt for name/password if not saved.
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore `
-Scope Session `
-Confirm:$false
$VC = Connect-VIServer $VCServer
Write-Output "Connected to '$($VC.Name):$($VC.port)' as '$($VC.User)'"
## Get vCenter and LocalSystem timestamps and drift
# get LocalSystem time
$_localtime = Get-Date
$_localtimeUTC = $_localtime.ToUniversalTime()
# get vCenter time
$_vctime = $VC.ExtensionData.ServerClock
$_vctimeUTC = $_vctime.ToUniversalTime()
# determine time drift between LocalSystem and vCenter
$_localdrift = ($_localtimeUTC - $_vctimeUTC).duration()
## Loop through ESX hosts writing output for each
$vmhosts = Get-VMHost
foreach($esx in $vmhosts){
$esxview = Get-View -viewtype "HostSystem" -Filter @{"Name" = $esx.Name}
$esxdatetimesystem = $esxview.configmanager.datetimesystem
$_remote = Get-View -Id $esxdatetimesystem
$_remotetime = $_remote.QueryDateTime()
$_remotetimeUTC = $_remotetime.ToUniversalTime()
$_vctime = $VC.ExtensionData.ServerClock
$_vctimeUTC = $_vctime.ToUniversalTime()
$_remotedrift = ($_remotetimeUTC - $_vctimeUTC).duration()
Write-Output " $esx Time drift from vCenter in minutes:: '$($_remotedrift.Totalminutes)'"
}
## Ouput timestamps for Local Workstation, and vCenter Server
Write-Output " vCenter Server UTC:: $_vctime"
Write-Output " Workstation (Actual | UTC):: $_localtime | $_localtimeUTC"
Write-Output " Local workstation Time drift from vCenter in minutes:: '$($_localdrift.Totalminutes)'"
## Disconnect user from vCenter Server
Write-Output "Disconnecting '$($VC.User)' from '$($VC.Name):$($VC.port)'"
Disconnect-VIServer $VC -Confirm:$false
Пример вывода ниже:
Connected to 'VCEN.TEST.LOCAL:443' as 'TEST\FMLast'
192.168.15.149 Time drift from vCenter in minutes:: '10280.9866862833'
192.168.15.159 Time drift from vCenter in minutes:: '10281.0125832833'
192.168.15.167 Time drift from vCenter in minutes:: '10281.0392954333'
192.168.15.168 Time drift from vCenter in minutes:: '10281.0690222667'
192.168.15.26 Time drift from vCenter in minutes:: '10281.0986537667'
192.168.15.24 Time drift from vCenter in minutes:: '10281.1276888833'
192.168.15.25 Time drift from vCenter in minutes:: '10281.1569679333'
192.168.15.22 Time drift from vCenter in minutes:: '10281.1863135333'
192.168.15.27 Time drift from vCenter in minutes:: '10281.2183166667'
192.168.15.23 Time drift from vCenter in minutes:: '10281.246763'
vCenter Server UTC:: 09/08/2014 16:38:04
Workstation (Actual | UTC):: 09/15/2014 15:59:01 | 09/15/2014 19:59:01
Local workstation Time drift from vCenter in minutes:: '10280.9408839317'
Disconnecting 'TEST\FMLast' from 'VCEN.TEST.LOCAL:443'