This script can be used to configure DNS settings on each host in the cluster. It will set the DNS Server addresses and will also set the hostname to match what was used when adding it to vcenter. If you added the host to vcenter by IP then you will want to comment that section out.
As with any VMWare script, you will need the latest version of VMWare PowerCLI installed to run this.
Connect-VIServer vcenter.domain.com $Cluster = "Clustername" $ESXHosts = Get-Cluster $Cluster | Get-VMHost ForEach ($ESXHost in $ESXHosts){ #Set DNS Servers Get-VMHost | Get-VMHostNetwork | Set-VMHostNetwork -DnsAddress [8.8.8.8],[9.9.9.9] #Set DNS domain and search domains Get-VMHost | Get-VMHostNetwork | Set-VMHostNetwork -Domain domain -SearchDomain domain.com, child1.domain.com, child2.domain.com #Get hostname from vcenter, set Hostname $hostnamearray = $ESXHost.name.split(".") $hostname = $hostnamearray[0] Get-VMHostNetwork -VMHost $ESXHost | Set-VMHostNetwork -HostName $hostname }