Saltar al contenido

¿Cómo obtengo el tamaño total de la memoria física usando PowerShell sin WMI?

Posterior a investigar con especialistas en este tema, programadores de diversas ramas y profesores dimos con la solución al dilema y la dejamos plasmada en esta publicación.

Solución:

Si no desea utilizar WMI, puedo sugerir systeminfo.exe. Pero, puede haber una mejor manera de hacerlo.

(systeminfo | Select-String 'Total Physical Memory:').ToString().Split(':')[1].Trim()

Me gustaría tomar nota de esto para las personas que hagan referencia en el futuro.

Quería evitar WMI porque usa un protocolo DCOM, lo que requiere que la computadora remota tenga los permisos necesarios, que solo se pueden configurar manualmente en esa computadora remota.

Por lo tanto, quería evitar usar WMI, pero usar get-counter muchas veces no tenía el contador de rendimiento que quería.

La solución que utilicé fue el Modelo de información común (CIM). A diferencia de WMI, CIM no usa DCOM de forma predeterminada. En lugar de devolver objetos de WMI, los cmdlets de CIM devuelven objetos de PowerShell.

CIM usa el protocolo Ws-MAN de manera predeterminada, pero solo funciona con computadoras que tienen acceso a Ws-Man 3.0 o posterior. Por lo tanto, las versiones anteriores de PowerShell no podrían emitir cmdlets CIM.

El cmdlet que terminé usando para obtener el tamaño total de la memoria física fue:

get-ciminstance -class "cim_physicalmemory" | % $_.Capacity

No compliquemos demasiado las cosas…:

(Get-CimInstance Win32_PhysicalMemory | Measure-Object -Property capacity -Sum).sum /1gb

Te mostramos reseñas y calificaciones

Si piensas que ha resultado de provecho este artículo, nos gustaría que lo compartas con otros programadores de este modo contrubuyes a dar difusión a este contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *