Hey all so I inherited this code at work. It is suppose to get information for desired computers where I work. However some of the things it tries to pull doesn't always work. The main one is the mac address.
Here's the code:
Function Get-Inventory { PROCESS { $ErrorActionPreference = "SilentlyContinue" $os = Get-WmiObject Win32_OperatingSystem -EA silentlyContinue –computer $_ $bios = Get-WmiObject Win32_BIOS -EA silentlyContinue –computer $_ $Network = Get-WmiObject win32_networkadapterconfiguration -EA silentlyContinue -Filter 'DHCPEnabled = "true"' –computer $_ $make = get-wmiobject win32_computersystem -EA silentlyContinue –computer $_ $processor = Get-WmiObject Win32_Processor -EA silentlyContinue -computer $_ $mem = get-wmiobject win32_computersystem -EA silentlyContinue -computer $_ $disk = Get-WmiObject Win32_LogicalDisk -EA silentlyContinue -computerName $_ -Filter "DeviceID='C:'" |Select-Object Size,FreeSpace $output = New-Object PSObject $output | Add-Member NoteProperty ComputerName $_ $output | Add-Member NoteProperty MACAddress ($Network.MACAddress) $output | Add-Member NoteProperty Model ($make.Model) $output | Add-Member NoteProperty BIOSSerial ($bios.SerialNumber) $output | Add-Member NoteProperty Processor ($processor.name) $output | Add-Member NoteProperty Memory ([math]::round($mem.totalphysicalmemory/1GB)) $output | Add-Member NoteProperty LocalStorage ([math]::round($disk.Size)/1GB) $output | Add-Member NoteProperty User ($make.username) #$output | Add-Member NoteProperty SPVer ($os.ServicePackMajorVersion) #$output | Add-Member NoteProperty BuildNo ($os.BuildNumber) $output | Add-Member NoteProperty 32/64BitOS ($os.OSArchitecture) Write-Output $output } }
So all this goes to an excel file.
Here's a snippet of what it out puts:
#TYPE System.Management.Automation.PSCustomObject ComputerName MACAddress Model BIOSSerial Processor Memory LocalStorage User 32/64BitOS CEIT2552210X023 System.Object[] 4524W1P MJVBTR1 Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz 16 465.7597618 64-bit CEIT2552210X033 System.Object[] 4524W1P MJVBTV6 Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz 16 465.7597618 64-bit CEIT2552210X014 System.Object[] 4524W1P MJVBTR5 Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz 16 465.7597618 64-bit CEIT2552210X018 System.Object[] 4524W1P MJVBTP9 Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz 16 465.7597618 64-bit CEIT2552210X015 System.Object[] 4524W1P MJVBTR6 Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz 16 465.7597618 64-bit CEIT2552210X025 System.Object[] 4524W1P MJVBTP4 Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz 16 465.7597618 64-bit CEIT2552210X036 System.Object[] 4524W1P MJVBTT2 Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz 16 465.7597618 64-bit
So the problem is that where I need the mac address it says System.object. So does anyone know any functions that would work better to pull the macs.
Thanks like I said I really knew to powershell.