을 나는 Determining the network connection link speed 을 발견하고 지금은 에서는 Win32_NetworkAdapter (또는 에서는 Win32_NetworkAdapterConfiguration)와 Win32_PerfRawData_Tcpip_NetworkInterface에서 데이터의 상관 관계를 위해 노력하고 있어요. 링크 속도 얻기 - Win32_PerfRawData_Tcpip_NetworkInterface
클래스Win32_PerfRawData_Tcpip_NetworkInterface
에 나는 어떤 인덱스 또는 내가 Win32_NetworkAdapterConfiguration
또는 Win32_NetworkAdapter. I tried to use the
이름 in
Win32_PerfRawData_Tcpip_NetworkInterface and
Win32_NetworkAdapter`를 참조하는 데 사용할 수있는 고유 키가 표시되지 않습니다,하지만 여전히 서로 다른 모양.
이름 : 인텔 (R) PRO/1000 PL 네트워크 연결
대 이름 : 인텔 (R) PRO_1000 PL 네트워크 연결
하나를 힌트?
아마 코드의 조각 당신이 나에게 사람들을 돕기 위해 도움이 될 것입니다 사전에===
MILDE을 주셔서 감사합니다 :)
# I got the DeviceID of a NIC and use it to get the "NetConnection ID":
$objWMIService = Win32::OLE->GetObject("winmgmts:\\\\$computer\\root\\CIMV2") or die "Exit: WMI connection failed. \n";
$colNicSetts = $objWMIService->ExecQuery(
"SELECT * FROM Win32_NetworkAdapter Where DeviceID = '$ID'", "WQL", wbemFlagReturnImmediately | wbemFlagForwardOnly);
foreach my $objItem (in $colNicSetts){
$NetConnID = $objItem->{NetConnectionID};
}
# => $NetConnID stores "Intel(R) PRO/1000 PL Network Connection".
# Now I tried to get the Link Speed with sth. like that:
$collItems = $objWMIService->ExecQuery(
"SELECT * FROM Win32_PerfRawData_Tcpip_NetworkInterface Where Name = '$NetConnID'", "WQL", wbemFlagReturnImmediately | wbemFlagForwardOnly);
foreach my $objItem (in $collItems){
$LinkSpeed = $objItem->{CurrentBandwidth};
}
# "Win32_PerfRawData_Tcpip_NetworkInterface" contains "Intel[R] PRO_1000 PL Network" Connection
# "Intel(R) PRO/1000 PL Network Connection" != Intel[R] PRO_1000 PL Network Connection
# => $LinkSpeed empty
당신이 정보를 얻을 방법을 보여줍니다 짧은 펄 스크립트를 게시 할 수 : 여기
내가 NetworkAdapter입니다에 대한 PnPEntity 인스턴스를 얻을 수 있었던 두 가지 방법이있다? 그대로, 같은 문제에 종사하지 않는 다른 사람들을 돕는 측면에서 게시물에 유용한 정보가 거의 없습니다. 어떤 어댑터 문자열이 어떤 소스에서 왔는지 알려주지 않습니다. 단어가 아닌 모든 문자를 '_'로 변환하여 문자열을 정규화 해 볼 수도 있지만 최후의 수단이 될 것입니다. –일부 코드가 추가되어 도움이 되었기를 바랍니다. 나는 와일드 카드에 대해서도 생각했다. 그러나 그것은 나를 위해 약간 안전하지 않은 것처럼 보인다. – Milde
나는 약간 늦었다 고 믿는다. 그러나 http://msdn.microsoft.com/en-us/library/system.diagnostics.performancecounter.instancename(v=vs.110)에서 명명 규칙에 관한 몇 가지주의 사항이있다.) .aspx - "인스턴스 이름이 자동으로 생성되고"(",") ","# ","\ "또는"/ "문자가 포함될 수있는 경우 다음 표의 문자 매핑을 사용하십시오. 그러나 이것은 isatap. {GUID} 나 인덱스 접미사와 같은 미친 이름을 매핑하는 데 도움이되지 않습니다. – mikalai