Purpose:
This is my first powershell script. It connects to a esxi host and removes all NTP servers dynamically then sets the new ones.
param([string]$VC, [string]$NTP1, [string]$NTP2) If ($VC){$strVC = $VC} ELSE{$strVC = Read-Host "What is the Vcenter hostname?"} If (!$strVC){Write-Host "Error: Vcenter not entered";exit} If ($NTP1){$strNTP1 = $NTP1} ELSE{$strNTP1 = Read-Host "What is the first NTP server?"} If (!$strNTP1){Write-Host "Error: NTP1 not entered need at least one NTP server";exit} If ($NTP2){$strNTP2 = $NTP2} ELSE{$strNTP2 = Read-Host "What is the second NTP server?"} Connect-VIServer -Server $strVC #Enter your vCenter Server $NtpServers = @($strNTP1,$strNTP2) #http://day2dayadmin.blogspot.com/2009/10/ntp-powershell-its-about-time.html $ESXHosts = Get-VMHost | Select-Object Name,@{Name="NTP Server";Expression={$_ | Get-VMHostNtpServer}}, @{Name="NTP Running";Expression={($_ | Get-VMHostService | Where-Object {$_.key -eq "ntpd"}).Running}} | Sort-Object -Property "NTP Running", "NTP Server" ForEach ($ESXHost in $ESXHosts) { #Write-Host $ESXHost #remove current NTP servers Write-Host "Removing NTP servers" -BackgroundColor "Green" -ForegroundColor "Black" Remove-VMHostNtpServer -NtpServer $ESXHost."NTP Server" -VMHost $ESXHost.Name #Add new NTP servers Write-Host "Adding New NTP servers" -BackgroundColor "Green" -ForegroundColor "Black" Add-VmHostNtpServer -NtpServer $NtpServers -VMHost $ESXHost.Name #Stop NTP service Write-Host "Stopping NTP Service" -BackgroundColor "Green" -ForegroundColor "Black" Get-VmHostService -VMHost $ESXHost.Name | Where-Object {$_.key -eq "ntpd"} | Restart-VMHostService } Write-Host "Done!"
Comments
Post a Comment