{"id":1535,"date":"2018-06-15T11:54:12","date_gmt":"2018-06-15T09:54:12","guid":{"rendered":"http:\/\/blog.purplescreen.fr\/?p=1535"},"modified":"2018-06-15T15:02:14","modified_gmt":"2018-06-15T13:02:14","slug":"make-a-report-of-your-virtual-machines","status":"publish","type":"post","link":"https:\/\/blog.purplescreen.fr\/?p=1535","title":{"rendered":"Make a Report of your Virtual Machines"},"content":{"rendered":"<h5>Description :<\/h5>\n<p>This script filter your VMs by state, and VM name as well. You can see all of these informations in the report (Name, Folder, Datastore, VMPath, State) as well as export to CSV file if you add Export-CSV option.<\/p>\n<h5>Syntax :<\/h5>\n<p>MyVMinformation [-vmState] {PoweredOn | PoweredOff} [-vmName] []<\/p>\n<h5>Examples :<\/h5>\n<pre>PowerCLI C:\\&gt; MyVMinformation -vmState PoweredOff -vmName server2-2\r\nName      : server2-2\r\nFolder    : vm\r\nDatastore : FreeNas.5-7k2-vol1\r\nVMPath    : [FreeNas.5-7k2-vol1] server2\/server2.vmx\r\nState     : PoweredOff\r\n\r\nPowerCLI C:\\&gt; MyVMinformation -vmState PoweredOff -vmName *\r\nYou can see all your VMs Powered Off\r\n\r\nPowerCLI C:\\&gt; MyVMinformation -vmState PoweredOn -vmName * | Export-Csv c:\\Report.csv\r\nExport all your VMs Powered On in a CSV file Report.csv on C:\\\r\n<\/pre>\n<h5>Script :<\/h5>\n<pre>#Script By Olivier Gosselin - France\r\n#http:\/\/blog.purplescreen.fr\r\n#Tools PowerCLI 6.5 Release 1\r\n\r\n#$vCenterFQDN = \"vCenterFQDN\"\r\n#$CredentialvCenter = Get-Credential -Message \"Credential vCenter\"\r\n#Connect-VIServer $vCenterFQDN -Credential $CredentialvCenter\r\n\r\nfunction MyVMinformation {\r\n[CmdletBinding()]\r\nParam(\r\n    [Parameter(Mandatory=$True,Position=0)]\r\n    [array]$vmName,\r\n    [Parameter(Mandatory=$True,Position=1)]\r\n    [ValidateSet(\"PoweredOn\", \"PoweredOff\")]\r\n    [string]$vmState\r\n\r\n)#PARAM\r\n\r\n# ID Datastore\r\n$DatastoreName = Get-Datastore -Name * | select Id,Name\r\n\r\n# Filtre les VMs PoweredOn\r\n$VMs = Get-VM -Name \"$vmName\" | where {$_.PowerState -eq \"$vmState\"}\r\n\r\nforeach ($VM in $VMs) {\r\n$Datastores = $VM.DatastoreIdList\r\n$VMName = $VM.Name\r\n$VMFolder = $VM.Folder\r\n$VMState = $VM.PowerState\r\n$VMPath = $VM.ExtensionData.Config.Files.VmPathName\r\n\r\nforeach ($Datastore in $Datastores) {\r\n$Datastore = $DatastoreName | where {$_.Id -eq \"$Datastore\"}\r\n$Datastore = $Datastore.Name\r\n$Output = New-Object psobject\r\n$Output | Add-Member -MemberType NoteProperty -Name Name -Value (@($VMName) -join ',')\r\n$Output | Add-Member -MemberType NoteProperty -Name Folder -Value $VMFolder\r\n$Output | Add-Member -MemberType NoteProperty -Name Datastore -Value $Datastore\r\n$Output | Add-Member -MemberType NoteProperty -Name VMPath -Value $VMPath\r\n$Output | Add-Member -MemberType NoteProperty -Name State -Value $VMState\r\n$Output\r\n}\r\n}\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Description : This script filter your VMs by state, and VM name as well. You can see all of these informations in the report (Name, Folder, Datastore, VMPath, State) as well as export to CSV file if you add Export-CSV option. Syntax : MyVMinformation [-vmState] {PoweredOn | PoweredOff} [-vmName] [] Examples : PowerCLI C:\\&gt; MyVMinformation&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[11,10,14],"tags":[26,19],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Make a Report of your Virtual Machines - PurpleScreen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.purplescreen.fr\/?p=1535\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ogosselin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.purplescreen.fr\/?p=1535\",\"url\":\"https:\/\/blog.purplescreen.fr\/?p=1535\",\"name\":\"Make a Report of your Virtual Machines - PurpleScreen\",\"isPartOf\":{\"@id\":\"https:\/\/blog.purplescreen.fr\/#website\"},\"datePublished\":\"2018-06-15T09:54:12+00:00\",\"dateModified\":\"2018-06-15T13:02:14+00:00\",\"author\":{\"@id\":\"https:\/\/blog.purplescreen.fr\/#\/schema\/person\/ad63980c08d122ffe9115ade81b21fd3\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.purplescreen.fr\/?p=1535#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.purplescreen.fr\/?p=1535\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.purplescreen.fr\/?p=1535#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.purplescreen.fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Make a Report of your Virtual Machines\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.purplescreen.fr\/#website\",\"url\":\"https:\/\/blog.purplescreen.fr\/\",\"name\":\"PurpleScreen\",\"description\":\"by Olivier Gosselin\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.purplescreen.fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.purplescreen.fr\/#\/schema\/person\/ad63980c08d122ffe9115ade81b21fd3\",\"name\":\"ogosselin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.purplescreen.fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6a053a3dca3cccbeecd37d492189f38f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6a053a3dca3cccbeecd37d492189f38f?s=96&d=mm&r=g\",\"caption\":\"ogosselin\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/olivier-gosselin-30090498\/\"],\"url\":\"https:\/\/blog.purplescreen.fr\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Make a Report of your Virtual Machines - PurpleScreen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.purplescreen.fr\/?p=1535","twitter_misc":{"Written by":"ogosselin","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.purplescreen.fr\/?p=1535","url":"https:\/\/blog.purplescreen.fr\/?p=1535","name":"Make a Report of your Virtual Machines - PurpleScreen","isPartOf":{"@id":"https:\/\/blog.purplescreen.fr\/#website"},"datePublished":"2018-06-15T09:54:12+00:00","dateModified":"2018-06-15T13:02:14+00:00","author":{"@id":"https:\/\/blog.purplescreen.fr\/#\/schema\/person\/ad63980c08d122ffe9115ade81b21fd3"},"breadcrumb":{"@id":"https:\/\/blog.purplescreen.fr\/?p=1535#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.purplescreen.fr\/?p=1535"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.purplescreen.fr\/?p=1535#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.purplescreen.fr\/"},{"@type":"ListItem","position":2,"name":"Make a Report of your Virtual Machines"}]},{"@type":"WebSite","@id":"https:\/\/blog.purplescreen.fr\/#website","url":"https:\/\/blog.purplescreen.fr\/","name":"PurpleScreen","description":"by Olivier Gosselin","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.purplescreen.fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blog.purplescreen.fr\/#\/schema\/person\/ad63980c08d122ffe9115ade81b21fd3","name":"ogosselin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.purplescreen.fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6a053a3dca3cccbeecd37d492189f38f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6a053a3dca3cccbeecd37d492189f38f?s=96&d=mm&r=g","caption":"ogosselin"},"sameAs":["https:\/\/www.linkedin.com\/in\/olivier-gosselin-30090498\/"],"url":"https:\/\/blog.purplescreen.fr\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/blog.purplescreen.fr\/index.php?rest_route=\/wp\/v2\/posts\/1535"}],"collection":[{"href":"https:\/\/blog.purplescreen.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.purplescreen.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.purplescreen.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.purplescreen.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1535"}],"version-history":[{"count":12,"href":"https:\/\/blog.purplescreen.fr\/index.php?rest_route=\/wp\/v2\/posts\/1535\/revisions"}],"predecessor-version":[{"id":1548,"href":"https:\/\/blog.purplescreen.fr\/index.php?rest_route=\/wp\/v2\/posts\/1535\/revisions\/1548"}],"wp:attachment":[{"href":"https:\/\/blog.purplescreen.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1535"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.purplescreen.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1535"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.purplescreen.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1535"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}