encontré Determining the network connection link speed y ahora estoy tratando de correlacionar los datos de Win32_PerfRawData_Tcpip_NetworkInterface con Win32_NetworkAdapter (o Win32_NetworkAdapterConfiguration).Obtener vínculo velocidad - Win32_PerfRawData_Tcpip_NetworkInterface
En la clase Win32_PerfRawData_Tcpip_NetworkInterface
no veo ningún índice o clave única que puedo usar para hacer referencia Win32_NetworkAdapterConfiguration
o Win32_NetworkAdapter. I tried to use the
Nombre in
Win32_PerfRawData_Tcpip_NetworkInterface and
Win32_NetworkAdapter`, pero todavía tienen un aspecto distinto.
p. Ej.
Nombre: Intel (R) PRO/1000 PL Red Conexión
vs
Nombre: Intel [R] PRO_1000 PL Red Conexión
Cualquier consejos?
gracias de antemano,
Milde
===
Tal vez ese trozo de código ayudará a que me ayudes chicos :)
# 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
Se puede publicar un pequeño script en Perl que muestra cómo se obtiene la información? Tal como está, hay muy poca información útil en su publicación en términos de ayudar a otros que no están trabajando en el mismo problema a comenzar. Ni siquiera nos dice qué cadena de adaptador proviene de qué fuente, etc. Podría intentar normalizar las cadenas convirtiendo todos los caracteres que no son palabras en '_', pero sería un último recurso. –
Agregó un código, espero que ayude. Pensé en comodines también, pero parece un poco inseguro para mí. – Milde
Creo que es un poco tarde ... pero hay algunas notas sobre cómo nombrar convenciones en http://msdn.microsoft.com/en-us/library/system.diagnostics.performancecounter.instancename(v=vs.110) .aspx - "Si el nombre de la instancia se genera automáticamente y puede contener los caracteres" (",") "," # "," \ "o"/", utilice la asignación de caracteres en la siguiente tabla." Sin embargo, esto no ayudará a mapear nombres locos como isatap. {GUID} o sufijos de índice. – mikalai