{"id":1182,"date":"2017-07-26T15:16:12","date_gmt":"2017-07-26T13:16:12","guid":{"rendered":"http:\/\/blog.purplescreen.fr\/?p=1182"},"modified":"2017-07-27T07:43:26","modified_gmt":"2017-07-27T05:43:26","slug":"configure-hotadd-cpu-ram","status":"publish","type":"post","link":"http:\/\/blog.purplescreen.fr\/?p=1182","title":{"rendered":"Configure HotAdd  (CPU &#038; RAM)"},"content":{"rendered":"<p>Voici un script pour vous permettre de configurer vos VMs avec l&#8217;option Hot CPU et\/ou RAM. Attention, vos VMs devront red\u00e9marrer.<\/p>\n<pre># POWERCLI 6.5 Release 1 - by Olivier Gosselin\r\n# http:\/\/blog.purplescreen.fr\r\n\r\nfunction Set-HotAdd {\r\n&lt;# \r\n.SYNOPSIS\r\nThis cmdlet\r\n.DESCRIPTION\r\n.EXAMPLE\r\nSet-HotAdd -Name MyVM -CPU True -Memory True\r\nConfigure Hot add for Memory and CPU to Virtual machine MyVM\r\n.EXAMPLE\r\nSet-HotAdd -Name MyVM,AllVM* -CPU True -Memory True\r\nConfigure Hot add for Memory and CPU to Virtual machine MyVM and all vm beginning with AllVM\r\n.INPUTS\r\nNone\r\n.PARAMETER Name\r\nSpecifie the vm name.\r\n.PARAMETER CPU\r\nSet CPU Hot add to false or true\r\n.PARAMETER Memory\r\nSet Memory Hot add to false or true\r\n.LINK\r\nhttp:\/\/blog.purplescreen.fr\r\n#&gt;\r\n[CmdletBinding()]\r\nParam(\r\n    [Parameter(Mandatory=$True,Position=0)]\r\n    [array]$Name,\r\n\r\n    [Parameter(Mandatory=$False,Position=1)]\r\n    [ValidateSet(\"False\", \"True\")]\r\n    [string[]]$Memory,\r\n\r\n    [Parameter(Mandatory=$False,Position=2)]\r\n    [ValidateSet(\"False\", \"True\")]\r\n    [string[]]$CPU\r\n\r\n)#PARAM\r\n\r\n$VM = Get-VM -Name $Name | Get-View\r\n$ArrayVMs = $VM.Name\r\n$VMs = @($ArrayVMs)\r\n\r\nWrite-Host \"\"\r\nWrite-Host \"Les VM suivantes seront red\u00c8marr\u00c8es : \" -ForegroundColor red\r\n\r\nif (!$VM) {\r\n$ErrorActionPreference = \"Stop\"\r\nWrite-Host \"Le script c'est arreter a cause d'une erreur.\" -ForegroundColor Red\r\n}\r\n\r\nforeach ($MyNameis in $VM) {\r\n$VMWaretoolsState = $MyNameis.Summary.Guest.ToolsStatus\r\n$NameOutput = New-Object psobject\r\n$NameOutput | Add-Member -MemberType NoteProperty -Name Name -Value $MyNameis.Name\r\n$NameOutput | Add-Member -MemberType NoteProperty -Name StatusTools -Value $VMWaretoolsState\r\n$NameOutput\r\n}\r\n$WarningBoot = $NameOutput | where {$_.StatusTools -ne \"toolsOk\"}\r\nif ($WarningBoot) {\r\nWrite-Host \"Attention : Certaines VMs seront \u00c8teintes par un PowerOff. Utilisez UpdateManager pour mettre \u2021 jour les VMWare tools ou v\u00c8rifiez leur \u00c8tat.\" -ForegroundColor Red\r\n\r\nWrite-Host \"\"\r\nWrite-Host \"Faire [ctrl+c] pour annuler\"\r\nPause\r\nWrite-Host \"\"\r\n}\r\nforeach ($VMName in $VMs) {\r\n$i++\r\n$intSize = $intSize + $objFile.Length\r\nWrite-Progress -activity \"VM en cours de configuration $VMName\" -status \"Status : \" -percentComplete (($i \/ $VMName.length)  * 100)\r\n$VMView = Get-VM -Name $VMName | Get-View\r\n$PowerState = $VMView.Runtime.PowerState\r\n$ToolsRun = $VMView.Summary.Guest.ToolsStatus\r\n\r\nif ($PowerState -eq \"poweredOn\") {\r\nif ($ToolsRun -eq \"toolsOk\") {\r\nGet-VM -Name $VMName | Stop-VMGuest -Confirm:$false\r\n}\r\nelse {\r\nGet-VM -Name $VMName | Stop-VM -Confirm:$false\r\nWrite-Host \"Les VMTools ne fonctionnent pas sur cette Machine virtuelle ($VMName). La machine est eteinte par un PowerOff\" -ForegroundColor red\r\n}\r\nWrite-Host \"Arret de la machine en court ($VMName)...\" -ForegroundColor Yellow\r\n}\r\ndo {\r\n$DoVMView = Get-VM -Name $VMName | Get-View\r\n$PowerState = $DoVMView.Runtime.PowerState\r\nStart-Sleep -Seconds 1\r\n} while ($PowerState -ne \"poweredOff\")\r\n\r\n$spec = New-Object VMware.Vim.VirtualMachineConfigSpec\r\nif ($Memory -eq \"True\") {\r\n$spec.memoryHotAddEnabled = $true\r\n}\r\nelse {\r\n$spec.memoryHotAddEnabled = $false\r\n}\r\n\r\nif ($CPU -eq \"True\") {\r\n$spec.cpuHotAddEnabled = $true\r\n}\r\nelse {\r\n$spec.cpuHotAddEnabled = $false\r\n}\r\n\r\nWrite-Host \"On applique les modifications.\" -ForegroundColor Yellow\r\n$VMView.ReconfigVM_Task($spec)\r\n\r\nStart-Sleep -Seconds 10\r\nGet-VM -Name $VMName | Start-VM\r\n\r\nWrite-Host \"La machine Virtuelle ($VMName) est en cour de d\u00c8marrage.\" -ForegroundColor red\r\nWrite-Host \"\"\r\n}\r\n$intSize = \"{0:N0}\" -f $intSize\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Voici un script pour vous permettre de configurer vos VMs avec l&#8217;option Hot CPU et\/ou RAM. Attention, vos VMs devront red\u00e9marrer. # POWERCLI 6.5 Release 1 &#8211; by Olivier Gosselin # http:\/\/blog.purplescreen.fr function Set-HotAdd { &lt;# .SYNOPSIS This cmdlet .DESCRIPTION .EXAMPLE Set-HotAdd -Name MyVM -CPU True -Memory True Configure Hot add for Memory and CPU&#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,16],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Configure HotAdd (CPU &amp; RAM) - 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=\"http:\/\/blog.purplescreen.fr\/?p=1182\" \/>\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=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\/\/blog.purplescreen.fr\/?p=1182\",\"url\":\"http:\/\/blog.purplescreen.fr\/?p=1182\",\"name\":\"Configure HotAdd (CPU & RAM) - PurpleScreen\",\"isPartOf\":{\"@id\":\"https:\/\/blog.purplescreen.fr\/#website\"},\"datePublished\":\"2017-07-26T13:16:12+00:00\",\"dateModified\":\"2017-07-27T05:43:26+00:00\",\"author\":{\"@id\":\"https:\/\/blog.purplescreen.fr\/#\/schema\/person\/ad63980c08d122ffe9115ade81b21fd3\"},\"breadcrumb\":{\"@id\":\"http:\/\/blog.purplescreen.fr\/?p=1182#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/blog.purplescreen.fr\/?p=1182\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/blog.purplescreen.fr\/?p=1182#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.purplescreen.fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Configure HotAdd (CPU &#038; RAM)\"}]},{\"@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\":\"http:\/\/0.gravatar.com\/avatar\/6a053a3dca3cccbeecd37d492189f38f?s=96&d=mm&r=g\",\"contentUrl\":\"http:\/\/0.gravatar.com\/avatar\/6a053a3dca3cccbeecd37d492189f38f?s=96&d=mm&r=g\",\"caption\":\"ogosselin\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/olivier-gosselin-30090498\/\"],\"url\":\"http:\/\/blog.purplescreen.fr\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Configure HotAdd (CPU & RAM) - 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":"http:\/\/blog.purplescreen.fr\/?p=1182","twitter_misc":{"Written by":"ogosselin","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/blog.purplescreen.fr\/?p=1182","url":"http:\/\/blog.purplescreen.fr\/?p=1182","name":"Configure HotAdd (CPU & RAM) - PurpleScreen","isPartOf":{"@id":"https:\/\/blog.purplescreen.fr\/#website"},"datePublished":"2017-07-26T13:16:12+00:00","dateModified":"2017-07-27T05:43:26+00:00","author":{"@id":"https:\/\/blog.purplescreen.fr\/#\/schema\/person\/ad63980c08d122ffe9115ade81b21fd3"},"breadcrumb":{"@id":"http:\/\/blog.purplescreen.fr\/?p=1182#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/blog.purplescreen.fr\/?p=1182"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/blog.purplescreen.fr\/?p=1182#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.purplescreen.fr\/"},{"@type":"ListItem","position":2,"name":"Configure HotAdd (CPU &#038; RAM)"}]},{"@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":"http:\/\/0.gravatar.com\/avatar\/6a053a3dca3cccbeecd37d492189f38f?s=96&d=mm&r=g","contentUrl":"http:\/\/0.gravatar.com\/avatar\/6a053a3dca3cccbeecd37d492189f38f?s=96&d=mm&r=g","caption":"ogosselin"},"sameAs":["https:\/\/www.linkedin.com\/in\/olivier-gosselin-30090498\/"],"url":"http:\/\/blog.purplescreen.fr\/?author=1"}]}},"_links":{"self":[{"href":"http:\/\/blog.purplescreen.fr\/index.php?rest_route=\/wp\/v2\/posts\/1182"}],"collection":[{"href":"http:\/\/blog.purplescreen.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.purplescreen.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.purplescreen.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.purplescreen.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1182"}],"version-history":[{"count":4,"href":"http:\/\/blog.purplescreen.fr\/index.php?rest_route=\/wp\/v2\/posts\/1182\/revisions"}],"predecessor-version":[{"id":1204,"href":"http:\/\/blog.purplescreen.fr\/index.php?rest_route=\/wp\/v2\/posts\/1182\/revisions\/1204"}],"wp:attachment":[{"href":"http:\/\/blog.purplescreen.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1182"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.purplescreen.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1182"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.purplescreen.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1182"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}