{"id":1251,"date":"2017-12-16T13:04:01","date_gmt":"2017-12-16T18:04:01","guid":{"rendered":"http:\/\/www.hoplawego.com\/blog\/?p=1251"},"modified":"2018-01-23T16:34:12","modified_gmt":"2018-01-23T21:34:12","slug":"mais-ou-sont-mes-vms","status":"publish","type":"post","link":"https:\/\/www.hoplawego.com\/blog\/mais-ou-sont-mes-vms\/","title":{"rendered":"Mais o\u00f9 sont mes VMs?"},"content":{"rendered":"<p>Voici un script que j&rsquo;ai plac\u00e9 dans une t\u00e2che planifi\u00e9e et qui roule tous les jours dans tous mes datacenters.<br \/>\nPlus jamais je me ferai prendre \u00e0 perdre des VMs et surtout \u00e8 les chercher pendant des heures quand le vCenter plantera.<br \/>\nEn gros, ca sort une liste des VMs et leur emplacement sur les diff\u00e9rents datastores.<\/p>\n<p>Voici deux facon de le rouler (la diff\u00e9rence est que la premiere se roule directement (get-vmxpath) et la seconde se roule en trois \u00e9tapes.<\/p>\n<p>Pour chercher partout:<\/p>\n<p>function Get-PathDesVMX {<br \/>\n[CmdletBinding()]<br \/>\nParam<br \/>\n(<br \/>\n[Parameter(Mandatory=$false,<br \/>\nPosition=1,<br \/>\nValueFromPipeline=$true,<br \/>\nValueFromPipelineByPropertyName=$true)]<br \/>\n[String[]]$Name<br \/>\n)#End Param<\/p>\n<p>Begin<br \/>\n{<br \/>\nWrite-Verbose \u00ab\u00a0Je cherche les paths . . .\u00a0\u00bb<br \/>\n}#Begin<br \/>\nProcess<br \/>\n{<br \/>\ntry<br \/>\n{<br \/>\nGet-VM * |<br \/>\nAdd-Member -MemberType ScriptProperty -Name &lsquo;VMXPath&rsquo; -Value {$this.extensiondata.config.files.vmpathname} -Passthru -Force |<br \/>\nSelect-Object Name,VMXPath,@{N=\u00a0\u00bbCluster\u00a0\u00bb;E={Get-Cluster -VM $_}} | export-csv -notypeinformation vmxpath.csv<br \/>\n}<br \/>\ncatch<br \/>\n{<br \/>\n\u00ab\u00a0Erreur: Merci de vous connecter a un vcenter en premier lieu.\u00a0\u00bb | Out-host<br \/>\n}<\/p>\n<p>}<br \/>\n}<\/p>\n<p>########################<\/p>\n<p>Et pour chercher un groupe pr\u00e9cis de VM (cr\u00e9er un fichier txt avec les noms des VMs.)<\/p>\n<p>1: Ouvrez la fonction<br \/>\n2: Creer un fichier avec les noms des VM<br \/>\n3: rouler la commande suivante:<\/p>\n<p>Get-Content &lsquo;FICHIER_DES_VM&rsquo; | Get-PathDesVMX | Export-Csv PathDesVM.csv -NoTypeInformation<\/p>\n<p>##############<br \/>\nfunction Get-PathDesVMX {<br \/>\n[CmdletBinding()]<br \/>\nParam<br \/>\n(<br \/>\n[Parameter(Mandatory=$true,<br \/>\nPosition=1,<br \/>\nValueFromPipeline=$true,<br \/>\nValueFromPipelineByPropertyName=$true)]<br \/>\n[String[]]$Name<br \/>\n)#End Param<\/p>\n<p>Begin<br \/>\n{<br \/>\nWrite-Verbose \u00ab\u00a0Je cherche les paths . . .\u00a0\u00bb<br \/>\n}#Begin<br \/>\nProcess<br \/>\n{<br \/>\ntry<br \/>\n{<br \/>\nGet-VM -Name $Name |<br \/>\nAdd-Member -MemberType ScriptProperty -Name &lsquo;VMXPath&rsquo; -Value {$this.extensiondata.config.files.vmpathname} -Passthru -Force |<br \/>\nSelect-Object Name,VMXPath,@{N=\u00a0\u00bbCluster\u00a0\u00bb;E={Get-Cluster -VM $_}}<br \/>\n}<br \/>\ncatch<br \/>\n{<br \/>\n\u00ab\u00a0Error: Merci de vous connecter a un vcenter en premier lieu.\u00a0\u00bb | Out-host<br \/>\n}<\/p>\n<p>}<\/p>\n<p>}<br \/>\n################<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voici un script que j&rsquo;ai plac\u00e9 dans une t\u00e2che planifi\u00e9e et qui roule tous les jours dans tous mes datacenters. Plus jamais je me ferai prendre \u00e0 perdre des VMs et surtout \u00e8 les chercher pendant des heures quand le vCenter plantera. En gros, ca sort une liste des VMs et leur emplacement sur les &hellip; <\/p>\n","protected":false},"author":1,"featured_media":1253,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,8],"tags":[],"class_list":["post-1251","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-t-i","category-vmware","grid-sizer"],"_links":{"self":[{"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/posts\/1251","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/comments?post=1251"}],"version-history":[{"count":5,"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/posts\/1251\/revisions"}],"predecessor-version":[{"id":1430,"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/posts\/1251\/revisions\/1430"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/media\/1253"}],"wp:attachment":[{"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/media?parent=1251"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/categories?post=1251"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/tags?post=1251"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}