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*} | %{

Tags: VMware

Similar Questions

  • 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

    }

    }

  • rename several virtual machines based on the State of food & VM name

    I'm looking for a powershell script to rename the virtual machine based on the state name and vm power.  For example, I have several virtual machines with a - temp at the end of the name of the server.  Some are turned on and some are turned off.  I am wanting to rename only those who is off

    Thank you

    tjw82

    Assuming that - temp is part of the name

    Get - vm | where {$_.powerstate - eq "poweredoff"} | foreach {Set-machine virtual - VM $_ - name (($_.name).)} Replace ("temp", "delete"))}

  • 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é

  • What is the proper way to remove a virtual machine in VMware Player?

    I created a machine virtual in VMware Player but not yet installed the operating system. I would like to delete the virtual machine and start from the beginning of the process. What is the proper way to remove a virtual machine in VMware player?

    Just curious, have you even looked in the help file in VMware Player?  It tells you how to remove a Virtual Machine.

    With the Virtual Machine off, right-click in the Virtual Machine library and select: remove VM disk

  • vRA 6.2 API - is possible to ask a new virtual machine based on a machine of model using the API

    Hello

    Is this possible in version 6.2 API at the request of a new virtual machine based on a model of Machine catalog?

    Thanks for the help in advance,

    Pieter

    Yes, you need to specify the new virtual machine in json format and publish it on/catalog-service/api/consumer/requests

  • Rename all the virtual machine files in the data store

    Hello

    We have renamed one of the name of the server of our virtual machine running on esx3.5. In addition, we have renamed this server in VC to reflect the new name of the server. Please tell us how we can rename all files in this virtual machine residing in the data store to reflect the new name of the server.

    Appreciate your quick response.

    Thanks in advance...

    You can use sVMotion and move it to another data store or migrate from cold.  Two tasks will rename the underlying set of files.

  • 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".

  • Size of the virtual machines on the local data store

    What is the best way to determne the (total) disk space using a virtual machine? We have several virtual machines on local data warehouses and would like to estimate roughly how much disk space to the total number of virtual machines use to caculate how much storage SAN, they will consume. Is there an 'easy' way to socket this information?

    The most accurate way would be to calculate the total space used by the virtual machine files in the data store.

    Connect to the service console

    Navigate to the vmfs volume

    Navigate to the vm folder

    -h.

    This will give you files for this particular virtual machine related to the amount of disk space used by all the vm

    Méhul

  • 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 Virtual Machines to access the data over a Fibre Channel SAN network

    Hello

    I have storage EMC SAN and HBA Qlogic card installed on a server from VSphere 5

    How do I access the LUN that I created on the SAN on a virtual machine.

    Please help step by step because I am a new on VSphere

    so the trick with rdm, is that there may be any vmfs existing on it. so even if you do not want to perform a new scan, it can be mounted in the storage. delete the vmfs partition, remove it from storage, then go to add HDD on the vm again and rdm will be is greyer. Obviously im assuming that there is no data on this lun. This operation will destroy all information contained in this logical unit number since we reformmatting it.

  • Number of virtual machine on a certain date?

    Hello

    is there a way to know how many virtual machines turned on a specific date? Let's say that there are 55 days?

    Thank you.

    You can get this info through vCheck Configuration in your environment. as I have the same set up with mine and I can't the details of all the VMS even what vm is removed on the date on which including active and inactive VMs. Here is an example.

  • Clone the virtual machine to the local data store

    Hi all

    I'm looking to automate a task daily (or almost) of my friends with a small script with powercli.

    I'm trying to "backup" or to clone a virtual machine, I work in a storage of one of our servers.

    The servers are managed by a 5.1 vCenter and the machine is on a shared storage.

    From time to time, I clean, stop the machine, remove all snapshots and clone the virtual machine to one of the local server as a backup storage. So I put together a small script which almost works. It works as long as the target data store is a shared storage, but not with a local storage.

    I get always an error that claims it can not access the local data store and is not a permissions problem...

    Given that I can accomplish this via the customer without problem I thought it is possible via powercli too, or I'm wrong?

    My Script up to now:

    # Variables
    $VC = "vc.domain.com" #vCenter Server
    $User = "domain\user" #User
    $Pass = 'test123' #User PW
    $VMName = 'scripttest' #VM
    $BackupSuffix = "backup" #Suffix to add the name of VM to mark this as a backup
    $VmHost = "esx2.domain.com".
    $Datastore = 'ESX2-LocalData' #Datastore
    $BackupFolder = 'Backup' #Folder the VM gets classified


    # Register cmdlets to VMware

    If (-not (Get-PSSnapin VMware.VimAutomation.Core - ErrorAction SilentlyContinue)) {}

    Add-PSSnapin VMware.VimAutomation.Core

    }


    # Connect to the server

    SE connect-ViServer $VC - user $User-password $Pass


    # Remove the old clone

    $OldBackups = get - VM | WHERE {$_.} {Name: corresponds to '$VMName - $BackupSuffix'}

    If ($OldBackups - don't "")

    {

    If ($OldBackups.Count - gt 1)

    {

    Write-Host "better check! "Found several results:

    Foreach ($VM to $OldBackups)

    {

    Write-Host $VM. Name

    }

    }

    on the other

    {

    Remove-VM - VM $OldBackups - DeleteFromDisk-confirm: $false

    }

    }


    # Clone VM

    $VMInfo = get - VM $VMName | Get-View

    $CloneSpec = new-Object Vmware.Vim.VirtualMachineCloneSpec

    $CloneSpec.Snapshot = $VMInfo.Snapshot.CurrentSnaphshot

    $CloneSpec.Location = new-Object Vmware.Vim.VirtualMachineRelocateSpec

    $CloneSpec.Location.Datastore = (get-Datastore-name $Datastore |) Get - View). MoRef

    $CloneSpec.Location.Transform = [Vmware.Vim.VirtualMachineRelocateTransformation]: sparse

    $CloneFolder = $VMInfo.Parent

    $CloneName = "$VMName - $BackupSuffix".

    $TaskCloneID = $VMInfo.CloneVM_Task ($CloneFolder, $CloneName, $CloneSpec)


    # Check if the task is completed


    $Check = $false

    While ($Check - eq $false)

    {

    $Tasks = get-job | Select State, id | Where {$_.} State - eq "Running" - and $_. State - eq "pending"}

    ForEach ($Task in $Tasks)

    {

    If ($Task.id - eq $TaskCloneID)

    {$Check = $false}

    on the other

    {$Check = $true}

    }

    Start-Sleep 10

    }

    # Move clone to the backup folder

    Move-VM - VM '$VMName - $BackupSuffix' - Destination $BackupFolder


    # Disconnect

    Disconnect-VIServer-confirm: $false

    Can you show us the complete error message you get?

    BTW, the clone step can be replaced by the New-VM cmdlet with the setting of the virtual machine.

  • How cleanly and safely remove or remove a virtual machine or the client in Esxi 4.0

    How to safely delete or remove a vritual on ESXi 4.0 Server?

    If there are how many documentation or steps please advise.

    Basically you shut down the virtual computer, right-click in the inventory and select "remove disc". If your concern for security concerns to reset the disk space used by the virtual machine, you will have to do it manually.

    André

Maybe you are looking for