Hi and thanks for any assistance.
We have roughly 80 ESXi hosts running a mixture of 6.7 and 7.03. I would like to use Powercli to access each one, remove any currently configure NTP setting and replace with a new one. I have no idea where to start with this one, could somebody please help?
You can use the Remove-VMHostNTPServer and Add-VMHostNtpServer cmdlets.
Something like this perhaps
$new = '192.168.1.1','192.168.1.2'
Get-VMHost | ForEach-Object -Process {
$current = Get-VMHostNtpServer -VMHost $_
Remove-VMHostNtpServer -VMHost $_ Get-VMHostNtpServer $current -Confirm:$false
Add-VMHostNtpServer -VMHost $_ -NtpServer $new -Confirm:$false
}
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
Thanks, Could this be addapted to refrence a list of ESXhost names from a csv file?
Assuming your CSV has a column, named Name, with the VMHost names, you could do
$new = '192.168.1.1','192.168.1.2'
Import-Csv -Path .\names.csv -UseCulture |
ForEach-Object -Process {
$esx = Get-VMHost $_.Name
$current = Get-VMHostNtpServer -VMHost $esx
Remove-VMHostNtpServer -VMHost $esx Get-VMHostNtpServer $current -Confirm:$false
Add-VMHostNtpServer -VMHost $esx -NtpServer $new -Confirm:$false
}
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference