Question Création auto de VM

Plus d'informations
il y a 14 ans 5 mois #10368 par Lopes
Création auto de VM a été créé par Lopes
Bonjour,

J'ai fais un petit script et j'espère en faire profiter du monde, tellement il est utile à mon niveau.

Voici les étapes:
- Rentrer le nombre de VM à créer.
- Vérifie quel est le nom de la dernière VM crée pour ajouter +1 pour le nom de la nouvelle VM
-> Doit etre modifié selon les cas
- Recherche quel est le datastore avec le plus d'espace disque disponible
- Recherche quel est le host avec le plus dé mémoire libre.
- Création de la VM
- Démarrage de la VM

La fonction New-VMName sert à convertir le nom de la dernire vm en entier, puis d'ajouter +1, et de reconvertir en string.

Merci encore pour l'aide que j'ai eu :)

[code:1]
#
FONCTION STRING to INT et <->
Function New-VMName {
Param([String] $Name)

if ($Name -match \"VM000(?<Numero>\d+)\"«»)
{\"VM000$(($matches.Numero -as [int])+1)\"}
else
{ Write-Error \"New-VMName pas de correspondance pour $Name\"}
}

#

$nbvm = read-host \"Veuillez rentrer le nombre de vm à créer:\"

write-host \"Vous avez demandé la création de $nbvm VM...\"

for($i=1;$i -le $nbvm; $i++)
{
#
Deniere VM
$namevm = Get-VM -name VM00* | select Name

$lastvm = $null

foreach ($VM in $namevm)
{
if ($VM.name -gt $lastvm)
{
$lastvm = $VM.name
}
}

$NomDeLaVMaCreer = New-VMName $lastvm

write-host \"La VM $NomDeLaVMaCreer est en cours de création\"

#
datastore avec + d'espace libre
$data = Get-Datastore -Datacenter (mettre nom datacenter) | select Name,FreeSpaceMB

$LargestFreeSpace = “0”
$LargestDatastore = $null

foreach ($datastore in $data)
{
if ($Datastore.FreeSpaceMB -gt $LargestFreeSpace)
{
$LargestFreeSpace = $Datastore.FreeSpaceMB
$LargestDatastore = $Datastore.name
}
}

write-host \"Sur le datastore $LargestDatastore\"

#
host avec le plus de mémoire libre
$hosts = Get-VMHost -State Connected -Location (Get-Datacenter -Name (mettre nom datacenter)) | select Name,MemoryUsageMB

$LargestFreeMemory = “50000”
$LargestFreeHost = $null

foreach ($namehost in $hosts)
{
if($namehost.MemoryUsageMB -lt $LargestFreeMemory)
{
$LargestFreeMemory = $namehost.MemoryUsageMB
$LargestFreeHost = $namehost.name
}
}

write-host \"Le host $LargestFreeHost a le plus de mémoires libres... \"

#
code de création de la VM
New-VM -vmhost $LargestFreeHost -Name $NomDeLaVMaCreer -Template VM_TEMPLATE -Datastore $LargestDatastore -Description \"Libre\"
sleep 20
Start-VM -VM $NomDeLaVMaCreer
sleep 20

}

[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 5 mois #10369 par Lopes
Réponse de Lopes sur le sujet Re:Création auto de VM
Oups, surtout ne pas mettre les balises de couleur dans le code :)<br><br>Message édité par: seiken02, à: 6/10/11 15:46

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.074 secondes
Propulsé par Kunena