2017-07-17 7 views
2

J'essaie de créer un script PowerShell pour obtenir la vitesse de la carte réseau des hôtes distants et générer le résultat final dans un fichier txt.Script Powershell pour obtenir la vitesse de la carte réseau des hôtes distants

Jusqu'à présent, ce que j'ai:

Hostname 
Get-NetAdapter | SELECT LinkSpeed 
Out-File C:\CheckNIC-Speed\checknic.txt 

C'est un script pour l'ordinateur local, mais il ne sera pas aussi sortie les résultats au txt, au lieu il suffit de créer un vide fichier. Maintenant, je dois également l'exécuter sur plusieurs hôtes distants et obtenir la sortie dans le même fichier.

Merci.

Répondre

0
("Server1","Server2","Server3") | Foreach { 
    Invoke-Command -ComputerName $_ -ScriptBlock { 
     [PSCustomObject]@{ 
      LinkSpeed = (Get-NetAdapter).LinkSpeed -join " & " 
      HostName = $env:COMPUTERNAME 
     } 
    } 
} | Out-File "C:\File.txt" 

Ceci devrait récupérer des informations pour n'importe lequel des serveurs listés entre parenthèses, vous pouvez aussi importer depuis une liste.

chercher Invoke-Command Aide si vous avez besoin de faire ce genre de chose.

0

Vous pouvez utiliser wmi-objet pour le même:

get-wmiobject win32_networkadapter -ComputerName Server01,Server02,Server03 | select name,speed, pscomputername 
+0

J'ai essayé, mais le résultat est pas bon .. je reçois tous les périphériques cachés ainsi, et la vitesse n'est pas la vitesse réelle : WAN Miniport (IP) Broadcom NetXtreme Gigabit Ethernet # 2 9223372036854775807 RAS Async Adaptateur Microsoft ISATAP adaptateur # 2 100000 Broadcom NetXtreme Gigabit Ethernet # 3 9223372036854775807 teredo Pseudo-Interface 100000 Broadcom NetXtreme Gigabit Ethernet # 4 9223372 036854775807 Adaptateur Microsoft ISATAP n ° 3 100000 Adaptateur Microsoft ISATAP n ° 4 100000 – Shlomi