Share via


Usar propriedades personalizadas em níveis de computador para determinar o desligamento e a ordem de inicialização das máquinas virtuais em um serviço (Script)

 

Aplica-se a: System Center 2012 R2 Virtual Machine Manager, System Center 2012 - Virtual Machine Manager

Você pode criar e adicionar propriedades personalizadas a objetos em System Center 2012 – Virtual Machine Manager (VMM). Para criar uma nova propriedade personalizada, use o New-SCCustomProperty cmdlet. Quando você cria ou atualiza uma propriedade personalizada, você pode determinar quais objetos a propriedade pode ser aplicada usando o AddMember parâmetro. Você pode aplicar propriedades personalizadas para máquinas virtuais, modelos de máquinas virtuais, hosts, clusters de hosts, grupos de hosts, modelos de serviço, camadas de computador e nuvens. Após você ter criado uma propriedade personalizada e adicionado a um objeto, você pode adicionar um valor à propriedade personalizada e executar ações no objeto com base no valor da propriedade personalizada.

Isenção de responsabilidade

O script a seguir cria uma propriedade personalizada para objetos da camada de computador. Ele aplica valores para as propriedades personalizadas que irá determinar a ordem de inicialização e desligamento das máquinas virtuais nas camadas.

<#
  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