hello:
i do not understand why my last $obj do not has all properties like osversion, spversion as defined in the scriptt,
function Get-DetailedSystemInfo3 {
[CmdletBinding()]
param(
[Parameter(Mandatory=$True)][string[]]$computerName
)
PROCESS {
foreach ($computer in $computerName) {
$params = @{computerName=$computer;
class='Win32_OperatingSystem'}
$os = Get-WmiObject @params
$params = @{computerName=$computer;
class='Win32_LogicalDisk';
filter='drivetype=3'}
$disks = Get-WmiObject @params
foreach ($disk in $disks) {
$diskobjs = [pscustomobject]@{
Drive=$disk.DeviceID; #$diskobjs instead of $diskprops
Size=$disk.size;
Free=$disk.freespace
}
$diskobjs
} # foreach disks
$obj = [Pscustomobject][ordered]@{
ComputerName=$computer;
Disks=$diskobjs;
OSVersion=$os.version;
SPVersion=$os.servicepackmajorversion
}
Write-Output $obj
} # foreach comp
} # process
} #function