Share via


Criando um Script de assistentes do VMM e páginas de propriedade

 

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

Para ajudá-lo a gravar scripts, em System Center 2012 – Virtual Machine Manager pode gerar um script ao executar um assistente ou atualização de propriedades no console do VMM. Você pode usar o Exibir Script botão o Resumo página de cada assistente no console do VMM ou propriedades página para exibir o conjunto de cmdlets que será executado quando você clica em Concluir no final de um assistente ou OK quando você atualiza propriedades. Você pode modificar os comandos conforme necessário e, em seguida, salve o arquivo com uma extensão. ps1, que o identifica como um script do Windows PowerShell.

Modificar o Script gerado

Scripts gerados mais usam o parâmetro de ID de cmdlets para identificar objetos específicos em que elas terão ações. Como essa ID é específico para esse objeto, você talvez queira permitir que o script usar parâmetros ou use um Get para obter um objeto para disponibilizar seu script para uso com outros objetos.

Adicionando um cmdlet de Get a um Script gerado

Quando você fizer uma alteração de um valor de propriedade, o script gerado usa uma ID para obter o objeto para alterar. Por exemplo, o script a seguir é gerado ao alterar o nome e a descrição para uma rede lógica:

$logicalNetwork = Get-SCLogicalNetwork -ID "7a858ed4-b8d2-4ac8-9dbe-6e6a4388c1e7"
Set-SCLogicalNetwork -Name "Backend" -Description "Backend logical network for Seattle" -LogicalNetwork $logicalNetwork -RunAsynchronously

Para tornar esse script útil em ambientes adicionais, você pode substituir o parâmetro ID com um onde cláusula. Por exemplo:

$logicalNetwork = @(Get-SCLogicalNetwork | where { $_.Name -like "LogicalNet*" })
Set-SCLogicalNetwork -Name "Backend" -Description "Backend logical network for Seattle" -LogicalNetwork $logicalNetwork[0] -RunAsynchronously

Agora, o primeiro comando recupera todas as redes lógicas que têm um nome que começa com "LogicalNet" e os coloca em uma matriz. O segundo comando modifica a primeira rede lógica na matriz, atualizando seu nome para "Back-end".

Adicionando parâmetros a um Script gerado

É outra maneira de criar um script gerado mais acessível definir os parâmetros do script. Parâmetros do script funcionam como parâmetros de função. Os valores de parâmetro estão disponíveis para todos os comandos no script. Ao executar o script, os usuários do script digite os parâmetros após o nome do script.

Para adicionar parâmetros a um script, use a instrução Param. A instrução Param deve ser a primeira instrução no script, exceto os comentários. O exemplo a seguir mostra o script gerado acima modificado de forma que podem ser designados como o nome de uma rede lógica existente e um novo nome para a rede lógica e uma descrição adicionada, quando o script é executado.

Param(
   [parameter(Mandatory=$true)]
   [String] $LogicalNetwork = $(throw "A name for an existing logical network is required."),

   [parameter(Mandatory=$true)]
   [String] $NewName = $(throw "A new name for the logical network is required."),

   [parameter(Mandatory=$false)]
   [String] $Description
   )
Set-SCLogicalNetwork -Name $NewName -Description $Description -LogicalNetwork $LogicalNetwork -RunAsynchronously

Quando você executar esse script, você deve fornecer o nome de uma rede lógica existente e um novo nome para a rede lógica. Fornecendo uma descrição é opcional. Por exemplo se esse script é salvo como "UpdateLogicalNetworkName.ps1", você digitaria o seguinte no prompt de comando: .\UpdateLogicalNetworkName.ps1 -LogicalNetwork "LogicalNetwork01" -NewName "Backend" -Description "Backend logical network for Seattle." Se você não fornecer valores para LogicalNetwork e NewName, você será solicitado para eles.

Para obter mais informações sobre como escrever scripts do Windows PowerShell, consulte about_Scripts.