Add multiple virtual machines to a running script

Hi all

This script below works fine

$vmtest = get - vm "vmname" | Get-opinion

$vmConfigSpec = new-Object VMware.Vim.VirtualMachineConfigSpec

$vmConfigSpec.changeTrackingEnabled = $true

$vmtest.reconfigVM ($vmConfigSpec)

How can I pass a list of virtual machines in a text file c:\vms.txt for this script?

Thank you

Alex

I guess your TXT file has a vmname on each line, so you might do something like this

$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec$vmConfigSpec.changeTrackingEnabled = $true

Get-Content c:\vms.txt | %{  $vmtest = Get-vm -Name $_  $vmtest.ExtensionData.ReconfigVM($vmConfigSpec)}

Tags: VMware

Similar Questions

  • Add multiple virtual machines to the inventory at once?

    Hello

    Add virtual machines to the inventory, I need to browse the data store, get him the virtual machine folder, click with the right button on the vmx file and add it to the inventory. If I have to do for 100 virtual machines, that it takes a lot of time.

    Is there a way I can add multiple virtual computers to inventory collectively without doing it for each individual computer?

    Rizwan

    Not with vSphere client if this is what you need.

    If this post was useful/solved your problem, please mark the points of wire and price as seem you. Thank you!

  • Script to create multiple virtual machines model works is not for the network adapter variable

    We are working on a script to create multiple virtual machines from a template. The script works fine, but when we try to include commands to set the NIC to a group of specific ports on a dvswitch script errors on. Here's what we have so far. This script (less network variables) works, but we would like to include the network configs in the script as well.

    -------------------

    This is the part of the script that configures the network/dvswitch adapter... but does not work properly.

    $myResourcePool = get-ResourcePool-name DQOL

    $dsName = get-Datastore-name "DQOL-DS01.

    $myTemplate = get-Template-name "DQVTemplate".

    $distributedSwitchPortGroup = get-VirtualSwitch-distributed - name "CVE-dvS04-Nexus - k 5 | Get-VirtualPortGroup-name '979-DQ-SHARED '.

    New-VM-name MyVM1-model $myTemplate - Networkname ResourcePool - $myResourcePool - OSCustomizationSpec $mySpecification $distributedSwitchPortGroup - Datastore

    (Get-$dsName data store)

    New-VM-name MyVM2-model $myTemplate - ResourcePool $myResourcePool - OSCustomizationSpec $mySpecification - Datastore (Get-$dsName data store)

    _____________________

    !!!!!!!  This part works, but without specifying a network/dvswitch... card!

    $myResourcePool = get-ResourcePool-name DQOL

    $dsName = get-Datastore-name "CVE-SAN-ISG-DS02-02ef.

    $myTemplate = get-Template-name "DQVTemplate".

    New-VM-name MyVM3-model $myTemplate - ResourcePool $myResourcePool - OSCustomizationSpec $mySpecification - Datastore (Get-$dsName data store)

    New-VM-name MyVM4-model $myTemplate - ResourcePool $myResourcePool - OSCustomizationSpec $mySpecification - Datastore (Get-$dsName data store)

    Here is the error we get:

    New-VM: all parameters can be resolved by using the specified named parameters.

    C:\Users\capuanoj\Desktop\Create-multiplevms-fromtemplate.ps1:6 char: 7

    + New-VM < < < <-name MyVM1-model $myTemplate - Networkname $distributedSwitchPortGroup - ResourcePool

    ePool - OSCustomizationSpec $mySpecification - Datastore (Get-$dsName data store)

    + CategoryInfo: InvalidArgument: (:)) [new-VM], ParameterBindingException)

    + FullyQualifiedErrorId: AmbiguousParameterSet, VMware.VimAutomation.ViCore.Cmdlets.Commands.NewVM

    You cannot use the - model and Networkname - parameters of the cmdlet New - VM in a single order, because both are in different parameter sets. You must first create the virtual machine and then use the cmdlet Set-NetworkAdapter to change the portgroup of the virtual machine. As in example 4, assistance from cmdlet Set-NIC:

    --------------  Example 4 --------------

    C:\PS>$myNetworkAdapters = Get - VM | Get-NetworkAdapter-name "NIC 1.
    $myVDPortGroup = get-VDPortgroup-name MyVDPortGroup
    Together-NetworkAdapter NetworkAdapter - $myNetworkAdapters - $myVDPortGroup Portgroup

    Retrieves all network named "NIC 1" cards of all virtual machines and connects to the specified distributed port group.

  • GUI: how to run the same command on multiple virtual machines at the same time?

    Hello

    Suppose we have several operations on multiple virtual machines (for example as updated virtual hardware, install vmtools - but it could be something else of course...).

    I would avoid clicking on each virtual machine (especially when we have hundreds of different groups).  It is possible to select sort

    (they are not side by side) and perform on a particular operation on all selected both?

    Hello

    If you use vCenter 5.1 + you can also try to use marking and assign tags on the items in the inventory.

    VSphere 5.5 Documentation Center - apply a label to an object

    Search for items by this tag.

    If you want to use PowerCLI 5.5, you can also search the inventory by this tag.

    Get-VM-Tag which lists all the virtual machines with which

    Here are some links for getting started with vSphere PowerCLI

    Back to Basics: part 1 - installation PowerCLI | VMware PowerCLI Blog - Articles from VMware

    vSphere PowerCLI Documentation

  • You can edit vmx files on multiple virtual machines in a cluster to allow changes of setting delay start via RCLI or Toolkit VI?

    You can edit vmx files on multiple virtual machines in a cluster to allow changes of setting delay start via RCLI or Toolkit VI? How?

    SAs desire a lead time of 10 seconds through the virtual company composed of several VCs with multiple data centers and clusters.

    Known: we can edit the .vmx file and add: bios.bootDelay = "10000" this adds stunted ms 10000 (10 seconds) when starting

    Known: we may have to re-register or some other mechanism to apply the changes to the start on the VMS settings

    Has anyone tried to make a change of large company to bootDelay on VMS? Any help?

    The script below will do what you want. Have fun.

    -

  • Stop/start multiple virtual machines with names created automatically

    Hi all

    in my test environment, I want to stop or start multiple virtual machines via the script.

    Their name is always like this:

    'vm-100-qa', 'vm-101-qa","vm-100-qa","vm-102-qa '...

    Now I would like to just stop every VM 'vm-140-QA' to 'vm-160-qa.

    I created a table "$a = 140.160", but I don't know how to implement this in a script 'Shutdown-VMGuest-comments '.... »

    Sorry for this stupid question. I am a beginner absolute powershell.

    Thank you very much in advance,

    Petrie

    You can do something like this

    140..160 | %{   Shutdown-VMGuest -VM "vm-$_-qa"}
    
  • Deploy multiple virtual machines simultaneously

    Hello

    I'm trying to deploy multiple virtual machines at the same time using powercli.  I think I have has the switch - RunAsynch, howerver, this doesn't seem to work, instead of that virtual machines are deployed one at a time.  Here is my code:

    SE connect-VIServer-Server vc1. MYDOMAIN.local - user MYDOMAIN\MYACCOUNT-password MYPASSWORD

    New-vm - vmhost prodh1. MYDOMAIN.local - name of TEST - SVR01 - model W2K8R2SP1 - IOMEGA data store - OSCustomizationspec-W2K8R2SP1-_Tobedeleted location | Start-VM - RunAsync

    New-vm - vmhost prodh1. MYDOMAIN.local - name of TEST - SVR02 - W2K8R2SP1 - IOMEGA data store model - OSCustomizationspec-W2K8R2SP1-_Tobedeleted location | Start-VM - RunAsync

    New-vm - vmhost prodh1. MYDOMAIN.local - name of TEST - SVR03 - W2K8R2SP1 - IOMEGA data store model - OSCustomizationspec-W2K8R2SP1-_Tobedeleted location | Start-VM - RunAsync

    New-vm - vmhost prodh1. MYDOMAIN.local - name of TEST - SVR04 - W2K8R2SP1 - IOMEGA data store model - OSCustomizationspec-W2K8R2SP1-_Tobedeleted location | Start-VM - RunAsync

    Start-Sleep - seconds 300

    Get - vm "TEST-SVR01 | Get-VMGuestNetworkInterface Guestuser - administrator - GuestPassword "MYPASSWORD" |? {$_.name - eq "Connect to network Local 3"} | Game-vmguestnetworkinterface administrator - Guestuser - GuestPassword "MYPASSWORD" - IPPolicy - 192.168.1.25 static IP - Netmask 255.255.255.0 - Gateway 192.168.1.1 DNS - 192.168.1.2,192.168.1.3 - RunAsync

    Get - vm "TEST-SVR02 | Get-VMGuestNetworkInterface Guestuser - administrator - GuestPassword "MYPASSWORD" |? {$_.name - eq "Connect to network Local 3"} | Game-vmguestnetworkinterface administrator - Guestuser - GuestPassword "MYPASSWORD" - IPPolicy - 192.168.1.25 static IP - Netmask 255.255.255.0 - Gateway 192.168.1.1 DNS - 192.168.1.2,192.168.1.3 - RunAsync

    Get - vm "TEST-SVR03 | Get-VMGuestNetworkInterface Guestuser - administrator - GuestPassword "MYPASSWORD" |? {$_.name - eq "Connect to network Local 3"} | Game-vmguestnetworkinterface administrator - Guestuser - GuestPassword "MYPASSWORD" - IPPolicy - 192.168.1.25 static IP - Netmask 255.255.255.0 - Gateway 192.168.1.1 DNS - 192.168.1.2,192.168.1.3 - RunAsync

    Get - vm "TEST-SVR04 | Get-VMGuestNetworkInterface Guestuser - administrator - GuestPassword "MYPASSWORD" |? {$_.name - eq "Connect to network Local 3"} | Game-vmguestnetworkinterface administrator - Guestuser - GuestPassword "MYPASSWORD" - IPPolicy - 192.168.1.25 static IP - Netmask 255.255.255.0 - Gateway 192.168.1.1 DNS - 192.168.1.2,192.168.1.3 - RunAsync

    Get-NetworkAdapter "TEST-SVR01 | Together-NetworkAdapter - NetworkName VM1-confirm: $false

    Get-NetworkAdapter "TEST-SVR02 | Together-NetworkAdapter - NetworkName VM1-confirm: $false

    Get-NetworkAdapter "TEST-SVR03 | Together-NetworkAdapter - NetworkName VM1-confirm: $false

    Get-NetworkAdapter "TEST-SVR04 | Together-NetworkAdapter - NetworkName VM1-confirm: $false

    If anyone can help?

    Thank you

    Duncan.

    Yes, you are right.

    By specifying the param -VM (Get - VM $modelVM) , you create the new virtual machine from an existing one.

    Just change the cmdlet New - VM settings according to your needs and let the VM - far.

    It creates your virtual machines based on a template and specification of customization.

    $esxName = "prodh1.MYDOMAIN.local"
    $template = "W2K8R2SP1"
    $datastore = "IOMEGA"
    $newVmList = "TEST-SRV01", "TEST-SRV02", "TEST-SRV03", "TEST-SRV04"
    $custSpec = "W2K8R2SP1"
    $location = "_Tobedeleted"
    $taskTab = @{}
    
    # Create all the VMs specified in $newVmList
    foreach($Name in $newVmList) {
         $taskTab[(New-VM -Name $Name -VMHost (Get-VMHost -Name $esxName) -Template $template -Datastore $datastore -OSCustomizationSpec $custSpec -Location $location -RunAsync).Id] = $Name
    }
    

    Of course, you can write it as before. You will need to only change the $newVmList variable in the original script.

    foreach($Name in $newVmList) {
         $taskTab[(New-VM -Name $Name -VMHost "prodh1.MYDOMAIN.local" -Template" W2K8R2SP1" -Datastore" IOMEGA" -OSCustomizationSpec "W2K8R2SP1" -Location "_Tobedeleted" -RunAsync).Id] = $Name
    }
    

    You will also need to insert the remaining part with the while loop and the customizations in your network!

    http://www.lucd.info/2010/02/21/about-async-tasks-the-get-task-cmdlet-and-a-hash-table/

    Concerning

    Emanuel

  • What is the advantage to affect multiple virtual machines in a data store?

    Hello

    Quite a question stupid and basic, but I can't answer . What is the advantage of having multiple virtual machines in a store of VMFS data instead of having each VM in another VMFS data store? (eg. 3 VMs in 1 data store or 3 data warehouses and each virtual machine in one of them). I can only think about the ease of management for storage administrator because it creates only a single large LUN.

    Thank you

    By allowing multiple virtual machines in a data store, you can run more than 256 virtual machines in a DRS cluster.

    As a host has a limit of 256 scsi identification numbers, which means that it accesses no more than 255 LUNS shared. 1 scsi ID is used for local storage.

    In a DRS cluster as each host must be mapped to the same data warehouses to ensure that virtual machines can be moved on the cluster and run on any of the hosts.

    Now in my life as an architect VMware PSO I saw that a lot of virtual machines that require a single data store. The main reason to isolate a virtual machine on a data store must provide sufficient i/o performance. This can be achieved with other solutions than to isolate a virtual machine on a data store. Having a properly architected storage subsystem is crucial, vSphere can get out of a very large number of the IOPS / s. With technologies such as SIOC and DRS for storage, you can check that the virtual machines receive IO performance according to the needs.

  • Single VMDK for multiple virtual machines in esx3.5?

    Hello

    Is it possible to use a single VMDK to host several VM in ESX3.5 or is this feature on the way?  I think the vmware view tech that allows you to host multiple virtual machines to a single image and store only the deltas for VMS replca.

    We organize several ts who are about 12 GB per image, and each server is essentially the same.  It would reduce the space if these could be consolidated at the level of vmware.

    Thank you very much.

    What you are referring to the notion of linked Clones, it's something completely different to share a single VMDK.  with linked clones, you actually run mulitple copies of a single Machine.  This fuinctionality is not available in ESX Raw but is a characteristic of Lab Manager and VMware View Premium.

    If you have found this device or any other answer useful please consider useful or correct buttons using attribute points

    Tom Howarth

    VMware communities user moderator

    Blog: www.planetvm.net

  • Is it Possible to access only bypassed FC HBA to multiple virtual machines

    Hello

    I have a FC HBA on my 5.5 ESX. Server. It does not support the function of SR - IOV. Is it possible to access this FC HBA across multiple virtual machines?

    If possible, please provide as follows to go further.

    Kind regards

    Aashish

    It is not possible. The basic material underlying PCI specification does not have a single shared between several independent operating systems PCI device.

    SR - IOV solves by creating the virtual function peripheral PCI, but as you mentioned, that he can't stand not and first of all, ESXi supports that SR - IOV for Ethernet network devices and not for native FC HBA (excluded FCoE) functions.

  • Unable to add the virtual machine to inventory

    Unable to add the virtual machine to inventory

    Hi assane, is vmware-cmd same available on ESXi 5.0 and later versions?

    To the OP:

    If you use 5.0 or later ESXi, vmware-cmd will not work. Alternatively, you can use:

    Vim - cmd solo/registervm /vmfs/volumes/datastore_name/VM_directory/VM_name.vmx

    That said, it could be several reasons of failure regarding the registration of the VM. Can put you up a screenshot of the error / symptom you see when it breaks down?

  • Help for a demo: create multiple virtual machines

    Hello

    I am a beginner in vCO, I completed the installation and configuration with success and I started to create workflows, but I guess that I need help with an example that I started yesterday:

    I am creating several virtual machines at the same time, I mean all the user have to do is say how VMs, he wants to be created and the workflow must do the rest, but I don't know what is the best way to do so, in the present workflow in the library , find us only 'create simple VM' so I added a few scriptable tasks to this workflow, but still can't do what I want.

    Any solution plese? or a few best practices to perform this type of workflow? Maybe I missed a workflow can create multiple virtual machines with different names but the same configuration.

    Thanks in advance,

    This can help out you.

  • Blocking task - add a virtual machine to VAPP

    Which block task will begin when I add a virtual machine to a Palsy of a catlog. The "add, move or delete virtual machines of VAPP" seems to send a job blocking, but the xml of the blocking task does not include the vcloud:vm, only the vcloud:vapp

    I want to send a notification when the new VM is complete provisioning and include details on the new virtual machine.

    If you duplicated one of the workflow approval of all notifications, try to paste the following in the Get scaffolding Scriptable this workflow task... He will certainly need a cleaning according to your needs. It is a part of my test code for extraction of information of this type of operation...

    var vcdHost = vApp.getHost();
    
    //User info
    var username = user.name;
    var userDescription = user.description;
    var userFullName = user.fullName;
    var userEmailAddress = user.emailAddress;
    var userTelephone = user.telephone;
    var userIm = user.im;
    
    var userDeployedVmQuota = user.deployedVmQuota;
    if (userDeployedVmQuota == 0) userDeployedVmQuota = "Unlimited";
    var userStoredVmQuota = user.storedVmQuota;
    if (userStoredVmQuota == 0) userStoredVmQuota = "Unlimited";
    var userRole = vcdHost.getEntityByReference(VclEntityType.ROLE, user.role).name;
    
    System.sleep(5000);
    
    if (blockingTask != null) {
        var task = vcdHost.getEntityByReference(VclEntityType.TASK, blockingTask.getTask());
        task.updateInternalState();
        var XMLstring = task.toXml();
        System.log("Task XML: \n"+XMLstring);
    
        // Now begin typical XML Processing for this set of action types:
        // These come from the "Add, Move or Delete Virtual Machines from vApp" blocking task being enabled
        // This workflow requires a single input - a string containing the XML to be processed.
        // It generates the following outputs:
        // operationType - this is a string that is either "create" "delete" or "move"
        // the other output is a Array/Properties object with the following possible properties:
        // vmName - string
        // hostName - string
        // osName - string
        // hwVersion - string
        // cpuCount - string
        // memoryMB - string
        var doc = new XML(XMLstring);
        default xml namespace = doc.namespace();
        // initialize the outputs:
        var operationType = null;
        var vmPropsArray = new Array();
    
        // Determine action type from XML:
        if (doc.Params.DeleteItem != null && doc.Params.DeleteItem.length() > 0){
            System.log("This is a Delete operation");
            operationType = "delete";
            //    DELETE ITEM Processing
            System.log("DeleteItem Count: "+doc.Params.DeleteItem.length());
            for each (c in doc.Params.DeleteItem){
                var vmProps = new Properties();
                System.log("VM to Delete: "[email protected]());
                vmProps.put("vmName",[email protected]());
                vmPropsArray.push(vmProps);
            }
        }
        if(doc.Params.CreateItem != null && doc.Params.CreateItem.length() > 0){
            System.log("A blank VM is being added to the vApp");
            operationType = "create";
            System.log("CreateItem Count: "+doc.Params.CreateItem.length());
            for each (c in doc.Params.CreateItem){
                var vmProps = new Properties();
                System.log("VM to Add: "[email protected]());
                System.log("Description: "+c.Description.toString());
                vmProps.put("vmName",[email protected]());
                vmProps.put("description",c.Description.toString());
                vmProps.put("hostName","n/a");
                vmProps.put("osName","n/a");
                vmProps.put("cpuCount","n/a");
                vmProps.put("memoryMB","n/a");
                vmPropsArray.push(vmProps);
            }
        }
        // ADD/MOVE Testing:
        if(doc.Params.SourcedItem != null){
            System.log("SourcedItem Count: "+doc.Params.SourcedItem.length());
            for each (c in doc.Params.SourcedItem){
                var vmProps = new Properties();
                System.log("=============================");
                if(c.@sourceDelete == "true"){
                    operationType = "move";
                }else{
                    operationType = "create";
                }
                System.log("This is an "+operationType+" operation");
                //System.log("sourceDelete: "+c.@sourceDelete);
                var instantiationParams = c.InstantiationParams;
                vmProps.put("vmName",instantiationParams.GuestCustomizationSection.ComputerName.toString());
                System.log("VM Name: "+instantiationParams.GuestCustomizationSection.ComputerName.toString());
    
                vmProps.put("hostName",instantiationParams.*::VirtualHardwareSection.*::System.*::VirtualSystemIdentifier.toString());
                System.log("Host Name: "+instantiationParams.*::VirtualHardwareSection.*::System.*::VirtualSystemIdentifier.toString());
    
                vmProps.put("osName", instantiationParams.*::OperatingSystemSection.*::Description.toString());
                System.log("Operating System: "+instantiationParams.*::OperatingSystemSection.*::Description.toString());
    
                vmProps.put("hwVersion",instantiationParams.*::VirtualHardwareSection.*::System.*::VirtualSystemType.toString());
                System.log("Hardware Version: "+instantiationParams.*::VirtualHardwareSection.*::System.*::VirtualSystemType.toString());
    
                var n2 = new Namespace("http://schemas.dmtf.org/ovf/envelope/1");
                var n3 = new Namespace("http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData");
                var items = instantiationParams.*::VirtualHardwareSection.n2::Item;
                for each (i in items){
                    if(i.n3::Description.toString() == "Number of Virtual CPUs"){
                        vmProps.put("cpuCount",i.n3::VirtualQuantity.toString());
                        System.log("CPU Count: "+i.n3::VirtualQuantity.toString());
                    }
                    if(i.n3::Description.toString() == "Memory Size"){
                        vmProps.put("memoryMB",i.n3::VirtualQuantity.toString());
                        System.log("Memory (MB): "+i.n3::VirtualQuantity.toString());
                    }
                }
                vmProps.put("description","n/a");
                vmPropsArray.push(vmProps);
            }
        }
    }
    
    //vApp Info
    var vAppName = vApp.name;
    var vAppDescription = vApp.description;
    var vAppVdc = vApp.parent.name;
    var org = vApp.parent.parent;
    
    //Using query service to get further information on the to be deployed vApp
    var queryService = vcdHost.toAdminObject().toAdminExtensionObject().getExtensionQueryService();
    var expression = new VclExpression(VclQueryVAppField.NAME, vApp.name, VclExpressionType.EQUALS);
    var filter = new VclFilter(expression);
    var params = new VclQueryParams();
    params.setFilter(filter);
    
    var resultSet = queryService.queryAllVappRecords(params);
    while (resultSet != null) {
        var records = resultSet.getRecords();
        for each (var record in records) {
            //Since we got the vApp by its name we want to check it is the right one
            if (record.href == vApp.getReference().href) {
                var vAppCreationDate = VclMiscObjectFactory.convertToGregorianCalendar(record.creationDate).toString();
                var vAppNumberOfVMs = record.numberOfVMs;
                var vAppStorageMB = record.storageKB / 1024;
                var map = record.otherAttributes;
                var vAppAutoDeleteDate = "Unlimited";
                for each (k in map.keys) {
                    if (k.getLocalPart() == "autoDeleteDate") {
                        var vAppAutoDeleteDateString = map.get(k);
                        if  (vAppAutoDeleteDateString != null && vAppAutoDeleteDateString != undefined) {
                            var vAppAutoDeleteDateXmlGregorianCalendar = VclMiscObjectFactory.xmlGregorianCalendarFromString(vAppAutoDeleteDateString);
                            var vAppAutoDeleteDate = VclMiscObjectFactory.convertToGregorianCalendar(vAppAutoDeleteDateXmlGregorianCalendar).toString();
                        }
                        System.log(k.getLocalPart() + " : " + map.get(k));
                    }
                }
            }
        }
        resultSet = resultSet.getNextPage();
    }
    
    var vmsProperties = new Array();
    
    var queryService = vcdHost.getQueryService();
    expression = new VclExpression(VclQueryVMField.CONTAINER, vApp.getReference().href, VclExpressionType.EQUALS);
    filter = new VclFilter(expression);
    params = new VclQueryParams();
    params.setFilter(filter);
    
    var resultSet = queryService.queryRecords(VclQueryRecordType.ADMINVM, params);
    while (resultSet != null) {
        var records = resultSet.getRecords(new VclQueryResultAdminVMRecord());
        System.log(records.length + " VM records found");
        for each (var record in records) {
            var vmProp = new Properties();
            vmProp.put("guestOs", record.guestOs);
            vmProp.put("memoryMB", record.memoryMB);
            vmProp.put("numberOfCpus", record.numberOfCpus);
            if (record.networkName != null) {
                vmProp.put("networkName", record.networkName);
                }
            else {
                vmProp.put("networkName", "");
            }
            vmProp.put("name", record.name);
            vmProp.put("description","n/a");
            vmsProperties.push(vmProp);
        }
        resultSet = resultSet.getNextPage();
    }
    
    function addInfoTitle(info, title) {
        info += "" + title + "
    \n"; return info; } function addInfoEntry(info, label, entry) { info += "
  • " + label + " : " + entry + "\n"; return info; } function addInfoSeparation(info) { info += "

\n"; return info; } content = ""; content = addInfoTitle(content, "Requestor"); content = addInfoEntry(content, "Username", username); content = addInfoEntry(content, "Description", userDescription); content = addInfoEntry(content, "Full Name", userFullName); content = addInfoEntry(content, "Email Address", userEmailAddress); content = addInfoEntry(content, "Telephone Number", userTelephone); content = addInfoEntry(content, "Instant Messenger ID", userIm); content = addInfoEntry(content, "Deployed VM Quota", userDeployedVmQuota); content = addInfoEntry(content, "Stored VM Quota", userStoredVmQuota); content = addInfoEntry(content, "Role", userRole); content = addInfoSeparation(content); content = addInfoTitle(content, "vApp"); content = addInfoEntry(content, "Name", vAppName); content = addInfoEntry(content, "Description", vAppDescription); content = addInfoEntry(content, "VDC", vAppVdc); content = addInfoEntry(content, "Creation Date", vAppCreationDate); content = addInfoEntry(content, "Number of VMs", vAppNumberOfVMs); content = addInfoEntry(content, "Disk Size", System.formatNumber((vAppStorageMB / 1024), "0")+ " GB"); content = addInfoEntry(content, "Storage Lease", vAppAutoDeleteDate); System.log("=================================================\n"); System.log("Operation Type: "+operationType); // Process the vmPropsArray: // vmName - string // hostName - string // osName - string // hwVersion - string // cpuCount - string // memoryMB - string if (vmPropsArray != null){ for each (vmProps in vmPropsArray){ System.log("vmName: "+vmProps.get("vmName")); System.log("hostName: "+vmProps.get("hostName")); System.log("osName: "+vmProps.get("osName")); System.log("cpuCount: "+vmProps.get("cpuCount")); System.log("memoryMB: "+vmProps.get("memoryMB")); content = addInfoSeparation(content); content = addInfoTitle(content, "VM"+" ("+operationType+")"); content = addInfoEntry(content, "\tName", vmProps.get("vmName")); // This is the "Full Name" or "Display Name" if(vmProps.get("description")!="n/a"){ content = addInfoEntry(content,"\tDescription", vmProps.get("description")); } if(vmProps.get("hostName")!="n/a"){ content = addInfoEntry(content, "\tHost Name", vmProps.get("hostName")); // This is the hostname or Computer Name } if(vmProps.get("osName")!="n/a"){ content = addInfoEntry(content, "\tGuest OS name", vmProps.get("osName")); } if(vmProps.get("cpuCount")!="n/a"){ content = addInfoEntry(content, "\tvCPUs", vmProps.get("cpuCount")); } if(vmProps.get("memoryMB")!="n/a"){ content = addInfoEntry(content, "\tRAM (MB)", vmProps.get("memoryMB")); } // content = addInfoEntry(content, "\tNetwork name", vmProp.get("networkName")); } } var displayContent = content; // Retrieve the full webview url here: should be like http://your.vco.server:8280/vmo/approvals var webViewUrl = configurationElement.getAttributeWithKey("webViewUrl").value; // Extract the host from the url var vcoHost = webViewUrl.match(/^(ftp:\/\/|https?:\/\/)?(.+@)?([a-zA-Z0-9\.\-]+).*$/)[3]; // Now build the answer URL to be placed in e-mail var urlAnswer = "here" ; content = addInfoSeparation(content); content += "Click "+urlAnswer +" to approve or reject this request."; content = addInfoSeparation(content); content += "** This is an automated workflow email. Do not reply. **";
  • Can I add a virtual machine to a dvswitch without using vcentre?

    Afternoon,

    Our vcentre is not set up to handle the dvswitches on the host - bit of a long story.

    Until he does, can we use the command line to add a virtual machine to a dvswitch?

    If so, can someone help me with this?

    Thank you

    Martin

    vCenter is required to set up and manage a distributed switch.

  • Multiple virtual machines can share a common hard

    I just confirmed that multiple virtual machines can share a hard if they all see it as non-permanent, which is great if you want to experiment with different linux packages at the same time.

    Except the hard. REDO_ * files that are produced by a virtual machine are removed when you turn it off, and all the work is lost.

    Any ideas how I could prevent the hard. REDO_ * files deleted?

    the non-persistent flag is to capture instant temporary vmdk is ignored when the virtual machine is turned off.

    The vmdk. REDO_ file is actually a type of snapshot. If you want to avoid that it gets deleted turned off the power, you must use a regular snapshot - but then your sharing of this vmdk with other virtual machines will no longer work.

    For your scenario of I don't know one solution stable AND well other than the use of network shares.

    There is a hack to really share VMDK between two virtual machines, but is more stable.

    Another solution may be that share this drive via iSCSI acrooss your machines virtual more.

    Some time ago I tried to interrupt the process of vmware-vmx.exe seconds before turning off the virtual machine and then copy the REDO far so that I can use it again... but if I remember right the next time that you start the virtual computer will be created a new REDO log and it is so pretty useless :-(

    ___________________________________

    VMX-settings- Workstation FAQ -[MOA-liveCD | http://sanbarrow.com/moa241.html]- VM-infirmary

  • Maybe you are looking for