Just a short command string for those who want top level parent and child properties for their VMs.
get-vm | select-object * | export-csv "c:\vm.csv"
This will collect data into columns for the following:
PowerState, Version, Description, Notes, Guest, NumCpu, MemoryMB, HardDisks, NetworkAdapters, UsbDevices, CDDrives, FloppyDrives, Host, HostId, VMHostId, VMHost, VApp, FolderId, Folder, ResourcePoolId, ResourcePool, PersistentId, UsedSpaceGB, ProvisionedSpaceGB, DatastoreIdList, HARestartPriority, HAIsolationResponse, DrsAutomationLevel, VMSwapfilePolicy, VMResourceConfiguration, CustomFields, ExtensionData, Id, Name, Uid