Hello,
I have some trouble to export the output into a csv.
When it's "work", it only write this in the file:
"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"
"PoweredOff","v7","","","Windows_XP_SP3_x86:","1","512","VMware.VimAutomation.ViCore.Types.V1.VirtualDevice.HardDisk[]","VMware.VimAutomation.ViCore.Types.V1.VirtualDevice.NetworkAdapter[]","VMware.VimAutomation.ViCore.Types.V1.VirtualDevice.UsbDevice[]","VMware.VimAutomation.ViCore.Types.V1.VirtualDevice.CDDrive[]","VMware.VimAutomation.ViCore.Types.V1.VirtualDevice.FloppyDrive[]","esx4.na.cetsi.corp","HostSystem-host-9","HostSystem-host-9","esx4.na.corp",,"Folder-group-v34","Template","ResourcePool-resgroup-8","Resources","5014693c-280c-1f71-5a9a-1a55b486ae49","1,443538","20,50018","System.String[]","ClusterRestartPriority","AsSpecifiedByCluster","AsSpecifiedByCluster","Inherit","CpuShares:Normal/1000 MemShares:Normal/5120","VMware.VimAutomation.ViCore.Impl.V1.Util.ReadOnlyDictionary`2[System.String,System.String]","VMware.Vim.VirtualMachine","VirtualMachine-vm-32","Windows_XP_SP3_x86","/VIServer=administrateur@vcenter01:443/VirtualMachine=VirtualMachine-vm-32/"
Or I get an error like this one:
Select-Object : Impossible de convertir System.Management.Automation.PSObject e
n l'un des types suivants {System.String, System.Management.Automation.ScriptBl
ock}.
Au niveau de ligne : 10 Caractère : 9
+ Select <<<< $allvms | Export-Csv "c:\VMsGraph.csv" -noTypeInformation -Use
Culture
+ CategoryInfo : InvalidArgument: (:) [Select-Object], NotSupport
edException
+ FullyQualifiedErrorId : DictionaryKeyUnknownType,Microsoft.PowerShell.Co
mmands.SelectObjectCommand
I tried to use several commands like:
$allvms = @()
Get-VM | ForEach-Object {
$vm = $_
Get-AverageStatPerDay -vm $vm -NrOfDays 30 -Stat cpu.usagemhz.average
Get-AverageStatPerDay -vm $vm -NrOfDays 30 -Stat mem.consumed.average
Get-AverageStatPerDay -vm $vm -NrOfDays 30 -Stat disk.usage.average
Get-MaximumStatPerDay -vm $vm -NrOfDays 30 -Stat cpu.usagemhz.maximum
Get-MaximumStatPerDay -vm $vm -NrOfDays 30 -Stat mem.consumed.maximum
Get-MaximumStatPerDay -vm $vm -NrOfDays 30 -Stat disk.usage.maximum
$allvms += $vm
Select $allvms | Export-Csv "c:\VMsGraph.csv" -noTypeInformation -UseCulture
}
or
Select $vm | Export-Csv "c:\VMsGraph.csv" -noTypeInformation -UseCulture
Select $allvms | Export-clixml c:\test.xml | import-clixml c:\test.xml | export-csv c:\test.csv
I don't understand why it don't write all the stats shown in the powershell window.