1 votes

Modifier les DNS à l'aide de Powershell

J'ai ce powershell script qui change les paramètres DNS. Le script ci-dessous fonctionne bien, mais je veux filtrer par adresse MAC pour m'assurer que je modifie le bon NIC.


Ordinateur $computer = "pc01".

$NICs = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Computer $computer -Filter "IPEnabled=TRUE"

$DNSServers = "192.168.1.1", "192.168.1.2"

foreach($NIC in $NICs) { $NICs.SetDNSServerSearchOrder($DNSServers)


J'ai donc modifié le filtre pour utiliser l'adresse MAC. Mais j'obtiens l'erreur suivante.


Ordinateur $computer = "pc01".

$NICs = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Computer $computer -Filter "MACAddress=00:1E:55:40:70:E8"

$DNSServers = "192.168.1.1", "192.168.1.2"

foreach($NIC in $NICs) { $NICs.SetDNSServerSearchOrder($DNSServers)

Sortie :

Requête non valide + $NICs = Get-WmiObject <<<< -Class Win32_NetworkAdapterConfiguration -Computer $computer -Filter "MACAddress=00:1E:65:40:80:E4"

Il n'est pas possible d'appeler une méthode sur une expression de valeur nulle. + $NICs.SetDNSServerSearchOrder <<<< ($DNSServers)

1voto

Elshan Points 121

Essayez une clause Where pour l'adresse MAC : $NICs = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Computer $computer | Where {$_.MACAddress -eq $MAC}

Cela a fonctionné pour moi

0voto

Nick Points 256

Mettre le ' autour de ce qui est filtré. L'utilisation de -filter est préférable à l'utilisation de where {} en raison de la manière dont les données sont traitées. L'utilisation du where {} implique le chargement de tous les objets de la base de données Get-WmiObject et de les filtrer. L'utilisation de l'outil -filter effectue le filtrage immédiatement, ce qui réduit le nombre de données à traiter et le temps nécessaire à l'exécution du script.

$NICs = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Computer $computer -Filter "MACAddress='00:1E:55:40:70:E8'"

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X