Solved

Script for automating vmware

Posted on 2008-10-24
10
743 Views
Last Modified: 2012-05-05
We have two VMware ESX servers in production, and also use the Virtual Center for management. I downloaded and installed the vmware VI3 toolkit and Windows Powershell so that we can automate such things as deleting and cloning our virtual servers. I can open the toolkit command window and execute the commands with no problem, but how would I make a script that I can schedule? I tried making one in notepad and giving it a ps1 extension, but the only thing that happens is a command window pops up then goes away immediately. I am totally new to scripting with powershell/vmware. The bad thing is, I can't even see what is going on because I don't know how to "pause" the script to see what is happening.
Here is what I put into notepad and saved as script.ps1 :

connect-esx -server 192.168.1.249 -user root -password vmware
remove-vm (get-vm "eservice clone") -deletefromdisk
0
Comment
Question by:ilguybob
  • 5
  • 4
10 Comments
 
LVL 18

Accepted Solution

by:
BSonPosh earned 500 total points
Comment Utility
try adding this to the top of your script

add-pssnapin VMware.VimAutomation.Core -ea 0
0
 
LVL 18

Expert Comment

by:BSonPosh
Comment Utility
I do not believe there is a connect-esx. Perhaps you are looking for connect-viserver or get-vc

(as a side note... probably not a good idea to store your password in clear text. Look here on other options http://bsonposh.com/archives/338)
0
 
LVL 12

Expert Comment

by:S00007359
Comment Utility
you'd be better of with some scripting tools, where you can compile etc, to see/debug your scripts. Trying using this link: http://www.primalscript.com/
0
 
LVL 1

Author Comment

by:ilguybob
Comment Utility
The first suggestion appeared to work, but I have the virtual machine that was deleted still in the inventory, but it is in italics and says orphaned in parenthesis. I know I can remove it manually, but is there another script entry I could put in to do this for me?
0
 
LVL 18

Expert Comment

by:BSonPosh
Comment Utility
You can use Remove-Inventory to remove it.

Type this at the prompt for more on the cmdlet
get-help Remove-Inventory -full

You may even be able to do this
get-vm <name> | remove-Inventory
0
Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

 
LVL 1

Author Comment

by:ilguybob
Comment Utility
If I do that after the delete command, I get an error that the vm cannot be found, even though it says it is there and orphaned. If I run the remove-inventory command first, it gives the same "orphaned" state and I canot run the delete command (vm not found).
Maybe I am looking at this the wrong way? We are trying to come up with an automated way to clone our vm servers and delete the old ones once a week to a different esx server. Works great if we do it manually. If we schedule it, it cannot run because there is not enough space on that server to have more than one copy of the cloned vm's. It seems like this would be a pretty common thing to do and I am surprised there is no automated way of doing it.
0
 
LVL 18

Expert Comment

by:BSonPosh
Comment Utility
Perhaps I was confused. I thought you were just trying to cleanup.

What you want is Remove-VM

Remove-VM VMName -DeleteFromDisk
0
 
LVL 1

Author Comment

by:ilguybob
Comment Utility
That works, but always prompts me to make sure I want to execute it. I tried adding /y -y and just plain y at the end of the delete command. Is there a parameter that will execute the command without prompting?
0
 
LVL 18

Expert Comment

by:BSonPosh
Comment Utility
Try this

Remove-VM VMName -DeleteFromDisk -Confirm:$false
0
 
LVL 1

Author Closing Comment

by:ilguybob
Comment Utility
Bingo! Thanks a lot!
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

It Is not possible to enable LLDP in vSwitch(at least is not supported by VMware), so in this article we will enable this, and also go trough how to enabled CDP and how to get this information in vSwitches and also in vDS.
In this article, I will show you HOW TO: Create your first Windows Virtual Machine on a VMware vSphere Hypervisor 6.5 (ESXi 6.5) Host Server, the Windows OS we will install is Windows Server 2016.
Teach the user how to join ESXi hosts to Active Directory domains Open vSphere Client: Join ESXi host to AD domain: Verify ESXi computer account in AD: Configure permissions for domain user in ESXi: Test domain user login to ESXi host:
This video shows you how to use a vSphere client to connect to your ESX host as the root user. Demonstrates the basic connection of bypassing certification set up. Demonstrates how to access the traditional view to begin managing your virtual mac…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now