VShadow 工具和範例

VShadow 是一種命令列工具,可用來建立和管理磁片區陰影複製。

注意

VShadow 包含在適用于 Windows Vista 和更新版本的 Microsoft Windows 軟體發展工具組 (SDK) 中。 VSS 7.2 SDK 包含只在 Windows Server 2003 上執行的 VShadow 版本。 如需下載 Windows SDK 和 VSS 7.2 SDK 的相關資訊,請參閱 磁片區陰影複製服務

 

VShadow 工具會使用命令列選項和選擇性旗標來識別要執行的工作。 不使用任何命令列選項時,VShadow 命令會建立新的陰影複製集。

VShadow 命令會執行下列作業:

建立陰影複製集

vshadow [OptionalFlags] VolumeList

此命令會建立新的陰影複製集。

VolumeList 是磁片區名稱的清單。 VShadow 會為清單中的每個磁片區建立一個陰影複製。 磁片區名稱可以選擇性地以反斜線 (\) 來終止。 例如,C: 和 C:\是有效的磁片區名稱。 您也可以 (指定掛接的資料夾,例如 C:\DirectoryName) 或磁片區 GUID 名稱 (,例如 \\?\Volume{edbed95e-7e8d-11d8-9d01-505054503030}) 。

OptionalFlags 是下表中選擇性旗標值的位元遮罩。

選擇性旗標值 Description
-廣告
這個選擇性旗標會指定差異硬體陰影複製。 這個旗標和 -ap 旗標互斥。
注意: 只有 Windows 伺服器作業系統才支援此旗標。
-美聯社
這個選擇性旗標會指定 plex 硬體陰影複製。 這個旗標和 -ad 旗標互斥。
注意: 只有 Windows 伺服器作業系統才支援此旗標。
-bc=File.xml
這個選擇性旗標會指定不可傳輸的陰影複製,並將備份元件檔儲存到指定的檔案中。 此檔案可用於後續的還原作業。 這個旗標和 -t 旗標互斥。
注意: 只有 Windows 伺服器作業系統才支援此旗標。
-exec=Command
這個選擇性旗標會在建立陰影複製之後,但在 VShadow 工具結束之前執行命令或腳本。 命令 可以指定可執行檔殼層命令或 CMD 檔案。 如果指定殼層命令,則無法指定任何命令參數。
注意: 基於安全性考慮並讓實作保持簡單, -exec 選擇性旗標將不會接受要傳遞至命令或腳本的參數。 傳遞至 -exec 選擇性旗標的整個字串會被視為單一 CMD 或 EXE 檔案。 如需這項限制的詳細資訊,請參閱 VShadow 原始程式碼。
-forcerevert
這個選擇性旗標指定只有在可以還原所有磁片簽章時,才會完成陰影複製作業。
注意: 只有 Windows 伺服器作業系統才支援此旗標。
Windows Server 2003: 不支援。
-面具
這個選擇性旗標會指定陰影複製集損毀時,應該從電腦遮罩陰影複製 LUN。
注意: 只有 Windows 伺服器作業系統才支援此旗標。
Windows Server 2003: 不支援。
-nar
這個選擇性旗標會指定沒有自動復原的陰影複製。 如需此選項的詳細資訊,請參閱 _VSS_VOLUME_SNAPSHOT_ATTRIBUTES列舉VSS_VOLSNAP_ATTR_NO_AUTORECOVERY 旗標的檔。
-norevert
這個選擇性旗標會指定不應該復原磁碟簽章。
注意: 只有 Windows 伺服器作業系統才支援此旗標。
Windows Server 2003: 不支援。
-西北
這個選擇性旗標會指定陰影複製,而不涉及寫入器。 如需沒有寫入器參與之陰影複製的詳細資訊,請參閱 陰影複製建立詳細資料。 這個旗標和 -wi-wx 旗標互斥。
-p
這個選擇性旗標會指定 永續性陰影複製
注意: 只有 Windows 伺服器作業系統才支援此旗標。
-烏爾曼
這個選擇性旗標會指定陰影複製 LUN 應該在陰影複製集中斷時進行讀取/寫入。
注意: 只有 Windows 伺服器作業系統才支援此旗標。
Windows Server 2003: 不支援。
-scsf
這個選擇性旗標會指定 用戶端可存取的陰影複製
注意: 只有 Windows 伺服器作業系統才支援此旗標。
-script=File.cmd
這個選擇性旗標會產生 CMD 檔案,其中包含與所建立陰影複製相關的環境變數,例如陰影複製識別碼和陰影複製集識別碼。
-t=File.xml
這個選擇性旗標會指定可傳輸的陰影複製,並將備份元件檔儲存到 File.xml 參數指定的檔案中。 此檔案可用於後續的匯入和/或還原作業。 此旗標和 -bc 旗標互斥。
Windows Server 2003、Standard Edition 和 Windows Server 2003、Web 版本: 不支援可傳輸的陰影複製。 Windows Server 2003 Service Pack 1 (SP1 的所有版本) 都支援可傳輸的陰影複製。
-Tr
這個選擇性旗標會指定在陰影複製建立期間應強制執行 TxF 復原。
注意: 只有 Windows 伺服器作業系統才支援此旗標。
-跟蹤
這個選擇性旗標會產生可用於疑難排解的詳細資訊輸出。
-等
這個選擇性旗標會導致 VShadow 工具在結束之前等待使用者確認。
-wi=Writer
這個選擇性旗標會驗證指定的寫入器或元件是否包含在陰影複製中。 寫入器 可以指定元件路徑、寫入器名稱、寫入器識別碼或寫入器實例識別碼。 此旗標和 -nw 旗標互斥。
-wx=Writer
這個選擇性旗標會驗證指定的寫入器或元件是否從陰影複製中排除。 寫入器 可以指定元件路徑、寫入器名稱、寫入器識別碼或寫入器實例識別碼。 此旗標和 -nw 旗標互斥。

 

匯入陰影複製集

vshadow [OptionalFlags] -i=File.xml

-i命令列選項會匯入可傳輸的陰影複製集。

注意

只有 Windows 伺服器作業系統才支援這個命令列選項。

 

File.xml檔案必須是使用-t-bc選擇性旗標所建立之可傳輸陰影複製集的備份元件檔檔案。

如果陰影複製集是使用-p選擇性旗標建立的持續性陰影複製集。 如果可傳輸的陰影複製集為非持續性,則會在陰影複製建立命令執行時短暫出現,並在命令傳回時自動刪除。 您只能在陰影複製建立期間匯入非持續性陰影複製,方法是使用 -exec 選擇性旗標建立陰影複製集,以執行呼叫 VShadow -i的 CMD 檔案。

-i命令列選項無法與其他命令列選項結合。

OptionalFlags 是下表中選擇性旗標值的位元遮罩。

選擇性旗標值 Description
-exec=Command
這個選擇性旗標會在匯入陰影複製之後,但在 VShadow 工具結束之前執行命令或腳本。 命令 可以指定可執行檔殼層命令或 CMD 檔案。 如果它指定殼層命令,則無法指定任何命令參數。
-跟蹤
這個選擇性旗標會產生可用於疑難排解的詳細資訊輸出。
-等
這個選擇性旗標會導致 VShadow 工具在結束之前等候使用者確認。

 

查詢陰影複製屬性

vshadow-q

vshadow **-qx=**ShadowCopySetId

vshadow **-s=**ShadowCopyId

-q命令列選項會列出電腦上所有陰影複製的屬性。

-qx命令列選項會列出陰影複製集中所有陰影複製集的屬性,其識別碼是由ShadowCopySetId所指定。

-s命令列選項會列出ShadowCopyId所指定識別碼的陰影複製屬性。

這些命令列選項會使用 IVssBackupComponents::QueryIVssBackupComponents::GetSnapshotProperties 的組合,以取得指定陰影複製集的屬性。

-q-qx-s命令列選項互斥,無法與其他命令列選項結合。

刪除陰影複製

vshadow-da

vshadow-do

vshadow **-dx=**ShadowCopySetId

vshadow **-ds=**ShadowCopyId

-da命令會刪除電腦上的所有陰影複製。

注意

-da命令列選項需要使用者確認。

 

-do命令列選項會刪除電腦上最舊的陰影複製。

-dx命令列選項會刪除陰影複製集中的所有陰影複製,其識別碼是由ShadowCopySetId所指定。

-ds命令列選項會刪除ShadowCopyId所指定識別碼的陰影複製。

這些命令列選項僅適用于 永續性陰影複製 。 非持續性陰影複製不需要明確刪除,因為 VShadow 建立命令結束時會自動刪除它們。

-da-do-dx-ds命令列選項互斥,無法與其他命令列選項結合。

中斷陰影複製集

vshadow **-b=**ShadowCopySetId

vshadow **-bw=**ShadowCopySetId

**-b=**ShadowCopySetId 命令列選項會將陰影複製集中的每個陰影複製轉換成獨立唯讀磁片區。

**-bw=**ShadowCopySetId 命令列選項會將陰影複製集中的每個陰影複製轉換成獨立可寫入的磁片區。

注意

只有 Windows 伺服器作業系統才支援 -b-bw 命令列選項。

 

如需中斷陰影複製集的詳細資訊,請參閱 中斷陰影複製

陰影複製集中斷之後,陰影複製集和個別陰影複製就不再存在,而且無法使用 VSS 命令來管理。

如果使用 -p 選擇性旗標建立陰影複製集,則陰影複製集是持續性的。 如果可傳輸的陰影複製集為非持續性,則會在陰影複製建立命令執行時短暫出現,並在命令傳回時自動刪除。 您只能在陰影複製建立期間中斷非持續性陰影複製集,方法是使用-exec選擇性旗標建立陰影複製集,以執行呼叫vshadow-b 或 vshadow-bwCMD 檔案。

-b-bw命令列選項互斥,無法與其他命令列選項結合。

使用 BreakSnapshotSetEx 方法中斷陰影複製集

vshadow-bex

-bex命令列選項會根據選擇性-mask-rw-forcerevert-norevert旗標所指定的選項,中斷陰影複製集。 這個命令列選項類似于 -b-bw 命令列選項。 -bex命令列選項使用IVssBackupComponentsEx2::BreakSnapshotSetEx方法,而 -b-bw命令列選項則使用IVssBackupComponents::BreakSnapshotSet方法。

如需中斷陰影複製集的詳細資訊,請參閱 中斷陰影複製

注意

只有 Windows 伺服器作業系統才支援 -bex 命令列選項。

 

vshadow-bex-mask

-mask旗標會指定陰影複製 LUN 將會從主機遮罩。 如果指定 了 -mask 旗標,就無法指定 -rw-forcerevert-norevert 旗標。

vshadow-bex-rw

-rw旗標會指定陰影複製 LUN 會公開給主機作為讀取/寫入磁片區。

vshadow-bex-forcerevert

-forcerevert旗標指定所有陰影複製 LUN 的磁片識別碼將會還原為原始 LUN 的磁片識別碼。 不過,如果系統上有任何原始 LUN 存在,作業將會失敗,而且不會還原任何識別碼。 這個旗標和 -norevert 旗標互斥。

vshadow-bex-norevert

-norevert旗標指定不會還原任何陰影複製 LUN 磁片識別碼。 此旗標和 -forcerevert 旗標互斥。

在本機公開陰影複製

vshadow **-el=ShadowCopyId,**LocalEmptyDirectory

vshadow **-el=ShadowCopyId,**UnusedDriveLetter

-el命令列選項會將掛接的資料夾或磁碟機號指派給持續性陰影複製。 請注意,除非您後續呼叫vshadow-bw來中斷陰影複製集,否則磁片區內容會保持唯讀狀態。

注意

無法在本機公開非持續性陰影複製和 用戶端可存取的陰影複製

 

例如,如果 {edbed95e-7e8d-11d8-9d01-505054503030} 是現有持續性陰影複製的 GUID,而 X: 是未使用的磁碟機號,下列命令會在 X 下公開陰影複製:

vshadow-el={edbed95e-7e8d-11d8-9d01-5050545030},x:

下列範例示範如何在掛接的資料夾 C:\ShadowCopies\June23 下公開相同的陰影複製:

mkdir c:\ShadowCopies\June23

vshadow-el={edbed95e-7e8d-11d8-9d01-5050545030},c:\ShadowCopies\June23

-el命令列選項無法與其他命令列選項結合。

從遠端公開陰影複製

vshadow **-er=ShadowCopyId,**UnusedShareName

vshadow **-er=ShadowCopyIdUnusedShareName,**PathFromRootOnShadow

-er命令列選項會將唯讀共用名稱稱指派給根目錄 (或陰影複製的子目錄) 。 請注意,除非您後續呼叫vshadow-bw來中斷陰影複製集,否則共用內容會保持唯讀狀態。

注意

無法從遠端公開用戶端可存取的陰影複製

 

例如,如果 {edbed95e-7e8d-11d8-9d01-505054503030} 是現有持續性陰影複製的 GUID,而 share_123 是未使用的共用名稱稱,下列命令會在 share_123 下公開陰影複製:

vshadow-er={edbed95e-7e8d-11d8-9d01-5050545030},share_123

下列範例示範如何在相同共用下公開相同陰影複製的子樹 (名為 「Folder1\Folder2」) :

vshadow-er={edbed95e-7e8d-11d8-9d01-505054503030},share_123,Folder1\Folder2

-er命令列選項無法與其他命令列選項結合。

列出寫入器狀態和中繼資料

vshadow-ws

vshadow-wm

vshadow-wm2

vshadow-wm3

-ws命令列選項會列舉目前在電腦上執行的 VSS 寫入器,並描述其狀態。 此命令相當於 Vssadmin list writers 命令。 有六個可能的狀態值:穩定、失敗、未知、等待凍結、凍結和等候完成。

-wm命令列選項會列出寫入器中繼資料的摘要,包括受影響的磁片區。

-wm2命令列選項會列出所有寫入器中繼資料。

-wm3命令列選項會以原始 XML 格式列出所有寫入器中繼資料。

Windows Vista 和 Windows Server 2003: 不支援 -wm3 命令列選項。

您可以使用這項資訊來判斷要包含在磁片區陰影複製集中的磁片區。

注意

如果寫入器狀態為 [穩定] 或 [等候完成],則可以將寫入器視為處於穩定狀態,可供下一次備份使用。

 

-ws-wm-wm2-wm3命令列選項互斥,無法與其他命令列選項結合。

執行還原作業

vshadow [OptionalFlags] -r=File.xml

vshadow [OptionalFlags] -rs=File.xml

-r命令列選項會執行還原作業。

-rs命令列選項會執行模擬還原作業。

File.xml檔案必須是使用-t-bc選擇性旗標所建立陰影複製集的備份元件檔檔案。

-r-rs命令列選項互斥,無法與其他命令列選項結合。

OptionalFlags 是下表中選擇性旗標值的位元遮罩。

選擇性旗標值 Description
**-wi=**Writer
這個選擇性旗標會驗證指定的寫入器或元件是否包含在還原中。 寫入器 可以指定元件路徑、寫入器名稱、寫入器識別碼或寫入器實例識別碼。
**-wx=**Writer
這個選擇性旗標會確認指定的寫入器或元件已從還原中排除。 寫入器 可以指定元件路徑、寫入器名稱、寫入器識別碼或寫入器實例識別碼。
**-exec=**Command
這個選擇性旗標會在傳送至寫入器的預先還原和還原後事件之間執行命令或腳本。 命令 可以指定可執行檔殼層命令或 CMD 檔案。 如果它指定殼層命令,則無法指定任何命令參數。
-跟蹤
這個選擇性旗標會產生可用於疑難排解的詳細資訊輸出。

 

還原為先前的陰影複製

vshadow **-revert=**ShadowCopyId

注意

只有 Windows 伺服器作業系統才支援這個命令列選項。

 

Windows Server 2008 和 Windows Server 2003: 不支援。

-revert命令列選項會將磁片區還原為ShadowCopyId所指定的先前陰影複製。

-revert命令列選項無法與其他命令列選項結合。

重新同步處理 LUN

vshadow **-addresync=**ShadowCopyId **-resync=**BCDFileName [OptionalResyncFlags]

vshadow-addresync=ShadowCopyIdTargetVolumeDriveLetter **-resync=**BCDFileName [OptionalResyncFlags]

-addresync命令列選項會指定要包含在 LUN 重新同步處理作業中的磁片區。 ShadowCopyId參數會指定陰影複製的識別碼。 選擇性 TargetVolumeDriveLetter 參數會指定要複製陰影複製磁片區內容的目的地磁片區。

-resync命令列選項會起始 LUN 重新同步處理作業。 作業完成之後,每個目標 LUN 的簽章應該與目標磁片區 LUN 的簽章相同。 BCDFileName參數會指定包含備份元件檔的 XML 檔案名。

注意

只有 Windows 伺服器作業系統才支援 -addresync-resync 命令列選項。

 

Windows Server 2008 和 Windows Server 2003: 不支援。

OptionalResyncFlags 是下表中選擇性旗標值的位元遮罩。

選擇性旗標值 Description
-revertsig
這個選擇性旗標會指定作業完成之後,每個目標 LUN 的簽章應該與用來建立陰影複製的原始 LUN 簽章相同,而不是目標磁片區 LUN。
注意: 只有 Windows 伺服器作業系統才支援 -revertsig 旗標。
Windows Server 2008 和 Windows Server 2003: 不支援。
-novolcheck
這個選擇性旗標指定 VSS 服務不應該檢查 LUN 重新同步處理作業所覆寫的未選取磁片區。
注意: 只有 Windows 伺服器作業系統才支援 -novolcheck 旗標。
Windows Server 2008 和 Windows Server 2003: 不支援。