Solved

Script for automating vmware

Posted on 2008-10-24
10
748 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
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
Manage your data center from practically anywhere

The KN8164V features HD resolution of 1920 x 1200, FIPS 140-2 with level 1 security standards and virtual media transmissions at twice the speed. Built for reliability, the KN series provides local console and remote over IP access, ensuring 24/7 availability to all servers.

 
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

NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

Question has a verified solution.

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

Suggested Solutions

HOW TO: Install and Configure VMware vSphere Hypervisor 6.5 (ESXi 6.5), Step by Step Tutorial with screenshots. From Download, Checking Media, to Completed Installation.
In this article we will learn how to backup a VMware farm using Nakivo Backup & Replication. In this tutorial we will install the software on a Windows 2012 R2 Server.
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:
This video shows you how easy it is to boot from ISO images for virtual machines with the ISO images stored on a local datastore on the ESXi host.

685 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