This is a simple way of adding memory to a powered-on vm, which has the Memory hot plug option enabled. It reads the server names from a file (deploy.csv) and updates the memory to what is specified in the script.
- First the deploy.csv file
name vmserver01 vmserver02
- Actual script, MemoryMB needs to be updated
#Connect to vcenter server connect-viserver vcenter.domain.local #Import vm name and ip from file Import-Csv deploy.csv | foreach { $strNewVMName = $_.name write-host "Server ----- $strNewVMName" #MemoryMB needs to change Set-VM -VM $strNewVMName -MemoryMB 6144 Sleep 2 Get-VM -name $strNewVMName | Select Name, MemoryGB $Report += $strNewVMName } write-host "Sleeping ..." Sleep 10 #Send out an email with the names $emailFrom = "<from email id>" $emailTo = "<to email id>" $subject = "List of servers with upgraded memory" $smtpServer ="<smtp server name>" $smtp = new-object Net.Mail.SmtpClient($smtpServer) $smtp.Send($emailFrom, $emailTo, $subject , $Report)