Ik ben sinds kort bezig met het bestuderen van Powershell en dan vooral met de VI-Toolkit. In mijn lab omgeving thuis maak ik bepaalde omgevingen binnen een resource pool. Ik heb bijvoorbeeld een Server 2003 lab waarin een klein Windows 2003 domain draait. Omdat ik nogal wat verschillende labs heb, maak ik voor elk lab een aparte Recource Pool aan. Om het starten van zo’n lab te versimpelen heb ik het onderstaande script gemaakt.

image

In het eerste blok van het script wordt er verbinding gemaakt met de VC Server. Via de cmd-let

Connect-VIServer de variable $hostname word gevuld d.m.v. een vraag. Dit geld ook voor de variable $rp.

Nadat de variabelen zijn gevuld en er verbinding is gemaakt met de VC Server wordt het laatste blok uitgevoerd. 

 

Als je dit script uitvoert vraagt hij om de volgende input:

What host do you want to connect to?: w2003vc (voer hier de naam van je virtualcenter server in).

Enter Resource Pool: srv2003 (voer hier de naam van de resource pool in).

Vervolgens worden alle VM’s die in de resource pool srv2003 zitten opgestart.

image

In VirtualCenter zie je ook het e.e.a. starten:

image

Om dit script te kunnen gebruiken als Shutdown script verander je de volgende regel:

{Start-VM | $vm} in {Shutdown-VMGuest | $vm} (Deze optie werkt alleen als de VMware Tools actief zijn. Je kunt ook Stop-VM gebruiken om de VM uit te zetten).

Advertisement

2 thoughts on “VI-Toolkit: Start VM’s within a Resource Pool script.

  1. Het kan ook in één regel (als je Connect-VIServer al gedaan hebt):

    Get-ResourcePool (Read-Host “What Resource Pool?”) | Start-VM

    Dat ForEach loopje is in ieder geval overbodig (tenzij je in je scriptje nog meer met de verzameling vm’s doet natuurlijk). Dat is juist één van de mooie dingen van Powershell.

  2. Ik krijg een foutmelding:

    PS C:\Program Files\VMware\Infrastructure\VIToolkitForWindows> Get-ResourcePool
    (Read-Host “What Resource Pool?”) | Start-VM
    What Resource Pool?: production

    Start-VM : The input object cannot be bound to any parameters for the command e
    ither because the command does not take pipeline input or the input and its pro
    perties do not match any of the parameters that take pipeline input.
    At line:1 char:61
    + Get-ResourcePool (Read-Host “What Resource Pool?”) | Start-VM <<<<

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.