Haz clic sobre el comando o en "Copiar" y pégalo directamente en PowerShell.
& {
$DeviceName = [System.Net.Dns]::GetHostName()
$BIOS = Get-CimInstance Win32_BIOS
$ComputerSystem = Get-CimInstance Win32_ComputerSystem
$CPU = Get-CimInstance Win32_Processor | Select-Object -First 1
$OS = Get-CimInstance Win32_OperatingSystem
Write-Host ""
Write-Host "========================================"
Write-Host " INFORMACION DEL EQUIPO"
Write-Host "========================================"
Write-Host "Nombre del equipo :" $DeviceName
Write-Host "Marca del equipo :" $ComputerSystem.Manufacturer
Write-Host "Modelo del equipo :" $ComputerSystem.Model
Write-Host "Serial del equipo :" $BIOS.SerialNumber
Write-Host "Procesador :" $CPU.Name
Write-Host "Sistema operativo :" $OS.Caption
Write-Host "Version del SO :" $OS.Version
Write-Host "Build del SO :" $OS.BuildNumber
Write-Host ""
Write-Host "========================================"
Write-Host " OFFICE"
Write-Host "========================================"
$Office = Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration" -ErrorAction SilentlyContinue
if ($Office) {
Write-Host "Paquete de Office :" $Office.ProductReleaseIds
Write-Host "Version de Office :" $Office.VersionToReport
Write-Host "Arquitectura Office :" $Office.Platform
} else {
Write-Host "Paquete de Office : No detectado"
Write-Host "Version de Office : No disponible"
}
$osppPaths = @(
"$env:ProgramFiles\Microsoft Office\Office16\OSPP.VBS"
"$env:ProgramFiles\Microsoft Office\root\Office16\OSPP.VBS"
"${env:ProgramFiles(x86)}\Microsoft Office\Office16\OSPP.VBS"
"${env:ProgramFiles(x86)}\Microsoft Office\root\Office16\OSPP.VBS"
)
$ospp = $osppPaths | Where-Object { Test-Path $_ } | Select-Object -First 1
if ($ospp) {
$LicenseInfo = & cscript.exe //Nologo $ospp /dstatus
$Status = $LicenseInfo | Select-String "LICENSE STATUS"
if ($Status) {
Write-Host "Licencia Office :" $Status.Line.Trim()
} else {
Write-Host "Licencia Office : No determinada"
}
} else {
Write-Host "Licencia Office : No determinada"
}
Write-Host ""
Write-Host "========================================"
Write-Host " MEMORIAS RAM"
Write-Host "========================================"
$RAMs = Get-CimInstance Win32_PhysicalMemory
$i = 1
foreach ($RAM in $RAMs) {
Write-Host ""
Write-Host "RAM #$i"
Write-Host "Marca :" $RAM.Manufacturer
Write-Host "Serial :" $RAM.SerialNumber
Write-Host "Part Number :" $RAM.PartNumber
Write-Host "Capacidad :" ([math]::Round($RAM.Capacity / 1GB, 2)) "GB"
Write-Host "Velocidad :" $RAM.Speed "MHz"
$i++
}
Write-Host ""
Write-Host "========================================"
Write-Host " DISCOS"
Write-Host "========================================"
$Disks = Get-CimInstance Win32_DiskDrive
$i = 1
foreach ($Disk in $Disks) {
Write-Host ""
Write-Host "DISCO #$i"
Write-Host "Marca / Modelo :" $Disk.Model
Write-Host "Fabricante :" $Disk.Manufacturer
Write-Host "Serial :" $Disk.SerialNumber
Write-Host "Capacidad :" ([math]::Round($Disk.Size / 1GB, 2)) "GB"
$i++
}
Write-Host ""
Write-Host "========================================"
Write-Host " MONITORES"
Write-Host "========================================"
$MonitorIDs = Get-CimInstance -Namespace root\wmi -ClassName WmiMonitorID -ErrorAction SilentlyContinue
$MonitorSizes = Get-CimInstance -Namespace root\wmi -ClassName WmiMonitorBasicDisplayParams -ErrorAction SilentlyContinue
$i = 1
foreach ($Monitor in $MonitorIDs) {
if ($Monitor.ManufacturerName) {
$Marca = ([System.Text.Encoding]::ASCII.GetString($Monitor.ManufacturerName)).Trim([char]0)
} else {
$Marca = "No disponible"
}
if ($Monitor.UserFriendlyName) {
$Modelo = ([System.Text.Encoding]::ASCII.GetString($Monitor.UserFriendlyName)).Trim([char]0)
} else {
$Modelo = "No disponible"
}
if ($Monitor.SerialNumberID) {
$Serial = ([System.Text.Encoding]::ASCII.GetString($Monitor.SerialNumberID)).Trim([char]0)
} else {
$Serial = "No disponible"
}
$Size = $MonitorSizes | Where-Object { $_.InstanceName -eq $Monitor.InstanceName } | Select-Object -First 1
if ($Size -and $Size.MaxHorizontalImageSize -gt 0 -and $Size.MaxVerticalImageSize -gt 0) {
$Horizontal = [double]$Size.MaxHorizontalImageSize
$Vertical = [double]$Size.MaxVerticalImageSize
$DiagonalCM = [math]::Sqrt(($Horizontal * $Horizontal) + ($Vertical * $Vertical))
$Pulgadas = [math]::Round($DiagonalCM / 2.54, 1)
} else {
$Pulgadas = "No disponible"
}
Write-Host ""
Write-Host "MONITOR #$i"
Write-Host "Modelo :" $Modelo
Write-Host "Marca :" $Marca
Write-Host "Serial :" $Serial
Write-Host "Pulgadas :" $Pulgadas
$i++
}
Write-Host ""
Write-Host "========================================"
Write-Host " FIN DEL INVENTARIO"
Write-Host "========================================"
}