# Check if SMBIOS is present
$os = Get-WmiObject Win32_bios -ComputerName $env:computername -ea silentlycontinue
echo $os.SMBIOSPresent
# Check SMBIOS BIOSVersion
$os = Get-WmiObject Win32_bios -ComputerName $env:computername -ea silentlycontinue
echo $os.SMBIOSBIOSVersion
# Get BIOS version
$os = Get-WmiObject Win32_bios -ComputerName $env:computername -ea silentlycontinue
echo $os.Version
# Get BIOS information
get-computerinfo |select *bios*
# Get CPU information
get-computerinfo |select *processors
# Get another CPU information
#cpu_usage= Get-WmiObject win32_processor | Select-Object -ExpandProperty LoadPercentage
$cpu_usage= Get-WmiObject win32_processor
echo $cpu_usage | Format-table -Auto
# get information of RAM modules
Get-WmiObject win32_physicalmemory | Select
Manufacturer,Banklabel,Configuredclockspeed,Devicelocator,Capacity,Serialnumber
| Format-Table -Auto
# Get average memory usage
$os = Get-WmiObject win32_OperatingSystem
$used_memory = $os.totalvisiblememorysize - $os.freephysicalmemory
echo $used_memory
# Get average virtual memory usage
$os = Get-WmiObject win32_OperatingSystem
$used_memory = $os.totalvirtualmemorysize - $os.freevirtualmemory
echo $used_memory
# Get total memory usage in percentage
$CompObject = Get-WmiObject -Class WIN32_OperatingSystem
$Memory = ((($CompObject.TotalVisibleMemorySize -
$CompObject.FreePhysicalMemory)*100)/
$CompObject.TotalVisibleMemorySize)
Write-Host "Memory usage in Percentage:" $Memory
# Top 5 process Memory Usage (MB)
$processMemoryUsage = Get-WmiObject WIN32_PROCESS | Sort-Object
-Property ws -Descending | Select-Object -first 5 processname,
@{Name="Mem Usage(MB)";Expression={[math]::round($_.ws / 1mb)}}
$processMemoryUsage
# Get memory information
Get-CIMInstance Win32_OperatingSystem | Select FreePhysicalMemory,TotalVisibleMemory
# Get memory usage
$properties=@(
@{Name="Process Name"; Expression = {$_.name}},
@{Name="CPU (%)"; Expression = {$_.PercentProcessorTime}},
@{Name="Memory (MB)"; Expression = {[Math]::Round(($_.workingSetPrivate / 1mb),2)}}
)
Get-WmiObject -class Win32_PerfFormattedData_PerfProc_Process -Filter "Name='_Total'" |
Select-Object $properties |
Format-Table -AutoSize
# Active Network Interface
$physical_adapter = get-netadapter -physical | where status -eq "up"
echo $physical_adapter
# Get average network usage
$Total_bytes=Get-WmiObject -class
Win32_PerfFormattedData_Tcpip_NetworkInterface | Measure-Object
-property BytesTotalPersec -Average |Select-Object -ExpandProperty
Average
echo ([System.Math]::Round($Total_bytes))
# Check if Secure Boot is enabled
try { $bios=Confirm-SecureBootUEFI }
catch { $false }
echo $bios
# Get Harddsk information
Get-PhysicalDisk
# or
Get-Disk | Format-table -Auto
# or
Get-Volume
# or
wmic diskdrive get name,model,serialnumber,size,status
# or
Get-WmiObject -Class MSFT_PhysicalDisk -Namespace root\Microsoft\Windows\Storage | Select FriendlyName, MediaType
# or
Get-WmiObject -Class Win32_logicaldisk -Filter "DriveType = '3'" |
Select-Object -Property DeviceID, DriveType, VolumeName,
@{L='FreeSpaceGB';E={"{0:N2}" -f ($_.FreeSpace /1GB)}},
@{L="Capacity";E={"{0:N2}" -f ($_.Size/1GB)}}
get all information together, text-file
query CPU temperatue
query video hardware
query USB hardware
#######
# printer
#######
# find printer name
get-printer
# print file
get-content -path <path/file> | out-printer -name "<name>"