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.