# Define the new DNS server IP addresses
$dnsServers = "8.8.8.8", "1.1.1.1", "8.8.4.4"
# Define the OU where you want to change DNS servers
$OU = "OU=server,DC=domain,DC=local" # Replace with your actual OU path
# Create an array to store results
$results = @()
# Get all computer objects in the specified OU
$computers = Get-ADComputer -Filter {Name -like "AZ-EIW-DC01*"} -SearchBase $OU
# Loop through each computer object
foreach ($computer in $computers) {
$computerName = $computer.Name
$computerDN = $computer.DistinguishedName
try {
# Set the DNS server IP addresses on the remote computer
Invoke-Command -ComputerName $computerName -ScriptBlock {
$networkAdapter = Get-NetAdapter | Where-Object { $_.Status -eq 'Up' }
Set-DnsClientServerAddress -InterfaceAlias $networkAdapter.Name -ServerAddresses $using:dnsServers -ErrorAction Stop
}
# Record the success in the results array
$results += [PSCustomObject]@{
ComputerName = $computerName
Status = "Success"
}
}
catch {
# If an error occurs, record the failure in the results array
$results += [PSCustomObject]@{
ComputerName = $computerName
Status = "Error: $_"
}
}
}
# Export the results to a CSV file
$results | Export-Csv -Path "C:\Temp\DNSChangeResults.csv" -NoTypeInformation
# Display the results on the console
$results
Leave a Reply
You must be logged in to post a comment.