Save-SCVirtualMachine
Migriert eine auf einem Host bereitgestellte virtuelle Maschine zur VMM-Bibliothek.
Syntax
Default (Standardwert)
Save-SCVirtualMachine
[-VM] <VM>
[-LibraryServer <LibraryServer>]
[-UseLAN]
[-SharePath <String>]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[-OnBehalfOfUser <String>]
[-OnBehalfOfUserRole <UserRole>]
[<CommonParameters>]
Beschreibung
Mit dem Cmdlet Save-SCVirtualMachine wird ein virtueller Computer, der auf einem Host bereitgestellt wird, zur Virtual Machine Manager (VMM)-Bibliothek migriert.
Dadurch wird ein virtueller Computer mithilfe einer der folgenden Übertragungsmethoden in der VMM-Bibliothek gespeichert:
- SAN-Übertragung (Fibre Channel, iSCSI oder NPIV). Wenn sowohl der Host als auch der Bibliothekserver mit dem SAN-Speicher verbunden sind, kann VMM eine SAN-Übertragung verwenden, um die virtuelle Maschine in der Bibliothek zu speichern. Bei einer SAN-Übertragung werden die Ziel-LUNs vom Quellhost dem Zielbibliotheksserver neu zugeordnet. Mit diesem Cmdlet werden keine Dateien verschoben. Die SAN-Übertragung ist wesentlich schneller als das Verschieben von Dateien virtueller Maschinen von einem Host auf einen anderen über ein lokales Netzwerk (Local Area Network, LAN). VMM kann eine NPIV-SAN-Übertragung 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 der virtuellen Maschine über das LAN, das die beiden Server verbindet, vom Hostserver auf den Bibliothekserver zu verschieben. 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 es sich bei dem Hostserver und dem Bibliothekserver um denselben Server handelt, schlägt der Befehl nicht fehl, wenn Sie UseLAN angeben, aber die Migration zur Bibliothek erfolgt schneller, wenn Sie diesen Parameter nicht verwenden.
Wenn eine virtuelle Maschine in der Bibliothek gespeichert ist, kann sie nicht gestartet werden. Bevor Sie den virtuellen Computer starten können, müssen Sie ihn mit dem Cmdlet 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 VM-Objekt mit dem Namen VM01 ab und speichert dieses Objekt dann in der Variablen $VM.
Der zweite Befehl ruft das Bibliothekserverobjekt mit dem Namen LibServer01 ab und speichert dieses Objekt dann in der Variablen $Library.
Mit dem letzten Befehl wird VM01 von seinem Host migriert und am Speicherort \LibServer01.Contoso.com\Library01\VMs gespeichert. 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 VM-Objekt mit dem Namen VM02 ab und speichert dieses Objekt dann in der Variablen $VM.
Der zweite Befehl ruft das Bibliothekserverobjekt mit dem Namen LibServer02 ab und speichert dieses Objekt dann in der Variablen $Library.
Mit dem dritten Befehl wird VM02 an den Speicherort \LibServer02.Contoso.com\Library02\VMs migriert. Der Befehl gibt den Parameter RunAsynchronously an, um die Steuerung sofort an die Befehlsshell zurückzugeben. Der Befehl gibt an, dass der JobVariable-Parameter den Auftragsfortschritt verfolgt und einen Datensatz des Auftragsfortschritts in $SaveVMJob speichert. Für JobVariable geben Sie das Dollarzeichen ($) nicht an, um die Variable zu erstellen.
Der letzte Befehl zeigt den Inhalt $SaveVMJob an.
Beispiel 3: Speichern eines virtuellen Computers in der Bibliothek, indem eine Netzwerkübertragung erzwungen wird
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 Bibliothekserverobjekt mit dem Namen LibServer01 ab und speichert dieses Objekt dann in der Variablen $LibServer.
Mit dem letzten Befehl wird VM03 am Speicherort \LibServer01.Contoso.com\Library01\VMs gespeichert. 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.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-LibraryServer
Gibt ein VMM-Bibliotheksserverobjekt an.
Parametereigenschaften
| Typ: | LibraryServer |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-OnBehalfOfUser
Gibt einen Benutzernamen an. Dieses Cmdlet wird im Namen des Benutzers ausgeführt, der durch diesen Parameter angegeben wird.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-OnBehalfOfUserRole
Gibt eine Benutzerrolle an. Verwenden Sie zum Abrufen einer Benutzerrolle das Cmdlet Get-SCUserRole . Dieses Cmdlet wird im Namen der Benutzerrolle ausgeführt, die durch diesen Parameter angegeben wird.
Parametereigenschaften
| Typ: | UserRole |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | 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.
Parametereigenschaften
| Typ: | Guid |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-RunAsynchronously
Gibt an, dass der Auftrag asynchron ausgeführt wird, damit das Steuerelement sofort zur Befehlsshell zurückkehrt.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-SharePath
Gibt einen Pfad zu einer gültigen Bibliotheksfreigabe auf einem vorhandenen Bibliothekserver an, auf dem der virtuelle Computer mit diesem Cmdlet gespeichert wird. Geben Sie einen UNC-Pfad (Universal Naming Convention) an.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-UseLAN
Gibt an, dass dieses Cmdlet die Übertragung über das LAN auch dann verwendet, wenn ein schnellerer Übertragungsmechanismus verfügbar ist.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-VM
Gibt ein Objekt der virtuellen Maschine an, das gespeichert werden soll.
Parametereigenschaften
| Typ: | VM |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | 0 |
| Obligatorisch.: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Ausgaben
VirtualMachine
Dieses Cmdlet gibt ein VirtualMachine-Objekt zurück.
Hinweise
- Erfordert ein VMM-VM-Objekt, das mit dem Cmdlet Get-SCVirtualMachine abgerufen werden kann.