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 提示的識別碼) 。 此參數可讓您稽核 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 物件。
備註
- 需要 VMM 虛擬機器物件,可以使用 Get-SCVirtualMachine Cmdlet 來擷取。