Utilisation des propriétés personnalisées sur des niveaux d'ordinateur pour déterminer l'arrêt et l'ordre de démarrage des ordinateurs virtuels dans un Service (Script)
S'applique à: System Center 2012 R2 Virtual Machine Manager, System Center 2012 - Virtual Machine Manager
Vous pouvez créer et ajouter des propriétés personnalisées aux objets dans System Center 2012 – Virtual Machine Manager (VMM). Pour créer une nouvelle propriété personnalisée, utilisez la New-SCCustomProperty applet de commande. Lorsque vous créez ou mettez à jour une propriété personnalisée, vous pouvez déterminer quels objets de la propriété peut être appliquée à l'aide de le AddMember paramètre. Vous pouvez appliquer des propriétés personnalisées aux ordinateurs virtuels, modèles d'ordinateur virtuel, hôtes, clusters hôtes, des groupes hôtes, modèles de service, niveaux d'ordinateur et nuages. Une fois que vous avez créé une propriété personnalisée et ajouté à un objet, vous pouvez ensuite ajouter une valeur à la propriété personnalisée et effectuer des opérations sur l'objet en fonction de la valeur de propriété personnalisée.
Le script suivant crée une propriété personnalisée pour les objets de niveau ordinateur. Il applique ensuite les valeurs pour les propriétés personnalisées qui déterminent l'ordre de démarrage et d'arrêt des ordinateurs virtuels dans les couches.
<#
Description: This script creates a custom property for computer tier objects.
The script then applies values to the custom properties on the
computer tiers. Based on property values, the script stops the
virtual machines in the specified order, and then starts the
virtual machines, also in the specified order.
#>
# Create custom properties for the computer tiers.
$CustomProp = New-SCCustomProperty -Name StopStartOrder -AddMember "ComputerTier"
# Get the computer tiers on which you want to set the shutdown and startup order.
$Service = Get-SCService -Name "NewService6"
$Tiers = Get-SCComputerTier -Service $Service
$TierNumber = $Tiers.count
# Set the shutdown/startup order custom property on the computer tiers.
$ComputerTier1 = Get-SCComputerTier -Service $Service | where {$_.Name -eq "Web Tier"}
Set-SCCustompropertyValue -CustomProperty $CustomProp -InputObject $ComputerTier1 -Value "1"
$ComputerTier2 = Get-SCComputerTier -Service $Service | where {$_.Name -eq "ComputerTier2"}
Set-SCCustompropertyValue -CustomProperty $CustomProp -InputObject $ComputerTier2 -Value "2"
# Stop the virtual machines in order before stopping the service.
$i = 1
While ($i -le $TierNumber)
{
Get-SCComputerTier -Service $Service | where {$_.CustomProperty.Values -eq "$i"} | Get-SCVirtualMachine | Stop-SCVirtualMachine -Shutdown
$i = $i+1
}
# Stop the service.
Stop-SCService -Service $Service
# Pause to ensure that the service is stopped.
Start-Sleep "30"
# Start the virtual machines in order before starting the service.
$i = 1
While ($i -le $TierNumber)
{
Get-SCComputerTier -Service $Service | where {$_.CustomProperty.Values -eq "$i"} | Get-SCVirtualMachine | Start-SCVirtualMachine
$i = $i+1
}
# Start the service.
Start-SCService -Service $Service