Freigeben über


Save-SCVirtualMachine

Migriert einen virtuellen Computer, der auf einem Host bereitgestellt wird, zur VMM-Bibliothek.

Syntax

Save-SCVirtualMachine
    [-VM] <VM>
    [-LibraryServer <LibraryServer>]
    [-UseLAN]
    [-SharePath <String>]
    [-RunAsynchronously]
    [-PROTipID <Guid>]
    [-JobVariable <String>]
    [-OnBehalfOfUser <String>]
    [-OnBehalfOfUserRole <UserRole>]
    [<CommonParameters>]

Beschreibung

Das Cmdlet Save-SCVirtualMachine migriert einen virtuellen Computer, der auf einem Host bereitgestellt wird, zur VMM-Bibliothek (Virtual Machine Manager).

Dadurch wird ein virtueller Computer in der VMM-Bibliothek mithilfe einer der folgenden Übertragungsmethoden gespeichert:

  • SAN-Übertragung (Fibre Channel, iSCSI oder NPIV). Wenn der Host- und Bibliotheksserver mit SAN-Speicher verbunden sind, kann VMM eine SAN-Übertragung verwenden, um den virtuellen Computer in der Bibliothek zu speichern. Bei einer SAN-Übertragung werden die Ziel-LUNs vom Quellhost an den Zielbibliotheksserver neu zugeordnet. Dieses Cmdlet hat keine Dateien verschoben. DIE SAN-Übertragung ist viel schneller als das Verschieben von Dateien virtueller Computer von einem Host in einen anderen über ein Lokales Netzwerk (LAN). VMM kann einen NPIV SAN-Transfer verwenden, wenn ein Hostbusadapter (HBA) mit NPIV-Unterstützung verfügbar ist.
  • Netzwerkübertragung. Wenn keine schnellere Methode verfügbar ist, verwendet VMM eine Netzwerkübertragung, um die Dateien des virtuellen Computers vom Hostserver auf den Bibliotheksserver über das LAN zu verschieben, das die beiden Server verbindet. Geben Sie den Pfad der Freigabe in der Bibliothek an, um den virtuellen Computer als SharePath Parameter zu speichern.

Dieses Cmdlet verwendet automatisch den schnellsten verfügbaren Übertragungstyp. Wenn Sie eine Netzwerkübertragung erzwingen möchten, geben Sie den parameter UseLAN an. Wenn der Hostserver und der Bibliotheksserver derselbe Server sind, schlägt der Befehl nicht fehl, wenn Sie UseLAN-angeben, aber die Migration zur Bibliothek erfolgt schneller, wenn Sie diesen Parameter nicht verwenden.

Wenn ein virtueller Computer in der Bibliothek gespeichert ist, kann er nicht gestartet werden. Bevor Sie den virtuellen Computer starten können, müssen Sie ihn mithilfe des Cmdlets Move-SCVirtualMachine auf einen Host verschieben.

Beispiele

Beispiel 1: Speichern eines virtuellen Computers in der Bibliothek

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"

Der erste Befehl ruft das Objekt des virtuellen Computers mit dem Namen VM01 ab und speichert dieses Objekt dann in der $VM Variablen.

Der zweite Befehl ruft das Bibliotheksserverobjekt mit dem Namen LibServer01 ab und speichert dieses Objekt dann in der $Library Variablen.

Der letzte Befehl migriert VM01 vom Host und speichert ihn an dem Speicherort \LibServer01.Contoso.com\Library01\VMs. Der Befehl verwendet automatisch den schnellsten verfügbaren Übertragungstyp.

Beispiel 2: Asynchrones Speichern eines virtuellen Computers in der Bibliothek

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

Der erste Befehl ruft das objekt des virtuellen Computers mit dem Namen VM02 ab und speichert dieses Objekt dann in der $VM Variablen.

Der zweite Befehl ruft das Bibliotheksserverobjekt "LibServer02" ab und speichert dieses Objekt dann in der $Library Variablen.

Der dritte Befehl migriert VM02 zum Speicherort \LibServer02.Contoso.com\Library02\VMs. Der Befehl gibt die RunAsynchronously Parameter an, um die Steuerung sofort an die Befehlsshell zurückzugeben. Der Befehl gibt den JobVariable Parameter den Auftragsfortschritt nach und speichert einen Datensatz des Fortschritts in $SaveVMJob. Für JobVariablegeben Sie nicht das Dollarzeichen ($) an, um die Variable zu erstellen.

Der letzte Befehl zeigt den Inhalt von $SaveVMJob an.

Beispiel 3: Speichern eines virtuellen Computers in der Bibliothek durch Erzwingen einer Netzwerkübertragung

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

Der erste Befehl ruft den virtuellen Computer mit dem Namen VM03 ab und speichert dieses Objekt dann in der variablen $VM.

Der zweite Befehl ruft das Bibliotheksserverobjekt "LibServer01" ab und speichert dieses Objekt dann in der $LibServer Variablen.

Der letzte Befehl speichert VM03 an dem Speicherort \LibServer01.Contoso.com\Library01\VMs. Der UseLAN Parameter erzwingt eine Netzwerkübertragung über das LAN, auch wenn ein schnellerer Übertragungsmechanismus verfügbar ist.

Parameter

-JobVariable

Gibt den Namen einer Variablen für den Auftragsfortschritt an.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-LibraryServer

Gibt ein VMM-Bibliotheksserverobjekt an.

Typ:LibraryServer
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-OnBehalfOfUser

Gibt einen Benutzernamen an. Dieses Cmdlet wird im Auftrag des Benutzers ausgeführt, den dieser Parameter angibt.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-OnBehalfOfUserRole

Gibt eine Benutzerrolle an. Verwenden Sie zum Abrufen einer Benutzerrolle das cmdlet Get-SCUserRole. Dieses Cmdlet wird im Auftrag der Benutzerrolle ausgeführt, die dieser Parameter angibt.

Typ:UserRole
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-PROTipID

Gibt die ID des Tipps zur Leistungs- und Ressourcenoptimierung (PRO-Tipp) an, der diese Aktion ausgelöst hat. Mit diesem Parameter können Sie PRO-Tipps überwachen.

Typ:Guid
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-RunAsynchronously

Gibt an, dass der Auftrag asynchron ausgeführt wird, damit das Steuerelement sofort zur Befehlsshell zurückkehrt.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SharePath

Gibt einen Pfad zu einer gültigen Bibliotheksfreigabe auf einem vorhandenen Bibliotheksserver an, auf dem dieses Cmdlet den virtuellen Computer speichert. Geben Sie einen UNC-Pfad (Universal Naming Convention) an.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-UseLAN

Gibt an, dass dieses Cmdlet die Übertragung über das LAN verwendet, auch wenn ein schnellerer Übertragungsmechanismus verfügbar ist.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-VM

Gibt ein virtuelles Computerobjekt an, das gespeichert werden soll.

Typ:VM
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

Ausgaben

VirtualMachine

Dieses Cmdlet gibt ein VirtualMachine-Objekt zurück.

Hinweise

  • Erfordert ein virtuelles VMM-Computerobjekt, das mithilfe des cmdlets Get-SCVirtualMachine abgerufen werden kann.