Quantcast
Channel: PowerShell.com – PowerShell Scripts, Tips, Forums, and Resources
Viewing all articles
Browse latest Browse all 6937

Server Inventory

$
0
0

I am trying to gather server info using powershell/WMI and I am not able to extract it to a CSV. Must be something wrong that I doing. Expert advise needed please.

 

Invoke-Command -ComputerName (Get-Content .\Servers.txt) -scriptblock 

$computerSystem = Get-WmiObject -ClassName Win32_ComputerSystem -Computername $s -Property Name, Domain -ErrorAction Stop

$ComputerName = Get-WmiObject -Class win32_Computersystem -Computername $s | Select Name

$ComputerDomain = Get-WmiObject -Class win32_Computersystem  -Computername $s | Select Domain

$Manufacturer= Get-WmiObject -Class win32_Computersystem  -Computername $s | Select Manufacturer

$Model= Get-WmiObject -Class win32_Computersystem  -Computername $s | Select model

$ModelSeries= Get-WmiObject -Class win32_Computersystemproduct  -Computername $s | Select version

$fqdn = "$($computerSystem.Name).$($computerSystem.Domain)"

$SerialNumber = Get-WmiObject -Class win32_Bios -Computername $s  | Select SerialNumber

$SerNo = Get-WmiObject win32_SystemEnclosure  -Computername $s | select serialnumber

$OperatingSystem = Get-WmiObject -class Win32_OperatingSystem  -Computername $s | Select Caption

$RAM = Get-WmiObject CIM_PhysicalMemory -ComputerName $s | Measure-Object -Property capacity -sum | % {[math]::round(($_.sum / 1GB),2)} 

$Processor= Get-WmiObject -class win32_processor  -Computername $s | Select Name

$AddressWidth= Get-WmiObject -class win32_processor  -Computername $s | Select AddressWidth

$CPU= Get-WmiObject -class win32_processor  -Computername $s | Select NumberOfCore

$Diskspace= Get-WmiObject -ClassName Win32_DiskDrive -Computername $s |Select Size

$Pingstatus= get-wmiobject -Query "select * from win32_pingstatus where Address='$s'" | select statuscode

$Ipaddress=Get-WmiObject win32_networkadapterconfiguration  -Computername $s | where { $_.ipaddress -like "1*" } | select -ExpandProperty ipaddress | select -First 1

$DefaultIpGateway=Get-WmiObject win32_networkadapterconfiguration  -Computername $s | where { $_.ipaddress -like "1*" } | select -ExpandProperty DefaultIPGateway | select -First 1

 

$infoObject = New-Object PSObject 

 

Add-Member -inputObject $infoObject -memberType NoteProperty -name "Name" -value $ComputerName.Name

Add-Member -inputObject $infoObject -memberType NoteProperty -name "Domain" -value $ComputerDomain.Domain

Add-Member -inputObject $infoObject -memberType NoteProperty -name "Manufacturer" -value $Manufacturer.Manufacturer

Add-Member -inputObject $infoObject -memberType NoteProperty -name "Model" -value $Model.model

Add-Member -inputObject $infoObject -memberType NoteProperty -name "ModelSeries" -value $ModelSeries.version

Add-Member -inputObject $infoObject -memberType NoteProperty -name "FQDN" -value $fqdn.Length

Add-Member -inputObject $infoObject -memberType NoteProperty -name "SerialNumber" -value $SerialNumber.SerialNumber

Add-Member -inputObject $infoObject -memberType NoteProperty -name "SerNo" -value $SerNo.serialnumber

Add-Member -inputObject $infoObject -memberType NoteProperty -name "OperatingSystem" -value $OperatingSystem.Caption

Add-Member -inputObject $infoObject -memberType NoteProperty -name "RAM" -value $RAM.ToSByte

Add-Member -inputObject $infoObject -memberType NoteProperty -name "Processor" -value $Processor.Name

Add-Member -inputObject $infoObject -memberType NoteProperty -name "AddressWidth" -value $AddressWidth.AddressWidth

Add-Member -inputObject $infoObject -memberType NoteProperty -name "CPU" -value $CPU.NumberOfCore

Add-Member -inputObject $infoObject -memberType NoteProperty -name "DiskSpace" -value $Diskspace.Size

Add-Member -inputObject $infoObject -memberType NoteProperty -name "PingStatus" -value $Pingstatus.statuscode

Add-Member -inputObject $infoObject -memberType NoteProperty -name "IpAddress" -value $Ipaddress.Length

Add-Member -inputObject $infoObject -memberType NoteProperty -name "DefaultIPGateway" -value $DefaultIpGateway.Length

$infoObject 

}  |Select-Object  * | export-csv -NoTypeInformation -Path .\OSinfo.csv

 

 


Viewing all articles
Browse latest Browse all 6937

Trending Articles