VMware ESXi QueryDateTime()方法示例
本文关键字:方法 ESXi QueryDateTime VMware | 更新日期: 2023-09-27 18:24:53
我正在尝试编写一个应用程序,该应用程序将作为vCenter服务器上的计划任务运行,并将监视群集中每个主机的当前时间。时间由NTP设置,但我看到运行在这些主机上的虚拟机服务器最多会超时一分钟,需要监控发生了什么。
我的主机正在运行ESXi v5.1
根据文件(http://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/vim.host.DateTimeSystem.html#queryDateTime)有一种方法可以获得主机的当前DateTime-CCD_ 1。
不过,我正在努力让它发挥作用。。。。我的示例代码如下。它总是抱怨QueryDateTime
方法不存在!
这可能是我不理解SDK,但我无法理解。。。。。
VimClient vimClient = new VimClient();
vimClient.Connect(vcenter.ServiceURL);
vimClient.Login(vcenter.Username, vcenter.Password);
List<EntityViewBase> hosts = vimClient.FindEntityViews(typeof(VMware.Vim.HostSystem), null, null, null);
foreach (HostSystem host in hosts)
{
Console.WriteLine(host.Config.Network.Vnic[0].Spec.Ip.IpAddress);
HostConfigManager hostConfigManager = host.ConfigManager;
HostDateTimeSystem hostDateTimeSystem = hostConfigManager.DateTimeSystem;
DateTime hostDateTime = hostDateTimeSystem.QueryDateTime();
}
您应该试试这个。
foreach (HostSystem host in vmHosts)
{
HostConfigManager hostConfigManager = host.ConfigManager;
HostDateTimeSystem hostDateTimeSystem = (HostDateTimeSystem) vimClient.GetView(hostConfigManager.DateTimeSystem, null));
DateTime hostDateTime = hostDateTimeSystem.QueryDateTime();
}