Windows Server 2012 - Virtual Desktop Infrastructure, Collection Pool Manuelle
Par Romain Tiennot le lundi 10 décembre 2012, 09:00 - Serveur - Lien permanent
On a vu la création d'une collection pool automatique ainsi que l'utilisation des disques de profil utilisateur lorsque que l'on fait du Virtual Desktop Infrastructure en Pool. La création de d'un Pool manuel consiste a intégrer manuellement les machines virtuelles dans le pool et faire en sorte qu'elles soient dans le domaine.
Nous ne pouvons pas faire :
- Réinitialisation des machines virtuelles une fois la session fermé
- Récréer les machines virtuelles
- Integration automatique dans le domaine ou la possibilité d'indiquer un fichier de réponse
- La création de nouvelle VM en quelques clique.
Bref, pas beaucoup d'interré à utiliser le pool manuel. Pour profitier des fonctionnalités que l'on a pas avec le Pool manuel, j'ai créé un script en powershell qui consite à :
- Créer le nombre de machine virtelle que l'on désire
- Il utilise les disques différentielles
- Il vérifie le nom d'une machine virtuelle disponible en se basant sur le controleur de domaine ainsi que le serveur de virtualisation Hyper-V
- Integre la VM à la collection
Mais attention, au préalable vous aurez besoin :
- D'une image de base sysrepé avec un fichier de réponse qui integre automatiquement la VM dans le domaine
- Avoir les modules RemoteDesktop et ActiveDirectory sur l'ordinateur executant le script
Voici le script :
$MemoryMin = 512MB $MemeoryBuffer = "5" $NBProcessor = "2" function QueryVM { $Qnumvm = Read-Host 'Combien de Machine virtuelle désirez-vous (defaut = 1) ?' $Qmemmax = Read-Host 'Veuillez indiquer le nombre de mémoire maximum en MB (defaut = 1024MB)(MAX = 4096MB) ?' if ($Qmemmax -eq "") { $Qmemmax = "1024" } if ($Qnumvm -eq "") { $Qnumvm = 1 } if ((&{trap {$false;continue} [boolean][int]$Qmemmax} -ieq "True") -and (&{trap {$false;continue} [boolean][int]$Qnumvm} -ieq "True") -and ($Qmemmax -ige 512) -and ($Qmemmax -ile 4096) ) { Write-Host "Une erreur a été détécté durant la saisi. Assurez-vous : - Qu'il ne s'agit uniquement de caractère alphanumérique. - Que la mémoire minimum soit suppérieur ou égal à 512. - Que la mémoire maximum soit inférieur ou égal à 4096. - Que le nombre de machine virtuelle a créer soit supérieur ou égal à 1." -BackgroundColor yellow -ForegroundColor Black QueryVM } CreateVM } function CreateVM { for ($inc=1; $inc -le $Qnumvm; $inc++) { Write-Host "------------------------------------- Création de la VM n°$inc" -BackgroundColor Green -ForegroundColor black for ($i=1; ;$i++) { Import-Module RemoteDesktop $NameVM = "BVMan-" $StockageVM = "D:\Hyper-V\DEMO\VDI\Collection_BV_Manuel" $NewNameVM = "$NameVM$i" $NameDiskNewVM = "OS.vhdx" $Hyperv = "TIEHPV1" $SwitchEthernet = "Interne01" $PathDiskBase = "D:\Hyper-V\DEMO\TIEBASE\Virtual Hard Disks\TIEBASE.vhdx" $CollectionName = "Collection Pool Manuel" $Broker = "tierdb1.tiennot.lan" $QueryHyperV = Get-VM -name $NewNameVM -ComputerName $Hyperv -ErrorAction ignore $QueryAD = Get-ADComputer -Filter "Name -like '$NewNameVM'" if (!$QueryHyperV -and !$QueryAD) { Write-Host "La VM n°$inc se nommera $NewNameVM" -BackgroundColor Green -ForegroundColor black Write-Host "Début de la création de la VM n°$inc nommé $NewNameVM" -BackgroundColor Green -ForegroundColor black New-VM -ComputerName $Hyperv -MemoryStartupBytes $MemoryMin -Name $NewNameVM -Path $StockageVM -SwitchName $SwitchEthernet -Confirm:$false >> null Set-VMProcessor -VMName $NewNameVM -ComputerName $Hyperv -Confirm:$false -Count $NBProcessor Set-VMMemory -VMName $NewNameVM -Buffer $MemeoryBuffer -ComputerName $Hyperv -DynamicMemoryEnabled $True -MaximumAmountPerNumaNodeBytes $MemoryMin -MaximumBytes 1024MB -MinimumBytes $MemoryMin New-VHD –ParentPath $PathDiskBase –Path "$StockageVM\$NewNameVM\$NameDiskNewVM" -Differencing -Confirm:$false >> null Add-VMHardDiskDrive $NewNameVM -Path "$StockageVM\$NewNameVM\$NameDiskNewVM" Add-RDVirtualDesktopToCollection -CollectionName $CollectionName -VirtualDesktopName $NewNameVM -ConnectionBroker $Broker >> null Start-VM $NewNameVM Write-Host "Création de la VM n°$inc est terminé -------------------------------------" -BackgroundColor Green -ForegroundColor black sleep 15 break } } } } QueryVM
Vous pouvez trouver ma vidéo expliquant la création et une démonstration de mon script :
A bientôt, Romain
Il y a 2 commentaires
Salut
Super site les tutos son nickel il y a juste que la vidéo ne fonctionne pas
Please let me know if you're looking for a article author for your blog.
You have some really great posts and I believe I would be a good
asset. If you ever want to take some of the load off,
I'd absolutely love to write some content for your blog in exchange for
a link back to mine. Please blast me an e-mail if interested.
Many thanks!