Delete the virtual machine to the specified date

I'm trying to write a script to remove a virtual computer on a certain date.  Currently, I want people to add this in the name of the virtual machine "VMname_Delete-/ 1/1/14", I then search for the virtual computer with:

Get - VM | where {$_.name - cmatch "Delete-\d\/\d\/\d"}

With that, I'm sure that the correct VM is selected, and I tested it with virtual machines to make sure.  Now comes the hardest part (at least for me), I want to take the date to which belongs the VM name, convert it to a DateTime and then compare it to the current date.  If they match, I want to remove the virtual machine.  I tried something in the sense of:

Get - VM | where {$_.name - cmatch "Delete-\d\/\d\/\d"} | foreach {$_ .name-split "-"}

Which of course divide the table edge, and on tests, I had an output similar to:

VM_Delete

01/01/14

Of course, now I don't know how to finish the rest.  I thought that the script would be something like:

Get - VM | where {$_.name - cmatch "Delete-\d\/\d\/\d"} | {foreach}

If (($_.name-split «-»)-[DateTime] - game (get-date-format ' MM/dd/yy'))

{Remove-VM - VM $_ - DeletePermanently}

}

I don't see the logic in my head, but of course, I just can't write they way I think it should go.  Any help is appreciated.

Perhaps you could do something in this direction

$now = get-Date

Get - VM | where {$_.name - cmatch "Delete-\d\/\d\/\d"} | {foreach}

$dt = [datetime]($_.) Name.Split('-') [1])

If ($dt - lt $now) {}

Remove-VM - VM $_ - DeletePermanently

}

}

With the use of the index ([1]), we select the date part of the name of the virtual computer.

Then we have "cast" the string into a DateTime object.

Note that typeface could cause problems, depending on the culture settings you use.

Worse, divide you the date on the character string ' / ' and then generate the DateTime object as follows

$now = get-Date

Get - VM | where {$_.name - cmatch "Delete-\d\/\d\/\d"} | {foreach}

$dummy, $year $day, $month = $_. Name.Split('-') [1]. Split('/')

$dt = get-Date-day $day - month $month-year $year

If ($dt - lt $now) {}

Remove-VM - VM $_ - DeletePermanently

}

}

Tags: VMware

Similar Questions

  • Move a virtual machine to a specified data store, creating thin discs

    I apologize for the very basic question.

    Can someone please provlde a working example of a command-line PowerCLI to move a given virtual machine (for example of the ' t "MY VM Sample" with spaces in the name) of a given data store (say, "Source_datastore", I should specify?) to a given data store (say, "Target_datastore") thin discs?

    Concerning

    Marius

    Get - VM "name VM | Move-VM - Datastore (Get-VMHost "HostName" |) Get - Datastore - name of the "DatastoreName") DiskStorageFormat - slim

    You could just specify the data store without having to get the VMhost initially, but if you have multiple clusters with the same name of data warehouses, he can't shoot straight.

  • List not updated virtual machines after the migration of the virtual machine to a different data store

    My vSphere infrastructure 5 uses several data stores.

    Two data warehouses are associated with NFS on different NAS shares.

    I migrate VM to a data to another store.

    The navigation data store, I see that the files are moved from the old data store to the new and that no file belonging to the migrated VM still does exist on the old data store.

    If I look at the list of VMs on the old data store, I still see the old VM.

    I see it in the list of the virtual machine on the new data store as well.

    I checked that no .iso no pagefile is in the old data store.

    How can I update the list of the virtual machine on the old data store?

    Above all, how can I safely delete the old data store by ensuring that the virtual machine works very well on the new data store and I don't lose anything?

    Concerning

    Marius

    This use of data store 'Phantom' is usually observed, if the current configuration of the virtual computer points to the 'old' data store (diskette, CD-ROM) or the virtual machine contains snapshots where - at the time where tone have been created - the VM has had these references. Once the snapshots are deleted from data store 'ghost' will go away from summary of the virtual machine.

    André

  • Move the virtual machines in a specified folder/subfolder

    I need your help

    I want to migrate virtual machines to a specified folder.

    I need an answer in my script when I love move VMs from a csv file to a folder or a subfolder (Folder123).

    I need your help.

    Thank you

    folder.JPG

    You can change this

    {foreach ($VM to $VMs)
    Move-VM - VM $VM - Destination $Folderchk [$Choice - 1] | Out-Null
    }

    in this

    {foreach ($VM to $VMs)
    Write-Host "Moving $VM in the $($Folderchk [$Choice-1]) folder.
    Move-VM - VM $VM - Destination $Folderchk [$Choice - 1] | Out-Null
    }

    Maybe that will shed light on what is happeing

  • Remove/delete virtual machines based on creation Date

    Hello

    I'm fairly new to PowerCLI and I'm not a coder strong. I've been reviewing through communities and [web] inter and this time, Google is not my best friend.

    I'm trying to make a script that deletes VMs of the disk based on the time of creation of virtual machines and the unique string in the VM name to avoid deleting other virtual machines then those I want. I would like to modify this script to remove the AD and SCCM objects, however, it's just a list of wishes

    You may be wondering why I don't want to do something like this and the answer is for testing purposes.

    I have a group trying to test applications in a lab environment and we want to make sure that the virtual machines are removed within 3 weeks being created without doing it manually.

    Any help with this would be greatly appreciated

    Then, you could make the Where clause more specific, something like

    where {$_ -is [VMware.Vim.VmCreatedEvent] -and $_.Vm.Name -like "LAB*} | %{
    
  • Safari, taken in charge by the fake site FBI and money required for release, I need to delete the history data and the web to regain access.  How do I block it?

    Safari, supported by the fake site of the FBI and the money requested release. I have to delete the history data and the web to regain control. How do I block it?

    Lean on an adblock app. I use Weblock but there are other

    And if there is a particular site that you are attending that flat to the top of these malicious ads, well stop to go.

  • Why a pdf form deletes the same data when they are saved?

    Why a pdf form deletes the same data when they are saved?

    As it has been said, in preferences, JavaScript tab. The first entry activates / deactivates JavaScript.

    (just remember to reactivate after making your tests).

    I hope this can help.

    Max Wyss.

  • Can I delete the local data store on esx 3.5?

    I have a client with vmware ESX 3.5 no esxi

    They have a local data store but it is formatted with a block size of 1 MB, so I can put only a 256 GB VM out there and I need to put a test VM with a larger size.

    I know that in ESXi 4 you can simply delete the local data store and create a new, but I'm not familiar with ESX 3.5, are there hidden files on the data store that the server uses?  If I search for the store there's nothing in there.

    Thank you

    Mike

    Hi Mike,.

    You can simply reformat your data store. Take a look at the following article:

    Of course, you must back up and delete any data you have on this data store before the format operation.

    Good luck!

    Concerning

    Franck

  • How to delete a virtual machine in a script


    Hello

    I want to delete a virtual machine with a VCO script, I wouldn't use the action item named destroyVM. I explain why I wouldn't use, because in my script, I do this action:

    1. I list all VM in a specific folder name is different date servername-today ' today and powered OFF.

    2. I would destroy each VM in the list.

    But when I would simply test the following command:

    System.getModule("com.vmware.library.vc.vm").destroyVm ("VMName");

    I get the following error message:

    TypeError: Cannot read property "runtime" undefined (name of the dynamic Script Module: destroyVm #52993)

    I search on google and VMware blog, I can't find anything to help me!

    If someone has an idea, you are welcomed to answer me.

    Thank you in advance

    Good day

    Best regards

    Christophe

    Hello

    If you have access to vm.name or vm.runtime, you can access the vmobject.

    Therefore, you don't have to search again. I'm confused...

    (1.) what is folderObject?

    2.) check your if condition. It is not '&' what you want, but «&»

    (3.) getAllVMsMatchingRegexp() returns an array of vmobjects, not a single vmobject. VM names are NOT unique.

    Maybe a small example can help:

    var vmArray = VcPlugin.getAllVirtualMachines();
    for (var vmIndex in vmArray)
    {
        if ((vmArray[vmIndex].runtime.powerState == VcVirtualMachinePowerState.poweredOff) && (vmArray[vmIndex].name == "SCT-Test-01_12_2013"))
        {
            System.getModule("com.vmware.library.vc.vm").destroyVm(vmArray[vmIndex]);
        }
    }
    
  • Deletes a virtual machine of vCenter possible?

    Hi all.

    We used to be a Horizon view manual pool composed of virtual machines
    from vCenter server. In a single operation for removal of VM in view, we

    wrong selected pool and confirmed the deletion. The

    operation put merrily and when we realized the error, we

    find vsphere client that all VMs funds (a lot of them

    were running) in the manual pool view both were removed from the inventory

    and from the disc in vCenter server.

    This offends and confuses us. It is commonly accepted that it is
    Cannot delete a virtual machine running of vCenter: vSphere client no
    won't give you a possibility to do so, and doing so in a CROWD ends by default.
    But the view above disaster might suggest otherwise.

    I have two questions:
    1. is it possible to delete a virtual machine running of vCenter?
    2. If so, how to prevent in vCenter?
    3. (somewhat off topic) is it possible to come up with any hacking or

    This makes it impossible to remove vm disk Office while being

    able to manipulate the view of the pool? We prefer to rather in vCenter.

    =====================================
    The mistake that we made to remove all the Horizon view desktop VMs:
    1. login to VMware view Horizon administrator.
    2. based on the inventory, select the pool.
    3. in the view of the pool, select the tab "inventory."
    4. Select and right click on a desktop PC, select 'delete pool... '. »
    5. confirm the deletion.

    Software used:
    vCenter Server: 5.5.0, 1945274
    View of the horizon: 5.3.1 generation-1634134

    Kind regards
    Nathalie Sun

    Post edited by: sunrenjie6

    Hello Sun Nathalie,

    Finally, I was able to create your question on my test bench, but as I said earlier, it is not possible to remove a power on the virtual machine, which was true. When I deleted the pool which consists of power on VM, I saw in the VC that VM were power off first and delete.

    I also talk to the team from the horizon and they said that this device is designed this way to support several other features. To save accidental deletion of the s VM that they introduced the warning message.

    Sorry for your loss.

    Thank you

    DJ

  • How to move a virtual machine to a different data store, preserving its ID

    I would like to move a virtual machine to a different data store.

    Because I use 3rd party software that identifies a virtual machine by its ID of VirtualCenter, I'd like to preserve the ID, and I also want to preserve the name of the virtual computer.

    If I clone the virtual machine, I lose the ID and name.

    I can clone a second time to restore the name, but the ID is always false.

    I know that I can use vmkfstools-i to copy the entire disk.

    Is it possible to copy the entire VM?

    I am currently on ESX 3.0.2/VC 2.0.2

    The operation that I describe is available in 3.5.x/VC ESX 2.5.x

    TIA,

    -Magister

    Don't use EVER of CP to copy a VM, VMDK move/copy should be used in conjunction with vmkfstools as best practice.

    OP,

    You can manually make a copy using the CLI interface or use the VI Client and browse the data store and to copy and paste in the appropriate data and as suggested Andre store, when you switch on for the first time, you should say 'keep' when asked if you want to update the virtual machine UUID.

    Another thing, you could do, is if you've enabled for vMotion, you can actually use Storage vMotion which will migrate directly from your virtual machine to a different data store, it's less effort on your side and you can count on Andrew Kutz sVMotion plugin: http://sourceforge.net/projects/vip-svmotion/

    =========================================================================

    William Lam

    VMware vExpert 2009

    Scripts for VMware ESX/ESXi and resources at: http://engineering.ucsb.edu/~duonglt/vmware/

    repository scripts vGhetto

    VMware Code Central - Scripts/code samples for developers and administrators

    http://Twitter.com/lamw

    If you find this information useful, please give points to "correct" or "useful".

  • How can I move virtual machines from a local data store for a new iSCSI SAN?

    Hello guys,.

    Now that we have a new iSCSI SAN market how can I tranfer all the virtual machine to a local data store for a new SAN? Can I stop the VM in the host, and then copy the DataStore files with all the info on the new volume?

    Thank you

    Pesinet

    Alternatively, you can use VMware converter or cold Migration / Storage VMotion if you have the appropriate licenses.

    Duncan

    VMware communities user moderator | VCP | VCDX

    -

  • Plan for the creation of new virtual machine with 3 TB data drive

    We have an old server, we need to virtualize, and one thing that we need is a lot more storage. We have approximately 3.25 TB of available for this machine (250 GB for the OS and 3 to for the data drives), but I'm going in circles trying to find the best approach for this server. It is not possible to separate the data between several players because of the way the files are indexed. I have created a virtual machine with 2 TB of disk space (for the readers of OS and data) and added 1.25 TB of disk space I want to add on the data reader, but it does not seem possible to add 1.25 TB without destroying the data on the first disk of 2 TB. What is the best approach? Create a single disc for my virtual machine that is 250 GB and then add in two separate disks of 1.5 TB for storage and combine them within Windows?

    Thanks for your suggestions.

    Hello

    Unfortunately, the maximum size of virtual disk to a virtual computer is 2 TB - 512 bytes. In you case it should create two or three separate virtual disks and combine them (disks RAID 0 or concatenate). Another way (IMHO besser way) is to create several virtual drives and mount using NTFS mount points.

    An example:

    C:\Data is a folder on one of the virtual disks. Create a second virtual disks and create the C:\Data\Data2 folder. Rather than assign a drive letter for the newly created disk, you can mount it in the Database2 folder. This gives you the ability to move the largest files on separate virtual drives without lose you the structure of folders.

    Kind regards

    Patrick

  • How can I change the names of directory of virtual machine in VMWare ESXi data storage?

    I've always used host names, but I have changed several times, since the structure is bigger and I now 25 virtual machines. I started renaming to v, s, w - and then their hostname.

    For now, the data store directory is a real mess without the new structure and it bothers me. Is it possible to rename directories? Perhaps using vcenter? I would like to see a beautiful tree as: DWT-win2003, centos5 tpl, tpl-debian6, s-server01, server02-s, w-exchange01, w-mssql01, just as I renamed it to VMS. I tried the migration option, but it only allows for migration between host data warehouses and not to rename the directory that hosts the virtual machine.

    How can I change the my data store directory structure? I have considered changing the paths and edit vmx files to correct the paths, and then add servers to be inventoried. But I don't really know if this can be done without penalty or if there is a better solution.

    the easiest way, continuously needs storage vMotion of the guest.  It renames the folder and the underlying file for the same as the name of object of vCenter. If you don't have much storage vMotion, then turn off the prompt and do a cold migration.

  • Questions about the archive/delete a virtual machine for later retrieval.

    We run VSphere 4.0 in a 10-node cluster.    We have a VM we want to remove the system, but we want to archive it so that we can restore it later if necessary.

    Initially, I was counting on stop the virtual machine, the navigation data store and copy the files to a local disk using the button 'Download' on the data store.  Then after the copy, by an "out of disk" on the VM on VCenter.

    Then later if we need the machine back, download the files and do a 'add to inventory' on the VMDK file.

    However, when I did the download, I noticed that VMDK files on the downloaded folder had names with "-flat" added to them.  So 'server.vmdk' became 'server - flat hard '.

    If I copy these files with the '-dish "in the name in VMWare later, they will come to OK?

    Or, given that I'm trying to (archive a virtual machine), is there a better way to do this?

    Your comments would be appreciated.

    Mike O'Donnell.

    That is right.  "Every hard disk to a virtual machine consists of a pair of files hard. One is a text file containing descriptive data on the virtual hard disk, and the second is the actual content of this disc. For example, a virtual machine named examplevm has a drive attached to it. This disc consists of a file less than 1 KB examplevm.vmdk descriptor and a 10 GB examplevm - flat hard flat file, that contains the contents of the virtual machine. ' - of Ko 1002511.

Maybe you are looking for