使用PowerCLI给ESXi批量设置时间和配置NTP

在现代企业业务系统或生产中,时间同步很重要。现在VMware的虚拟化应用非常广泛,给ESXi宿主机一个统一准确的时间,也给客户机系统一个准确的时间。

环境中有很少主机可以手动设置,但是到了10几台甚至更多,手动设置慢还容易出错。好吧,相信你也比较懒,懒人有懒办法。

关于VMware PowerCLI是什么东西,以及如何安装,在 命令行操作vSphere–VMware PowerCLI安装 这篇文章里有详细介绍,此处不再叨叨啦。

原理嘛就是用PowerCLI连接到VC上边去,给ESXi下发配置并配置重启ntp,ESXi所有的高级设置都可以设置,我发现真是个好东西!

好了,下面就直接丢代码出来了。下面介绍了一次性设置时间和设置NTP两种方式,各取所需。当然,都是全自动的。

#连接VC
$VC='192.168.xx'
$UName='administrator@vsphere.local'
$UPass='yourpass'
Connect-VIServer -Server $VC -User $UName -Password $UPass

#更改主机时间
Foreach($HostIP in Get-VMHost){
	$esxcli = Get-EsxCli -VMHost $HostIP -V2
	$arguments = $esxcli.system.time.set.CreateArgs()
	$arguments.year = $(Get-Date -Format 'yyyy')
	$arguments.month = $(Get-Date -Format 'MM')
	$arguments.day = $(Get-Date -Format 'dd')
	$arguments.hour = $(Get-Date -Format 'HH')-8
	$arguments.min = $(Get-Date -Format 'mm')
	$esxcli.system.time.set.Invoke($arguments)
}
#设置NTP
Foreach($HostIP in Get-VMHost){
	Add-VmHostNtpServer -NtpServer "120.25.115.20" -VMHost $HostIP
	Add-VmHostNtpServer -NtpServer "ntp1.aliyun.com" -VMHost $HostIP
	Get-VMHostService -VMHost $HostIP | where { $_.Key -eq "ntpd" } | Start-VMHostService
	Get-VMHostService -VMHost $HostIP | where { $_.Key -eq "ntpd" } | Set-VMHostService -Policy "on" -Confirm:$false
}
#查询主机时间
Foreach($HostIP in Get-VMHost){
	$esxcli = Get-EsxCli -VMHost $HostIP -V2
	$esxcli.system.time.get.Invoke()
}

  

Get-VMHost获取的是当前VC下边的所有主机,作用范畴也是当前VC下边的所有主机。

解读:第一个代码块是连接VC,第二个是获取你本机的当前时间设置到ESXi主机,第三个是设置NTP并重启服务与设置开机自启,第四个是查询下各主机时间。懂点编程或聪明点的小伙伴一看就懂了!

转载于:https://www.cnblogs.com/zilong666/p/11032564.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值