Save-SCVirtualMachine
Migra uma máquina virtual implantada em um host para a biblioteca do VMM.
Sintaxe
Default (Padrão)
Save-SCVirtualMachine
[-VM] <VM>
[-LibraryServer <LibraryServer>]
[-UseLAN]
[-SharePath <String>]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[-OnBehalfOfUser <String>]
[-OnBehalfOfUserRole <UserRole>]
[<CommonParameters>]
Description
O cmdlet Save-SCVirtualMachine migra uma máquina virtual implantada em um host para a biblioteca do Virtual Machine Manager (VMM).
Isso armazena uma máquina virtual na biblioteca do VMM usando um dos seguintes métodos de transferência:
- Transferência de SAN (Fibre Channel, iSCSI ou NPIV). Se o host e o servidor de biblioteca estiverem conectados ao armazenamento SAN, o VMM poderá usar uma transferência SAN para armazenar a máquina virtual na biblioteca. Em uma transferência de SAN, os LUNs de destino são remapeados do host de origem para o servidor de biblioteca de destino. Esse cmdlet não moveu nenhum arquivo. A transferência de SAN é muito mais rápida do que mover arquivos de máquina virtual de um host para outro por meio de uma rede local (LAN). O VMM pode usar uma transferência de SAN NPIV se um HBA (adaptador de barramento de host) com suporte a NPIV estiver disponível.
- Transferência de rede. Se nenhum método mais rápido estiver disponível, o VMM usará uma transferência de rede para mover os arquivos da máquina virtual do servidor host para o servidor de biblioteca pela LAN que conecta os dois servidores. Especifique o caminho do compartilhamento na biblioteca para armazenar a máquina virtual como o parâmetro SharePath .
Esse cmdlet usa automaticamente o tipo de transferência mais rápido disponível. Se você quiser forçar uma transferência de rede, especifique o parâmetro UseLAN . Se o servidor host e o servidor de biblioteca forem o mesmo servidor, o comando não falhará se você especificar UseLAN, mas a migração para a biblioteca ocorrerá mais rapidamente se você não usar esse parâmetro.
Quando uma máquina virtual é armazenada na biblioteca, ela não pode ser iniciada. Antes de iniciar a máquina virtual, você deve movê-la para um host usando o cmdlet Move-SCVirtualMachine .
Exemplos
Exemplo 1: Salvar uma máquina virtual na biblioteca
PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> $LibServer = Get-SCLibraryServer -ComputerName "LibServer01"
PS C:\> Save-SCVirtualMachine -LibraryServer $LibServer -VM $VM -SharePath "\\LibServer01.Contoso.com\Library01\VMs"
O primeiro comando obtém o objeto de máquina virtual chamado VM01 e, em seguida, armazena esse objeto na variável $VM.
O segundo comando obtém o objeto de servidor de biblioteca chamado LibServer01 e, em seguida, armazena esse objeto na variável $Library.
O último comando migra VM01 de seu host e o armazena no local \LibServer01.Contoso.com\Library01\VMs. O comando usa automaticamente o tipo de transferência mais rápido disponível.
Exemplo 2: Armazenar uma máquina virtual na biblioteca de forma assíncrona
PS C:\> $VM = Get-SCVirtualMachine -Name "VM02"
PS C:\> $LibServer = Get-SCLibraryServer -ComputerName "LibServer02"
PS C:\> Save-SCVirtualMachine -LibraryServer $LibServer -VM $VM -SharePath "\\LibServer02.Contoso.com\Library02\VMs" -RunAsynchronously -JobVariable "SaveVMJob"
PS C:\> $SaveVMJob
O primeiro comando obtém o objeto de máquina virtual chamado VM02 e, em seguida, armazena esse objeto na variável $VM.
O segundo comando obtém o objeto do servidor de biblioteca chamado LibServer02 e, em seguida, armazena esse objeto na variável $Library.
O terceiro comando migra VM02 para o local \LibServer02.Contoso.com\Library02\VMs. O comando especifica o parâmetro RunAsynchronously para retornar o controle ao shell de comando imediatamente. O comando especifica que o parâmetro VariávelTrabalho , rastreia o progresso do trabalho e armazena um registro de seu progresso em $SaveVMJob. Para JobVariable, você não especifica o cifrão ($) para criar a variável.
O último comando exibe o conteúdo de $SaveVMJob.
Exemplo 3: Armazenar uma máquina virtual na biblioteca forçando uma transferência de rede
PS C:\> $VM = Get-SCVirtualMachine -Name "VM03"
PS C:\> $LibServer = Get-SCLibraryServer -ComputerName "LibServer01"
PS C:\> Save-SCVirtualMachine -LibraryServer $LibServer -VM $VM -SharePath "\\LibServer01.Contoso.com\Library01\VMs" -UseLAN
O primeiro comando obtém a máquina virtual chamada VM03 e, em seguida, armazena esse objeto na variável $VM.
O segundo comando obtém o objeto do servidor de biblioteca chamado LibServer01 e, em seguida, armazena esse objeto na variável $LibServer.
O último comando armazena VM03 no local \LibServer01.Contoso.com\Library01\VMs. O parâmetro UseLAN força uma transferência de rede pela LAN, mesmo que um mecanismo de transferência mais rápido esteja disponível.
Parâmetros
-JobVariable
Especifica o nome de uma variável para o progresso do trabalho.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-LibraryServer
Especifica um objeto de servidor de biblioteca do VMM.
Propriedades do parâmetro
| Tipo: | LibraryServer |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-OnBehalfOfUser
Especifica um nome de usuário. Esse cmdlet opera em nome do usuário especificado por esse parâmetro.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-OnBehalfOfUserRole
Especifica uma função de usuário. Para obter uma função de usuário, use o cmdlet Get-SCUserRole . Esse cmdlet opera em nome da função de usuário especificada por esse parâmetro.
Propriedades do parâmetro
| Tipo: | UserRole |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-PROTipID
Especifica a ID da dica de Otimização de Recursos e Desempenho (dica PRO) que disparou essa ação. Esse parâmetro permite que você audite dicas pro.
Propriedades do parâmetro
| Tipo: | Guid |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-RunAsynchronously
Indica que o trabalho é executado de forma assíncrona para que o controle retorne ao shell de comando imediatamente.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-SharePath
Especifica um caminho para um compartilhamento de biblioteca válido em um servidor de biblioteca existente em que esse cmdlet salva a máquina virtual. Especifique um caminho UNC (Convenção Universal de Nomenclatura).
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-UseLAN
Indica que esse cmdlet usa a transferência pela LAN, mesmo que um mecanismo de transferência mais rápido esteja disponível.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-VM
Especifica um objeto de máquina virtual a ser salvo.
Propriedades do parâmetro
| Tipo: | VM |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Saídas
VirtualMachine
Esse cmdlet retorna um objeto VirtualMachine .
Observações
- Requer um objeto de máquina virtual do VMM, que pode ser recuperado usando o cmdlet Get-SCVirtualMachine .