# Specify the server name here
$server = "Server1"
# pull all the information
$hardware = Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName $server
$OS = Get-CimInstance -ClassName Win32_OperatingSystem -ComputerName $server
$CPU = Get-CimInstance -ClassName Win32_Processor -ComputerName $server
$PhysicalMemory = Get-CimInstance -ClassName CIM_PhysicalMemory -ComputerName $server
$Bios = Get-CimInstance -ClassName Win32_BIOS -ComputerName $server
# build custom array to get some key properties in a single row
$server_summary = New-Object PSObject
Add-Member -inputObject $server_summary -memberType NoteProperty -Name Manufacturer -value $hardware.Manufacturer
Add-Member -inputObject $server_summary -memberType NoteProperty -Name Model -value $hardware.Model
Add-Member -inputObject $server_summary -memberType NoteProperty -Name HypervisorPresent -value $hardware.HypervisorPresent
Add-Member -inputObject $server_summary -memberType NoteProperty -Name Bios -value $Bios.Name
Add-Member -inputObject $server_summary -memberType NoteProperty -Name OS -value $OS.Caption
Add-Member -inputObject $server_summary -memberType NoteProperty -Name OSArchitecture -value $OS.OSArchitecture
Add-Member -inputObject $server_summary -memberType NoteProperty -Name CPUs -value $CPU.count
Add-Member -inputObject $server_summary -memberType NoteProperty -Name PhySicalMemory_GB -value $total_memory_gb
Add-Member -inputObject $server_summary -memberType NoteProperty -Name OSVersionNumber -value $OS.Version
Add-Member -inputObject $server_summary -memberType NoteProperty -Name ServicePackMajorVersion -value $OS.ServicePackMajorVersion
Add-Member -inputObject $server_summary -memberType NoteProperty -Name ServicePackMinor -value $OS.ServicePackMinorVersion
Add-Member -inputObject $server_summary -memberType NoteProperty -Name LastBootUpTime -value $OS.LastBootUpTime
# Display the data on the screen
# But first, lets up the buffer size so we can see the complete output on the screen
$Host.UI.RawUI.BufferSize = New-Object Management.Automation.Host.Size (500, 3000)
"summary"
"======="
$server_summary | ft -AutoSize
""
"Detailed Properties"
"==================="
"Hardware:"
$hardware | ft -Property *
"Bios:"
$Bios | ft -Property *
"Operating System:"
$OS | ft -Property *
"CPUs:"
$CPU | ft -Property *
"Physical Memory:"
$PhysicalMemory | ft -property *
No comments:
Post a Comment