共用方式為


Save-SCVirtualMachine

將部署在主機上的虛擬機移轉至 VMM 連結庫。

語法

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 傳輸比透過局域網路將虛擬機檔案從一部主機移至另一部主機的速度要快得多。 如果主機總線適配卡 (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

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

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-LibraryServer

指定 VMM 連結庫伺服器物件。

類型:LibraryServer
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-OnBehalfOfUser

指定用戶名稱。 這個 Cmdlet 代表此參數指定的用戶運作。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-OnBehalfOfUserRole

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

類型:UserRole
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-PROTipID

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

類型:Guid
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-RunAsynchronously

表示作業會以異步方式執行,讓控件立即返回命令殼層。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-SharePath

指定現有連結庫伺服器上的有效連結庫共享路徑,此 Cmdlet 會儲存虛擬機。 指定通用命名約定 (UNC) 路徑。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-UseLAN

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

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-VM

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

類型:VM
Position:0
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

輸出

VirtualMachine

此 Cmdlet 會傳回 VirtualMachine 物件。

備註

  • 需要 VMM 虛擬機物件,可以使用 Get-SCVirtualMachine Cmdlet 來擷取。