共用方式為


Save-SCVirtualMachine

將部署在主機上的虛擬機器移轉至 VMM 程式庫。

Syntax

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

Description

Save-SCVirtualMachine Cmdlet 會將部署在主機上的虛擬機器移轉至 Virtual Machine Manager (VMM) 程式庫。

這會使用下列其中一種傳輸方法,將虛擬機器儲存至 VMM 程式庫:

  • SAN 傳輸 (光纖通道、iSCSI 或 NPIV) 。 如果主機和程式庫伺服器都連線到 SAN 儲存體,VMM 可以使用 SAN 傳輸將虛擬機器儲存在程式庫中。 在 SAN 轉移中,目標 LUN 會從來源主機重新對應到目的程式庫伺服器。 此 Cmdlet 不會移動任何檔案。 SAN 傳送速率比透過區域網路將虛擬機器檔案從一部主機移至另一部主機的速度, (LAN) 。 如果有可用的主機匯流排介面卡 (HBA) 與 NPIV 支援,則 VMM 可使用 NPIV SAN 轉移。
  • 網路傳輸。 如果沒有更快的方法可用,VMM 會使用網路傳輸,透過連線這兩部伺服器的 LAN,將虛擬機器檔案從主機伺服器移至程式庫伺服器。 指定程式庫中共用的路徑,以將虛擬機器儲存為 SharePath 參數。

此 Cmdlet 會自動使用最快的可用傳輸類型。 如果您想要強制網路傳輸,請指定 UseLAN 參數。 如果主機伺服器和程式庫伺服器是相同的伺服器,如果您指定 UseLAN,則命令不會失敗,但如果您不使用該參數,移轉至程式庫的速度會更快。

如果虛擬機器存放在程式庫中,則無法啟動該虛擬機器。 您必須先使用 Move-SCVirtualMachine Cmdlet 將它移至主機,才能啟動虛擬機器。

範例

範例 1:將虛擬機器儲存至程式庫

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"

第一個命令會取得名為 VM01 的虛擬機器物件,然後將該物件儲存在$VM變數中。

第二個命令會取得名為 LibServer01 的程式庫伺服器物件,然後將該物件儲存在$Library變數中。

最後一個命令會將 VM01 從其主機移轉至 \LibServer01.Contoso.com\Library01\VM 的位置。 命令會自動使用最快速的可用轉移類型。

範例 2:以非同步方式將虛擬機器儲存在程式庫中

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

第一個命令會取得名為 VM02 的虛擬機器物件,然後將該物件儲存在$VM變數中。

第二個命令會取得名為 LibServer02 的程式庫伺服器物件,然後將該物件儲存在$Library變數中。

第三個命令會將 VM02 移轉至 \LibServer02.Contoso.com\Library02\VM 的位置。 命令會指定 RunAsynchronously 參數,以立即將控制權傳回命令殼層。 命令會指定 JobVariable 參數追蹤作業進度,並在$SaveVMJob中儲存其進度的記錄。 針對 JobVariable,您未指定貨幣符號 ($) 來建立變數。

最後一個命令會顯示$SaveVMJob的內容。

範例 3:強制網路傳輸將虛擬機器儲存在程式庫中

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

第一個命令會取得名為 VM03 的虛擬機器,然後將該物件儲存在$VM變數中。

第二個命令會取得名為 LibServer01 的程式庫伺服器物件,然後將該物件儲存在$LibServer變數中。

最後一個命令會將 VM03 儲存至位置 \LibServer01.Contoso.com\Library01\VM。 即使有更快的傳輸機制可用, UseLAN 參數仍會強制透過 LAN 進行網路傳輸。

參數

-JobVariable

指定作業進度的變數名稱。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LibraryServer

指定 VMM 程式庫伺服器物件。

Type:LibraryServer
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-OnBehalfOfUser

指定使用者名稱。 這個 Cmdlet 會代表此參數所指定的使用者運作。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OnBehalfOfUserRole

指定使用者角色。 若要取得使用者角色,請使用 Get-SCUserRole Cmdlet。 這個 Cmdlet 會代表此參數所指定的使用者角色運作。

Type:UserRole
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PROTipID

指定觸發此動作 (PRO 提示) 效能和資源優化提示的識別碼。 此參數可讓您稽核 PRO 秘訣。

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunAsynchronously

表示作業會以非同步方式執行,讓控制項立即返回命令殼層。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SharePath

指定此 Cmdlet 儲存虛擬機器的現有程式庫伺服器上有效程式庫共用的路徑。 指定 UNC) 路徑 (通用命名慣例。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseLAN

指出此 Cmdlet 會使用透過 LAN 的傳輸,即使有更快的傳輸機制也一樣。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VM

指定要儲存的虛擬機器物件。

Type:VM
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

輸出

VirtualMachine

此 Cmdlet 會傳回 VirtualMachine 物件。

備註

  • 需要可使用 Get-SCVirtualMachine Cmdlet 擷取的 VMM 虛擬機器物件。