mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2024-11-16 23:55:50 -06:00
33 lines
1.1 KiB
PowerShell
33 lines
1.1 KiB
PowerShell
|
function Set-WinUtilDNS {
|
||
|
<#
|
||
|
|
||
|
.DESCRIPTION
|
||
|
This function will set the DNS of all interfaces that are in the "Up" state. It will lookup the values from the DNS.Json file
|
||
|
|
||
|
.EXAMPLE
|
||
|
|
||
|
Set-WinUtilDNS -DNSProvider "google"
|
||
|
|
||
|
#>
|
||
|
param($DNSProvider)
|
||
|
if($DNSProvider -eq "Default"){return}
|
||
|
Try{
|
||
|
$Adapters = Get-NetAdapter | Where-Object {$_.Status -eq "Up"}
|
||
|
Write-Host "Ensuring DNS is set to $DNSProvider on the following interfaces"
|
||
|
Write-Host $($Adapters | Out-String)
|
||
|
|
||
|
Foreach ($Adapter in $Adapters){
|
||
|
if($DNSProvider -eq "DHCP"){
|
||
|
Set-DnsClientServerAddress -InterfaceIndex $Adapter.ifIndex -ResetServerAddresses
|
||
|
}
|
||
|
Else{
|
||
|
Set-DnsClientServerAddress -InterfaceIndex $Adapter.ifIndex -ServerAddresses ("$($sync.configs.dns.$DNSProvider.Primary)", "$($sync.configs.dns.$DNSProvider.Secondary)")
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
Catch{
|
||
|
Write-Warning "Unable to set DNS Provider due to an unhandled exception"
|
||
|
Write-Warning $psitem.Exception.StackTrace
|
||
|
}
|
||
|
}
|