Several virtual machines and Get-OSCustomizationNicMapping (new)

Hey guys,.

I set up a script to create multiple virtual machines from a csv list. I know it has been done before, but I learn more when I work through it myself.

I've implemented the script below, what provisions the VM very well, but fails to Get-OSCustomizationNicMapping.

Here's the script:

Import-CSV "d:\vmlist.csv" | {ForEach-Object
New-VM-name $_. Name - model 'Microsoft Windows 2003 R2 Standard x 86' - VMHost $_. VMHost '
-Map $_. Location - Datastore $_. Data store - thin diskstorageformat '
-OSCustomizationSpec 'Microsoft Windows 2003 R2 Standard x 86' '
| Get-OSCustomizationNicMapping | Game-OSCustomizationNicMapping '
-IPAddress $_. IP subnet mask-$_. Subnet mask - DefaultGateway $_. DefaultGateway '
DNS-$_. DNS
}

and the error I get:

Get-OSCustomizationNicMapping: the input object cannot be bound to any parameters
ERS of the command either because the command doesn't take pipeline input or
the entry and its properties do not match any parameters that accept entries of pipeline.
Online: 5 tank: 36
+     | Get-OSCustomizationNicMapping < < < < | Game-OSCustomizationNicMapping '
+ CategoryInfo: InvalidArgument: (vmname:PSObject) [Get - O
SCustomizationNicMapping], ParameterBindingException
+ FullyQualifiedErrorId: InputObjectNotBound, VMware.VimAutomation.ViCore.
Cmdlets.Commands.GetOSCustomizationNicMapping

Maybe I'm misunderstanding the use of Get-OSCustomizationNicMapping.

Thanks for your help,

Grant

Hey Grant,

The cause of the problem is that you are piping the output of Get-OSCustomizationNicMapping New - VM (i.e. VirtualMachine). You must pass an OSCustomizationSpec to the cmdlet. You must update the nic of the customization specification mapping before the spec as a parameter in New - VM. Here is an example:

Get-OSCustomizationSpec-name 'Microsoft Windows 2003 R2 Standard x 86 | Get-OSCustomizationNicMapping | Game-OSCustomizationNicMapping - IPAddress $_. IP subnet mask-$_. Subnet mask - DefaultGateway $_. DefaultGateway - DNS $_. DNS

New-VM-name $_. Name - model 'Microsoft Windows 2003 R2 Standard x 86' - VMHost $_. Location-VMHost $_. Location - Datastore $_. Data store - slim - diskstorageformat OSCustomizationSpec 'Microsoft Windows 2003 R2 Standard x 86 '.

Kind regards

Dimitar

Tags: VMware

Similar Questions

  • I get an error "the disk hard virtual parent is in a saved state. Discard the saved state or stop the virtual machine and try again. "during the installation of XP mode.

    I have Win7 Pro SP1 x 64.  I downloaded WindowsXPMode_en - us.exe (from Microsoft downloads) and run it.  The installation seems to work OK (I've specified a different location for the parent virtual hard disk file).  Then, installation happening and I provide the information requested (name of user and password for the XP Mode), updates Windows and OK to the issue of sharing.  The installation program then reports the following error:

    The disk hard virtual parent is in a saved state.  Discard the saved state or stop the virtual machine and try again.

    I get the error even if I try manually configure XP Mode (use the Setup Wizard).  I downloaded the installer XPMode (3 times) and reinstalled several times, always with the same result.  If it helps, I can't locate anywhere .vsv file.

    Any idea what's going on?

    Original title: XP Mode Setup error

    Hi smithnr10,

     

     

    You must post your question in the TechNet forums because it caters to an audience of it professionals.

    To do this, you must consult the link-

    http://social.technet.Microsoft.com/forums/en-us/w7itprovirt/threads

     

    Hope this helps!

  • Get the IP of the virtual machine and MAC

    Hello

    I'm trying to get the IP of the virtual machine and the MAC one of my data centers.

    When I run that the following script two things happen:

    1. I don't see a vm in the output of the csv file.

    2. when I send the output to the quick PowrCLI I see only a mac and one IP address for virtual machines with network cards.

    Script

    ---------

    $MV = Get-Data Center $DC | Get-vmhost | Get - VM

    {foreach ($VM to $VMs)

    $VMx = get-view $VM.ID

    $HW = $VMx.guest.net

    foreach ($dev to $HW)

    {

    foreach ($ip in $dev.ipaddress)

    {

    $dev | Select

    @{Name = 'Name'; {Expression = {$vm.name}}.

    @{Name = 'IP address'; Expression is {$ip}},

    @{Name = 'MAC'; {Expression = {$dev.macaddress}} |

    Export-CSV VM - IP - Info.csv - NoTypeInfo

    }

    }

    }

    My console output, tested on a virtual machine with two external network cards and an internal interface "dummy".

    Name                               IP                                  MAC

    ----                                   --                                    ---

    VM1 192.168.1.1 00:50:56:xx:xx:xx

    VM1 192.168.2.1 00:50:56:xx:xx:xx

    VM1 192.x.x.xxx xx

    You see the addresses expected in summary using vSphere Client VM?

    Oh sorry, I forgot the PS 3.0 requirement.

    You can put all the entries in a table and export all at the end of the script.

    $out = @)
    $VMs = get-data center $DC | Get-vmhost | Get - VM
    {foreach ($VM to $VMs)
    $VMx = get-view $VM.ID
    $HW = $VMx.guest.net
    foreach ($dev to $HW)
    {
    foreach ($ip in $dev.ipaddress)
    {
    $out += $dev. Select @{Name = 'Name'; {Expression = {$vm.name}}, @{Name = 'IP address'; Expression = {$ip}}, @{Name = 'MAC'; {Expression = {$dev.macaddress}}
    }
    }
    }

    $out | Export-Csv - NoTypeInformation-Path ' VM - IP - Info.csv.

    Concerning

    Emanuel

  • Suggestion on Vcenter DB migration on the new virtual machine and enhancement vcenter server

    Hello

    I'm looking for any suggestion/plan with Vcenter DB migration steps towards the new virtual machine, and then upgrade the server vcenter

    4.1 for Update1/2

    My plan will be

    (1) creating new virtual machine.

    (2) fresh install 64-bit OS

    (3) migration Vcenter DB of the physical server to the new virtual machine.

    (4) upgrade to Vcenter Server 4.1 update 41 4.1 Update1/2

    Anything else missing then please let me know.

    Thank you

    vmguy

    Hi vmguy

    I agree with this approach

    (3) migration Vcenter DB of the physical server to the new virtual machine.

    As long as you leave the old DB in tact and simply detach and copy the DB to the new Victoria Cross.

    Before you run the upgrade on the new VC and DB.

    This way, you have a restoration plan in case something goes wrong with the upgrade.

    Just to add:

    You must migrate the ADAM database so to maintain the specified permissions vCenter

    See: Migrateing vCenter new host

    Please allow points if you find this useful/correct

  • Need help updated the VMX file on several Virtual Machine

    All,

    Can anyone help with a problem I'm having?  Here is a brief explanation of what is happening and what we need to solve.

    Recently we found out that we need to add a line in the file VMX of several virtual machines.  In the past, I was able to do this, but would have cold start the virtual machine for the changes to take effect.  Starts cold won't be a problem, because we can program it.

    However, no one knows a way to add this line in the file VMX virtual machines in a cluster.

    Here's the line I need added:

    Devices.hotplug = "false".

    Here is a script that was used earlier (esx 3.0 days) to keep the VM tools updated on reboot.  At this point, if the virtual machine has been turned on, this change could not do through the UI.  However, this script worked to update the .vmx file and then we have cold reboots for the changes to take effect.

    Get-viserver - < Server > - < user > - < password >

    $viview = get-Cluster-name NOMCLUSTER | Get - VM | foreach-object {get-view ($_.ID)}
    $viview | {foreach-object
    $vmConfigSpec = new-Object VMware.Vim.VirtualMachineConfigSpec
    $vmConfigSpec.Tools = new-Object VMware.Vim.ToolsConfigInfo
    $vmConfigSpec.Tools.afterPowerOn = 'True '.
    $vmConfigSpec.Tools.afterResume = 'True '.
    $vmConfigSpec.Tools.beforeGuestStandby = 'True '.
    $vmConfigSpec.Tools.beforeGuestShutdown = 'True '.
    $vmConfigSpec.Tools.ToolsUpgradePolicy = "UpgradeAtPowerCycle".
    $_. ReconfigVM ($vmConfigSpec)
    }

    The exact script can be found in Disable HotPlug

  • rename several virtual machines based on the State of food &amp; 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"))}

  • Gwetting a list of all virtual machines and used space


    I apologize for my very basic question.

    I need to make a file (better if an Excel file) with a list of all virtual machines in a simple 5.x vSphere infrastructure including 2 VMare ESXi 5.x servers and the disk space used (allocated, used) of each virtual computer.

    The easiest way seems to list the virtual machines from the vSphere client and export the list as a .xls file.

    It seems simple, but when I look at the file I see a lot of missing VMs or a large number of missing values for several virtual machines (just the Runts).

    Is this a problem with my vSphere client?

    I tried to create a PowerCli script using the "Get - VM|" Select-object Name"command, but my limited skills will let me extract the value of the used space.»

    Can someone please provide a sample of PowerCli I can just copy and use?

    Is there another way to get the information I need?

    Concerning

    Marius

    .

    Not knowing that if you have configured a cluster or just stand-alone hosts, here is one simple line...

    Get-VMHost-name | get - vm | select name, usedspaceGB

    From there, you can make formatting, get total usage etc.

  • How do to activate 'VAPP Options' on an existing virtual machine, and then add the properties that will be passed down through the OVF - ENV. XML



    I'm trying to understand vSphere PowerCLI how to activate the "Options of VAPP" on an exsiting VM (in this case a model freshly cloned) then add properties and select cdrom of the FVO data access such as when the virtual machine is running the FVO - env.xml contains the properties in the CD-ROM drive.

    If I use the vSphere client and open the virtual machine settings and click on the tab 'Options' and then select "Options of VAPP" and change the setting to "Enabled" and then select 'VAPP-> Advanced Options' and click on the button 'Properties' on the right, I can add the properties and then I can change them vsphere PowerCLI, but given that these actions are not retained if I clone the virtual machine I need a way to put these in place of vSphere PowerCLI without using the vSphere client to do.

    Thanks in advance for the help!

    Mike

    You can use the vSphere API to activate the 'Options of VAPP"on an existing virtual machine, and set properties. For example:

    $spec = new-Object VMware.Vim.VirtualMachineConfigSpec

    $spec.vAppConfig = new-Object VMware.Vim.VmConfigSpec

    $spec.vAppConfig.property = new-Object VMware.Vim.VAppPropertySpec [] (1)

    $spec.vAppConfig.property [0] = new-Object VMware.Vim.VAppPropertySpec

    $spec.vAppConfig.property [0] .operation = 'Add '.

    $spec.vAppConfig.property [0] = new-Object VMware.Vim.VAppPropertyInfo .info

    $spec.vAppConfig.property [0].info.key = 0

    $spec.vAppConfig.property [0].info.classId = "Property1ClassID".

    $spec.vAppConfig.property [0].info.instanceId = "Property1InstanceID".

    $spec.vAppConfig.property [0].info.id = "Property_1.

    $spec.vAppConfig.property [0].info.category = "Property1Category".

    $spec.vAppConfig.property [0].info.label = "property 1.

    $spec.vAppConfig.property [0].info.type = "string".

    $spec.vAppConfig.property [0].info.userConfigurable = $true

    $spec.vAppConfig.property [0].info.defaultValue = "Property1DefaultValue".

    $spec.vAppConfig.property [0].info.value = «»

    $spec.vAppConfig.property [0].info.description = "Property1Description".

    $vm = get-VM-name vm3

    $vm. ExtensionData.ReconfigVM_Task ($spec)

  • Create several virtual machines from the same base image

    Hi all

    Is there any vi api sdk by which I can create several virtual machines form same base vmdk file?

    All create the VM from the base VMDK file will have their own delta vmdk file that will refer to the same base VMDK file. Only changes that are performed on each virtual machine are saved on their respective delta vmdk files.

    Thanks in advance...

    Hello

    What you are referring is called Clones related, in the current VI API, there is no method that supports this feature. You can take a look at CloneVM_Task() http://www.vmware.com/support/developer/vc-sdk/visdk25pubs/ReferenceGuide/vim.VirtualMachine.html#clone if you want to implement a full clone and this will require you to have access to vCenter.

    In the next version of vSphere, vSphere SDK THAT will provide a way to implement the related Clones and it will be a parameter you can specify CloneVM_Task() , more precisely in the VirtualMachineRelocateSpec where you will specify diskMoveType to createNewChildDiskBacking

    You can find more information once vSphere of GA and the new QAnywhere VI documents are released, but if you are looking to implement related Clones today, you can take a look at the product of VMware View 3, which provides support for linked Clones or you can take a look at two scripts that I wrote which creates linked Clones similar to that of the view :

    Clones related to ESX

    CLones related to ESXi

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

    William Lam

    VMware vExpert 2009

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

    repository scripts vGhetto

    http://Twitter.com/lamw

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

  • Reports on virtual machines and their records

    I want to create a report on all my virtual machines and disks attached to each.  My preference would be to have the information in a .csv, so I can work with it in Excel.  What I've done so far has proved frustrating as I find it hard to combine the two.

    What I tried:

    1 VI Toolkit - I know I can run the command 'Get - VM' and "Get-hard drive" to get everything I need, but the combination of the two is beyond my current abilities of PowerShell.

    2 Report.ps1 of alanrenouf - gives a lot of information, but nowhere close to what I need.  I considered trying to modify this script, but I thought that it would take more time than learning how to make #1.

    3 OpenXMPowerTools - get this utility approach work still takes hours without result, more work than it's worth

    I have a few scripts (VBscript) skills, it is just their transfer in the new PowerShell environment for me I have difficulties with that.  I'm picturing extract names VM of the command Get - VM and then providing them to the hard disk-Get command and write VM name and output in the .csv file.

    Any help you can provide me with would be greatly appreciated to learn PowerShell.

    Thank you

    Joey

    Did you watch his pretty good RVtools and maybe gives you options of export or copied data and import it with excellent that.  Its very nice ESX administration tool.

    If you found this information useful, please consider awarding points to 'Correct' or 'useful '. Thank you!!!

    Kind regards

    Stefan Nguyen

    VMware vExpert 2009

    iGeek Systems Inc.

    VMware, Citrix, Microsoft Consultant

  • REALLY stupid question about virtual machines and disks of cancellations.

    I'm a bit hesitant to ask this question because it might make me look stupid, but...

    When I'm done using Virtual PC and a virtual machine running Windows XP Pro with Vista 64 Home Premium because the host os, often I did not any significant changes to the hard disk of the virtual machine.

    What I save gets saved to a network share on my server for files and printing from Win98 and saved on a flash drive.

    Assuming that I do no configuration changes or anything else I want to keep, is there a reason barely stopping properly when I 'cancellations discs' enabled?

    Any reason, I can not save time by pressing the 'X' button and choose 'disable and remove changes '?

    I am aware of patches, but took me to inform me of the patches, and I can get patches when it's convenient for me and I always validate changes when I install the patches. I'm not using it for anything other than my classes of the school of the evening for the time being, so it is not much of a value of protection on the virtual machine, and I used to write papers on the host operating system. I just use the virtual machine to play with the admin tools in an environment where I can easily fix it a massive screw-up without spending hours to reinstall Windows.

    Hey SlickRCBD,.

    Not a stupid question at all! :)

    It's very well hit the X when you have activated the disks of cancellations. And corruption or problems with the active virtual machine will be resolved when using the drive to cancel it.

    Cody C
    Microsoft Answers Support Engineer
    Visit our Microsoft answers feedback Forum and let us know what you think.

  • Several virtual machines attached to port VM group

    Hi all

    So I did research on the internet and on this forum and I have not found a good answer to my question. So I would check that I can create a unique Virtual Machine port group and attach multiple virtual machines and run them simultaneously. I basically want to have each VM attached to this switch, but instead to a separate port group, it seems that I can just attach to the same port group that puts on the vSwitch.

    Is there problems of L2 with MAC address or ARPing or something like that? I realize that I have to ensure that each VM has correctly configured the IP settings. I know there are problems, but I am wanting clarification of the people who have done this before. Are there problems of interface as with a real switch speed or who is not serious in a vSwitch?

    Thank you!

    -GNS

    You can attach multiple virtual machines to the same group of port without problems, this is how normally environment are created. Have a look here for more details: vSphere Standard switches

    The image below shows several virtual machines connected to the same port group:

  • Delete a partition in a virtual machine and expand the initial allocation of hard drive

    I have created a virtual machine running server 2012R2 with an allowance of 60 GB drive. I decided after doing hours of work on the virtual machine I had assigned too little disk space for the virtual machine. I decided that I just go in vSphere and change settings and add to the existing space. The problem is that it has created a new partition rather by increasing the size of the original, which doesn't help me. How can I remove this new partition and just expand the original that has been allocated when I created this virtual machine?

    Thank you

    Hi Paul,.

    Could you clarify what you mean by;

    The problem is that it has created a new partition rather by increasing the size of the original

    (A) do you mean you modified the virtual machine and added a second disc, rather than increase the size of the original? or;

    (B) you increase the size of the original disk and create a new partition in this free space?

    Be that as it may, the question should be simple to solve;

    (A) remove the second disk you don't need, increase the size of the original. Then from the OS Disk Manager, rescan the disks and extend C:\ in free space.

    (B) delete the partition that you don't need. From the OS Disk Manager, expand C:\ in free space.

    See you soon,.

    Jon

  • Number of virtual machines per cluster with New-VIProperty

    Hello

    I would like to get the number of virtual machines per cluster using New VIProperty like this:

    New-VIProperty - ObjectType VMHost-name NumberOfVMs'

    -The {($Args [0] |) value} Get - VM | Measure - Object). Count} '

    -Force

    Get-Cluster | Select Name, NumberOfVMs

    But I only get zeros.

    Can someone help me?

    Thank you

    Frédéric

    Take a look at my property NumberOfVms for Clusters.

  • Workstation - Bat file to run several Virtual Machines

    I am currently using the following .bat file to launch several virtual machines:

    Start "" /b "C:\Users\Abe\Desktop\Virtual machine 1.lnk".

    Start "" /b "C:\Users\Abe\Desktop\Virtual machine 2.lnk".

    My problem is that start each machine's own instance of VMware.  Is it possible to build a script (.bat or other) who will start the virtual machines in a single instance of VMware Workstation.

    Regards and thanks in advance

    k

    You can create a file of commands like this:

    vmrun start "C:\VM\VM1.vmx".

    vmrun start "C:\VM\VM21.vmx".

    This would open up two virtual machines in the same GUI - at least that's the way it works on my Windows 7 host with 9 Workstation.

Maybe you are looking for