Solved

Script for automating vmware

Posted on 2008-10-24
10
751 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
10 Comments
 
LVL 18

Accepted Solution

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

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

Expert Comment

by:BSonPosh
ID: 22799307
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
ID: 22800019
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
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 1

Author Comment

by:ilguybob
ID: 22821780
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
ID: 22821843
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
 
LVL 1

Author Comment

by:ilguybob
ID: 22823812
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
ID: 22823889
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
ID: 22908915
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
ID: 22922627
Try this

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

Author Closing Comment

by:ilguybob
ID: 31509771
Bingo! Thanks a lot!
0

Featured Post

Flexible connectivity for any environment

The KE6900 series can extend and deploy computers with high definition displays across multiple stations in a variety of applications that suit any environment. Expand computer use to stations across multiple rooms with dynamic access.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

HOW TO: Upload an ISO image to a VMware datastore for use with VMware vSphere Hypervisor 6.5 (ESXi 6.5) using the vSphere Host Client, and checking its MD5 checksum signature is correct.  It's a good idea to compare checksums, because many installat…
In this article, I show you step by step with screenshots to assist you - HOW TO: Deploy and Install the VMware vCenter Server Appliance 6.5 (VCSA 6.5), with some helpful tips along the way.
Teach the user how to rename, unmount, delete and upgrade VMFS datastores. Open vSphere Web Client: Rename VMFS and NFS datastores: Upgrade VMFS-3 volume to VMFS-5: Unmount VMFS datastore: Delete a VMFS datastore:
Teach the user how to use configure the vCenter Server storage filters Open vSphere Web Client:  Navigate to vCenter Server Advanced Settings: Add the four vCenter Server storage filters: Review the advanced settings: Modify the values of the four v…
Suggested Courses

632 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