Tag Archives: powercli

VMware: Set DNS Server of all ESXi Host conntected to vCenter


this is a script to set the DNS Servers for all ESXi Hosts connected to vCenter.

Usage is very simple. Open a PowerCli Command shell. The script accept 2 parameters. “vc” = the vCenter and “s” is the a comma separarted list of DNS Servers.

PS D:\temp> .\SetHostDNS.ps1 -vc yourVCenterServer.yourdomain -s,
Set DNS Server at host1.yourdomain ... ok
Set DNS Server at host2.yourdomain ... ok

Thats all ūüôā


Advertisment to support michlstechblog.info

VMware: List Users who have a active Console Connection to a virtual machine


there are multiple active console connections and you want to know who are currently connected?
Continue reading VMware: List Users who have a active Console Connection to a virtual machine

VMware: PowerCli Scripts in native Powershell


when you want to execute your PowerCli script you have to start the “VMware vSphere PowerCLI” shell before. But, for example Schedule Tasks, it whould be nice that the script load the PowerCli environment itself. Then you simply have to start your script like this

%Systemroot%\System32\WindowsPowerShell\v1.0\powershell.exe -File YourPowerCliScript.ps1

To load the PowerCli script Environent in your powershell script add this lines at the top of your script.
Continue reading VMware: PowerCli Scripts in native Powershell

VMware: A (incomplete) list with some PowerCLI Scripts for vSphere


for VMware vSphere a very powerfull Scripting engine is available which is called PowerCLI. PowerCLI based on, the also very powerfull, Microsoft powershell.

The Basics

Get the PowerCLI package from the VMware website and install it on your Windows Computer or on the VMware vCenter Server. Ok, lets start.

Open¬† PowerCLI Command prompt by clicking “VMware vSphere PowerCLI (32-Bit)” Icon. Note: The 64Bit Version(both the 32Bit and 64Bit versions were installed) did support all commands. For example when you clone a computer by the New-VM Command-Let and specifiy the OSCustomizationSpec parameter the follwing error was thrown.

New-VM -VM "ComputerTemplate" -Location "Windows Clients" -ResourcePool Resources -OSCustomizationSpec "Windows XP Client"  -Datastore esxdatastore0 -Name "COMPUTER1"
New-VM : 26.06.2013 23:37:42    New-VM         is not a valid Win32 application. (Exception from HRESULT: 0x800700C1)

However start the 32Bit Version :-). First you have to connect to your vCenter. If your Windows Account, with which you logged on, have the appropriate rights to connect to vCenter simply call

Connect-VIServer NameOfYourvCenter.domain.com

If logon successeds 2 global object variables are set to which all following commands refers to.

global:DefaultVIServer         NameOfYourvCenter.domain.com
global:DefaultVIServers        {NameOfYourvCenter.domain.com}

Alternatively you can assign the vCenter Object to a variable and append the -Server <VIServer[]> parameter to each command. This is usefull if you have multiple instances of vCenter.

$oSecondVCenter=Connect-VIServer NameOfYourvCenter.domain.com
Set-Vm -VM "OldName" -name "New-Name" -Server $oSecondVCenter

By default, all command are executed synchronous. This means the command prompt returned not until the tasks is finished. To start jobs asynchronus append the -RunAsync parameter to each command line.

Lets start with some example scripts
Continue reading VMware: A (incomplete) list with some PowerCLI Scripts for vSphere