$report = Get-VM | ForEach-Object { $vm = $_ [pscustomobject]@{ VMName = $vm.Name VMId = $vm.VMId Generation = $vm.Generation ConfigPath = $vm.ConfigurationLocation ## Firmware ## Security ## Processor vCPUs = $vm.ProcessorCount ## Memory # MemoryAssigned = $vm.MemoryAssigned DynamicMemory = $vm.DynamicMemoryEnabled RAMStartupGB = [math]::Round($vm.MemoryStartup / 1GB, 1) RAMMinimumGB = [math]::Round($vm.MemoryMinimum / 1GB, 1) RAMMaximumGB = [math]::Round($vm.MemoryMaximum / 1GB, 1) ## HardDrives ## DVDDrives ## NetoworkAdapters Version = $vm.Version CreationTime = $vm.CreationTime # isClustered = $vm.isClustered } } $report