| |
|
|
| |
-
Windows PowerShell - Utilización de WPS - Sistema - Inventario del software
-
La clase "Win32_Product" ofrece información de los paquetes MSI instalados:
Get-WmiObject Win32_Product
El siguiente comando listas los paquetes WMI, los cuales comiencen con "a":
Get-WmiObject Win32_Product | where-object { $_.name –like "a*" }
El siguiente comando, sortea los paquetes WMI, filtrando aquellos que provienen de Microsoft:
Get-WmiObject Win32_Product | where-object { $_.vendor –like "microsoft" }
Es posible determinar si una aplicación determinada fue instalado o no.
En un comando pipeline, puede escribirse la inventarización completa, la cual consulta una lista de ordenadores en un archivo de textos y
exporta los resultados obtenidos en un archivo CSV.
Get-Content "nombrepc.txt" | foreach { Get-WmiObject Win32_product –computername $_ } | where { $_.vendor –like "*Microsoft*" }
| export-csv "Inventario.csv" –notypeinformation
Naturalmente, el script puede pulirse un poco con, por ejemplo, un "ping", el cual comprueba, antes del acceso, si el ordenador es asequible, evitando
así, un largo "Timeout" de WMI.
Como un comando pipeline para esto resultaría insuficiente y se requeriría de un script, se puede parametrizar.
# inventario de los software instalados
$productor = "*Microsoft*"
$entradanombre = "nombrepc.txt"
$salidanombre = "softw.csv"
# importar el nombre de las pcs
$computername = Get-Content "nombrepc.txt"
$computername | foreach
{
if (ping($_))
}
Write-Host "inventario del software en pc $_ . . ."
# lectura de los paquetes WMI instalados en todos los pcs
$software = foreach { Get-WmiObject Win32_product –computername $_ } |where { $.vendor –like $productor }
# Exportar en CSV
$software | export-csv "softw.csv" –notypeinformation
}
else
{
Write-Error "No hubo contacto con la PC"
}
}
# ejecutar Ping
function Ping
{
$status = Get-WmiObject Win32_PingStatus –filter "Address='$args[0]'" | select StatusCode
return $status.Statuscode –eq 0
}
Una lista con los servicios de actualización (Patches y Hotfixes) se logra con el comando:
Get-WmiObject Win32_Quickfixeengineering
Los codecs para audio y video instalados, pueden visualizarse con:
Get-EmiObject Win32_CodecFile | Select group,name
 |
|
Ultima actualisación: Tue, 24 ▪ May ▪ 2011
|
|
|
|