I have to make a mass change to a bunch of dns forwarders IP addresses. My issue is I’m importing a CSV of the server and IP addresses. When I run my code I get:
Set-DnsServerForwarder : Cannot process argument transformation on parameter 'IPAddress'. Cannot convert value
"172.27.231.254, 172.27.254.68, 172.27.227.49, 172.28.5.47" to type "System.Net.IPAddress[]". Error: "Cannot convert value
"172.27.231.254, 172.27.254.68, 172.27.227.49, 172.28.5.47" to type "System.Net.IPAddress". Error: "An invalid IP address
was specified.""
CODE:
$newForwarders = import-csv -path C:\Temp\ADQueries\VA_DNSForwarders_new.csv
$newforwarders | ForEach-Object {
$IP = [IPAddress]$_.NewIP.Trim()
write-host $_.name "and" $_.newip
Get-DnsServerForwarder -ComputerName $_.name | select-object name,ipaddress
Set-DnsServerForwarder -ComputerName $_.name -IPAddress $IP
Get-DnsServerForwarder -ComputerName $_.name | select-object name,ipaddress
}
I added this as you can see above to convert the value but of course I have a string of multiple IP values. Any ideas how I resolve this? As now I’m getting:
Cannot convert value "172.27.254.68,172.27.227.49,172.28.5.47" to type "System.Net.IPAddress". Error: "An invalid IP
address was specified."
List of data in csv:
IPAddress,NewIP,Name
"172.27.254.68, 172.26.1.59, 172.26.134.11","172.27.254.68,172.27.227.49,172.28.5.47",IAD0DC.domain.com
"172.26.1.59, 172.26.134.11, 172.29.74.44","172.27.227.49, 172.28.5.47",CLE7DC.domain.com