Question
Modifier DNS sur une carte réseau
- Tibreizh
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 1
- Remerciements reçus 0
il y a 12 ans 11 mois #14465
par Tibreizh
Modifier DNS sur une carte réseau a été créé par Tibreizh
Bonjour,
Voilà, je suis débutant et dans mon boulot j'ai eu besoin de changer les adresses DNS des postes utilisateurs distants.
J'ai repris ce code que j'ai légèrement transformé :
[code:1]$cred = Get-Credential
$ret = Read-Host \"Saisissez l'adresse IP cible\"
$colItems = get-wmiobject -class \"Win32_NetworkAdapterConfiguration\" -ComputerName $ret -Credential $cred | where{$_.IpEnabled -match \"True\"}
$strDNSservers = @(\"x.x.x.x\", \"y.y.y.y\"«»)
foreach ($objItem in $colItems) {
Write-Host \"Nom de la machine : \" $objItem.DNSHostName
write-host \"MAC Address : \" $objItem.MACAddress
write-host \"IPAddress : \" $objItem.IPAddress
write-host \"DNS Servers : \" $objItem.DNSServerSearchOrder
Write-host \"DNS suffixes: \" $objItem.DNSDomainSuffixSearchOrder
$objItem.SetDNSServerSearchOrder($strDNSservers)
}[/code:1]
Cela marche très bien, cependant lorsqu'il y a plusieurs interfaces réseaux, le code ci-dessus change les DNS pour toutes les interfaces.
Comment peut-on cibler une carte réseau en particulier pour changer le DNS afin de ne pas affecter le paramétrage des autres cartes ? (genre carte wifi, utilisée pour internet)
Merci pour votre aide.
Voilà, je suis débutant et dans mon boulot j'ai eu besoin de changer les adresses DNS des postes utilisateurs distants.
J'ai repris ce code que j'ai légèrement transformé :
[code:1]$cred = Get-Credential
$ret = Read-Host \"Saisissez l'adresse IP cible\"
$colItems = get-wmiobject -class \"Win32_NetworkAdapterConfiguration\" -ComputerName $ret -Credential $cred | where{$_.IpEnabled -match \"True\"}
$strDNSservers = @(\"x.x.x.x\", \"y.y.y.y\"«»)
foreach ($objItem in $colItems) {
Write-Host \"Nom de la machine : \" $objItem.DNSHostName
write-host \"MAC Address : \" $objItem.MACAddress
write-host \"IPAddress : \" $objItem.IPAddress
write-host \"DNS Servers : \" $objItem.DNSServerSearchOrder
Write-host \"DNS suffixes: \" $objItem.DNSDomainSuffixSearchOrder
$objItem.SetDNSServerSearchOrder($strDNSservers)
}[/code:1]
Cela marche très bien, cependant lorsqu'il y a plusieurs interfaces réseaux, le code ci-dessus change les DNS pour toutes les interfaces.
Comment peut-on cibler une carte réseau en particulier pour changer le DNS afin de ne pas affecter le paramétrage des autres cartes ? (genre carte wifi, utilisée pour internet)
Merci pour votre aide.
Connexion ou Créer un compte pour participer à la conversation.
- buissonneau
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 78
- Remerciements reçus 0
il y a 12 ans 11 mois #14474
par buissonneau
Francis
Réponse de buissonneau sur le sujet Re:Modifier DNS sur une carte réseau
un petit bout de script qui pourrait peut-être t'aider.
[code:1] # Get Network Information
$NetworkAdapter = $NetworkAdapterConfiguration |
where {$_.Index -match $Network.DeviceID -and $_.IPEnabled -eq $true } |
select -first 1
$IPAddress = ($NetworkAdapter.IpAddress | select -first 1).ToString()
$IPSubNet = ($NetworkAdapter.IPSubnet | select -first 1).ToString()
$MACAddress = $NetworkAdapter.MACAddress[/code:1]
Peut-être qu'avec le select -First tu aura ta solution
@+
[code:1] # Get Network Information
$NetworkAdapter = $NetworkAdapterConfiguration |
where {$_.Index -match $Network.DeviceID -and $_.IPEnabled -eq $true } |
select -first 1
$IPAddress = ($NetworkAdapter.IpAddress | select -first 1).ToString()
$IPSubNet = ($NetworkAdapter.IPSubnet | select -first 1).ToString()
$MACAddress = $NetworkAdapter.MACAddress[/code:1]
Peut-être qu'avec le select -First tu aura ta solution
@+
Francis
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.035 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Modifier DNS sur une carte réseau