A nice Slash and Burn script for vCD

WARNING!!! This will delete ALL VMs in your vCD!!!!!

Connect to your vCD with “Connect-CIServer ” and run the following:


Stop-CIVApp * -Confirm:$false
Remove-CIVApp * -Confirm:$false
sleep 5
Remove-OrgNetwork * -Confirm:$false

Then manually delete any gateway devices and then run the following to clean up all the orgs:


Set-OrgVdc -Enabled:$false
remove-OrgVdc -Confirm:$false
Set-Org -Enabled:$false 
remove-Org -Confirm:$false

Big thanks to my colleague Grant Voss for this awesome little cleanup script.

Continue Reading

Using PowerCLI To Answer Virtual Machine Message Questions

pic1

 

 

 

 

 

 

 

The Virtual Machine Message I’m faced with deals with the relocation of the VM.  Via the vSphere Client, my possible choices to answer the question are “Cancel”, “I moved it”, or “I copied it”.  I don’t have the patience or desire to mouse through this hundreds of times.

pic2

 

 

 

 

 

I want to provide the same answer, “I moved it”, for every VM in inventory which has this question.  The script to accomplish this is fairly simple, even by my standards.  Once the PowerCLI connection is established to the vCenter Server or ESX(i) host, it’s a one-liner.  Following is the PowerShell script which gets the job done for my situation:

Connect-VIServer vc501.boche.lab
Get-VM | Get-VMQuestion | Set-VMQuestion -Option “I moved it” -Confirm:$false

Note that there are different types of Virtual Machine Message questions which will yield a different set of possible answers.  Be sure to query a VM having a question via PowerCLI for the possible answers to that question.  Get-VM | Get-VMQuestion -full should do it.  Once the possible answers are revealed, use Set-VMQuestion -Option to provide an answer.

Also note the script above will cycle through all VMs in inventory, and for those having a question, it will provide the same response for each VM.  Thus the assumption is made that all VMs with pending questions have the same question being asked.  To respond to explicit question types or to filter the VMs being looped through, the script would need to be refined.

For more information on the Get-VMQuestion or Set-VMQuestion PowerCLI cmdlets, use Get-Help Get-VMQuestion -full or Set-Help Get-VMQuestion -full respectively.

Thank you to Jason Boche for this article

Continue Reading

Multiple commands in Linux

For those that do not know how to string multiple commands together, here is a quick reference for you:

[user@server foobar]$ command1 ; command2

The command is executed in the order it was written, but command 2 is executed even if there was an error in command 1.

[user@server foobar]$ command1 && command2

The command command2 is executed only if command1 was successful, no errors.

 

Continue Reading

Modifying an AutoDeploy rule in PowerCLi

After some hunting I found that modification of an AutoDeploy rule wasn’t as simple as Edit-DeployRule  🙂  My coworker Joe Keegan, the God of AutoDeploy walked me through the simple steps to modify existing rules rather that deleting and replacing.

NOTE:  You do NOT need to use “” or other characters around the <VALUE> EXCEPT for the Pattern Value.  Otherwise, the object is found when it checks the name against the GetType.

To replace the Pattern of an existing rule:
Get-DeployRule -name <RULENAME> | Copy-DeployRule -ReplacePattern “<NEW PATTERN>”

To replace the Image, Location, or Profile of an existing rule:
Get-DeployRule -name <RULENAME> | Copy-DeployRule -ReplaceItem <NEW PROFILE NAME>

 

Continue Reading