2010-06-09 22 views

cevap

8

Temel komut ilgili haklara sahip sağlanan birden çok bilgisayara karşı bu çalışabilmesi için BilgisayarAdı parametresi bir dizi sürdüğünü

Get-WmiObject -ComputerName 'servername' -Class Win32_NetworkAdapter | ` 
    Where-Object { $_.Speed -ne $null -and $_.MACAddress -ne $null } | ` 
    Format-Table -Property SystemName,Name,NetConnectionID,Speed 

Not olduğunu. Kullanılabilir özelliklerin daha kapsamlı bir listesini almak için Format-Tablo özellik listesini ***** ile değiştirin. İlgilendiğiniz girişlerden kurtulmak için bu özelliklere filtre uygulamak isteyebilirsiniz.

Yerleşik bayt Çoğaltıcısı soneklerini (MB, GB vb.) Kullanmak, gereksinimlerinize bağlı olarak hızı daha okunabilir hale getirir. Bunu Biçim Tablosu-Özellik dizisinde ör. Karma bir girdi olarak belirtebilirsiniz.

Format-Table -Property NetConnectionID,@{Label='Speed(GB)'; Expression = {$_.Speed/1GB}} 
+0

Güzel cevap! -ne $ null' parçalarını kaldırırdım. –

+0

Aslında Win32_NetworkAdapter sınıfı için iade edilen birkaç giriş var, bir göz atın. Gerçek fiziksel kartlar için gerçek girdileri görebilmem için girişleri filtrelemek için -ne $ null kullanıyorum, ancak uygun gördüğünüz gibi uyarlayabilirsiniz. –

+0

[System.Net.NetworkInformation.NetworkInterface] :: GetAllNetworkInterfaces() yalnızca yerel makineye karşı çalışır. –

0

Bulunduğum sürümü, bluetooth ve kablosuz kartları (Powershell -dosyadan script.ps1 ile çalıştırın) yaptırmayı:

# return network speed as exit code 

$speed = Get-WmiObject -Class Win32_NetworkAdapter | 
where { $_.speed -and $_.macaddress -and 
$_.name -notmatch 'wireless|wi-fi|bluetooth|802\.11' } | select -expand speed 
exit $speed/1000000 
İlgili konular