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 命令會執行下列作業:
- 建立陰影複製集
- 匯入陰影複製集
- 查詢陰影複製屬性
- 刪除陰影複製
- 中斷陰影複製集
- 使用 BreakSnapshotSetEx 方法中斷陰影複製集
- 在本機公開陰影複製
- 從遠端公開陰影複製
- 列出寫入器狀態和元數據
- 執行還原作業
- 還原為先前的陰影複製
- 重新同步處理 LUN
建立陰影複製集
vshadow [OptionalFlags] VolumeList
此命令會建立新的陰影複製集。
VolumeList
是磁碟區名稱的清單。 VShadow 會為清單中的每個磁碟區建立一個陰影複製。 磁碟區名稱可以選擇性地以反斜杠 (\
) 終止。 例如,和 C:\
都是C:
有效的磁碟區名稱。 您也可以指定掛接的資料夾 (例如 C:\DirectoryName
, ) 或磁碟區 GUID 名稱 (例如 , \\?\Volume{bbbbcccc-1111-dddd-2222-eeee3333ffff}
。
OptionalFlags 是下表中選擇性旗標值的位掩碼。
選擇性旗標值 | 描述 |
---|---|
-ad |
這個選擇性旗標會指定差異硬體陰影複製。 這個旗標和 -ap 旗標互斥。 注意: 只有 Windows 伺服器作業系統才支援此旗標。 |
-ap |
這個選擇性旗標會指定 plex 硬體陰影複製。 這個旗標和 -ad 旗標互斥。 注意: 只有 Windows 伺服器作業系統才支援此旗標。 |
-bc=File.xml |
這個選擇性旗標會指定不可傳輸的陰影複製,並將備份元件檔儲存到指定的檔案中。 此檔案可用於後續的還原作業。 這個旗標和 -t 旗標互斥。 注意: 只有 Windows 伺服器作業系統才支援此旗標。 |
-exec=<Command> |
這個選擇性旗標會在陰影複製建立之後,但在 VShadow 工具結束之前,執行命令或腳本。 <Command> 可以指定可執行殼層命令或 CMD 檔案。 如果它指定殼層命令,則無法指定任何命令參數。注意: 基於安全性考慮,並讓實作保持簡單, -exec 選擇性旗標將不會接受要傳遞至命令或腳本的參數。 傳遞至選擇性旗標的 -exec 整個字串會被視為單一 CMD 或 EXE 檔案。 如需此限制的詳細資訊,請參閱 VShadow 原始程式碼。 |
-forcerevert |
這個選擇性旗標指定只有在可以還原所有磁碟簽章時,才應該完成陰影複製作業。 注意: 只有 Windows 伺服器作業系統才支援此旗標。 Windows Server 2003: 不支援。 |
-mask |
這個選擇性旗標指定陰影複製集中斷時,應該從計算機遮罩陰影複製 LUN。 注意: 只有 Windows 伺服器作業系統才支援此旗標。 Windows Server 2003: 不支援。 |
-nar |
這個選擇性旗標會指定陰影複製,而不需要自動復原。 如需此選項的詳細資訊,請參閱 _VSS_VOLUME_SNAPSHOT_ATTRIBUTES] 列舉旗標的檔VSS_VOLSNAP_ATTR_NO_AUTORECOVERY 。 |
-norevert |
這個選擇性旗標指定不應該還原磁碟簽章。 注意: 只有 Windows 伺服器作業系統才支援此旗標。 Windows Server 2003: 不支援。 |
-nw |
這個選擇性旗標會指定陰影複製,而不涉及寫入器。 如需沒有寫入器參與之陰影複製的詳細資訊,請參閱 陰影複製建立詳細數據。 這個旗標和和 -wi -wx 旗標互斥。 |
-p |
這個選擇性旗標會 指定持續性陰影複製。 注意: 只有 Windows 伺服器作業系統才支援此旗標。 |
-rw |
這個選擇性旗標指定陰影複製 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 Edition: 可傳輸的陰影複製。 具有 Service Pack 1(SP1) 的所有 Windows Server 2003 版本都支援可傳輸的陰影複製。 |
-tr |
這個選擇性旗標會指定在陰影複製建立期間應強制執行 TxF 復原。 注意: 只有 Windows 伺服器作業系統才支援此旗標。 |
-tracing |
這個選擇性旗標會產生可用於疑難解答的詳細信息輸出。 |
-wait |
這個選擇性旗標會導致 VShadow 工具在結束之前等待用戶確認。 |
-wi=<Writer> |
這個選擇性旗標會驗證指定的寫入器或元件是否包含在陰影複製中。 <Writer> 可以指定元件路徑、寫入器名稱、寫入器標識碼或寫入器實例識別碼。 這個旗標和 -nw 旗標互斥。 |
-wx=<Writer> |
這個選擇性旗標會確認指定的寫入器或元件已從陰影複製中排除。 <Writer> 可以指定元件路徑、寫入器名稱、寫入器標識碼或寫入器實例識別碼。 這個旗標和 -nw 旗標互斥。 |
匯入陰影複製集
vshadow [OptionalFlags] -i=File.xml
-i
命令列選項會匯入可傳輸的陰影複製集。
注意
只有 Windows 伺服器作業系統才支援這個命令行選項。
檔案File.xml
必須是備份元件檔檔案,才能使用 或 -bc
選擇性旗標建立-t
的可傳輸陰影複製集。
如果已使用選擇性旗標建立陰影複製集,陰影複製集就是持續性陰影-p
複製。 如果可傳輸的陰影複製集不是持續執行,則陰影複製建立命令執行時會出現短暫的時間,並在命令傳回時自動刪除。 您只能在陰影複製建立期間匯入非持續陰影複製,方法是使用 -exec
選擇性旗標建立陰影複製集來執行呼叫 VShadow -i
的 CMD 檔案。
-i
命令行選項無法與其他命令行選項結合。
OptionalFlags
是下表中選擇性旗標值的位掩碼。
選擇性旗標值 | 描述 |
---|---|
-exec=<Command> |
這個選擇性旗標會在陰影複製匯入之後,但在 VShadow 工具結束之前執行命令或腳本。 <Command> 可以指定可執行殼層命令或 CMD 檔案。 如果它指定殼層命令,則無法指定任何命令參數。 |
-tracing |
這個選擇性旗標會產生可用於疑難解答的詳細信息輸出。 |
-wait |
這個選擇性旗標會導致 VShadow 工具在結束之前等待用戶確認。 |
查詢陰影複製屬性
vshadow -q
vshadow -qx=<ShadowCopySetId>
vshadow -s=<ShadowCopyId>
-q
命令列選項會列出電腦上所有陰影複製的屬性。
-qx
命令行選項會列出陰影複製集中所有陰影複製的屬性,其標識碼是由 指定<ShadowCopySetId>
。
-s
命令列選項會列出陰影複製的屬性,其標識碼是由 指定<ShadowCopyId>
。
這些命令行選項會使用 IVssBackupComponents::Query 和 IVssBackupComponents::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>
命令列選項會將陰影複製集中的每個陰影複製轉換成獨立的可寫入磁碟區。
注意
-b
和 -bw
命令行選項僅支援 Windows 伺服器作業系統。
如需中斷陰影複製集的相關信息,請參閱 中斷陰影複製。
陰影複製集中斷之後,陰影複製集和個別陰影複製已不存在,而且無法使用 VSS 命令進行管理。
如果陰影複製集是以選擇性旗標建立,則陰影複製集是持續性的 -p
。 如果可傳輸的陰影複製集不是持續執行,則陰影複製建立命令執行時會出現短暫的時間,並在命令傳回時自動刪除。 您只能在陰影複製建立期間中斷非持續陰影複製集,方法是使用 -exec
選擇性旗標建立陰影複製集來執行呼叫 vshadow -b
或 vshadow -bw
的 CMD 檔案。
-b
和 -bw
命令行選項互斥,無法與其他命令行選項結合。
使用 BreakSnapshotSetEx 方法中斷陰影複製集
vshadow -bex
命令列選項會 -bex
根據選擇性 -mask
、 -rw
、 -forcerevert
和 -norevert
旗標所指定的選項,中斷陰影複製集。 這個命令行選項類似於 -b
和 -bw
命令行選項。 -bex
命令行選項使用 IVssBackupComponentsEx2::BreakSnapshotSetEx 方法,而 -b
和 -bw
命令行選項則使用 IVssBackupComponents::BreakSnapshotSet 方法。
如需中斷陰影複製集的相關信息,請參閱 中斷陰影複製。
注意
-bex
命令行選項僅在 Windows 伺服器作業系統上受到支援。
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
來中斷陰影複製集,否則磁碟區內容會維持只讀狀態。
注意
無法在本機公開非長期陰影複製和 用戶端可存取的陰影複製 。
例如,如果 {bbbbcccc-1111-dddd-2222-eeee3333ffff}
是現有持續性陰影複製的 GUID,而且 X:
是未使用的驅動器號,下列命令會公開 底下的 X:
陰影複製:
vshadow -el={bbbbcccc-1111-dddd-2222-eeee3333ffff},x:
下列範例示範如何在掛接的資料夾 C:\ShadowCopies\June23
下公開相同的陰影複製:
mkdir c:\ShadowCopies\June23
vshadow -el={bbbbcccc-1111-dddd-2222-eeee3333ffff},c:\ShadowCopies\June23
-el
命令行選項無法與其他命令行選項結合。
從遠端公開陰影複製
vshadow -er=<ShadowCopyId>,<UnusedShareName>
vshadow -er=<ShadowCopyId>,<UnusedShareName>,<PathFromRootOnShadow>
-er
命令列選項會從陰影複製將只讀共用名稱指派給根目錄(或子目錄)。 請注意,除非您後續呼叫 vshadow -bw
來中斷陰影複製集,否則共用內容會維持唯讀狀態。
注意
用戶端可存取的 陰影複製無法從遠端公開。
例如,如果 {bbbbcccc-1111-dddd-2222-eeee3333ffff}
是現有持續性陰影複製的 GUID,而且 share_123
是未使用的共用名稱,下列命令會在 底下 share_123
公開陰影複製:
vshadow -er={bbbbcccc-1111-dddd-2222-eeee3333ffff},share_123
下列範例示範如何在相同共用下只公開相同陰影複製的子樹(具名 Folder1\Folder2
) :
vshadow -er={bbbbcccc-1111-dddd-2222-eeee3333ffff},share_123,Folder1\Folder2
-er
命令行選項無法與其他命令行選項結合。
列出寫入器狀態和元數據
vshadow -ws
vshadow -wm
vshadow -wm2
vshadow -wm3
-ws
命令列選項會列舉目前在電腦上執行的 VSS 寫入器,並描述其狀態。 此命令相當於 Vssadmin 清單寫入器 命令。 有六個可能的狀態值:Stable
、、、Failed
Unknown
、Waiting for freeze
、 Frozen
和 Waiting for completion
。
-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
必須是使用 或 -bc
選擇性旗標所建立-t
陰影複製集的備份元件檔檔案。
-r
和 -rs
命令行選項互斥,無法與其他命令行選項結合。
OptionalFlags
是下表中選擇性旗標值的位掩碼。
選擇性旗標值 | 描述 |
---|---|
-wi=<Writer> |
這個選擇性旗標會驗證指定的寫入器或元件是否包含在還原中。 <Writer> 可以指定元件路徑、寫入器名稱、寫入器標識碼或寫入器實例識別碼。 |
-wx=<Writer> |
這個選擇性旗標會驗證指定的寫入器或元件是否已從還原中排除。 <Writer> 可以指定元件路徑、寫入器名稱、寫入器標識碼或寫入器實例識別碼。 |
-exec=<Command> |
這個選擇性旗標會在傳送至寫入器之預先還原和還原後事件之間執行命令或腳本。 <Command> 可以指定可執行殼層命令或 CMD 檔案。 如果它指定殼層命令,則無法指定任何命令參數。 |
-tracing |
這個選擇性旗標會產生可用於疑難解答的詳細信息輸出。 |
還原為先前的陰影複製
vshadow -revert=<ShadowCopyId>
注意
只有 Windows 伺服器作業系統才支援這個命令行選項。
Windows Server 2008 和 Windows Server 2003: 不支援。
命令行選項會將 -revert
磁碟區還原為先前的陰影複製,其標識碼是由 指定 <ShadowCopyId>
。
-revert
命令行選項無法與其他命令行選項結合。
重新同步處理 LUN
vshadow** -addresync=<ShadowCopyId> -resync=<BCDFileName> [OptionalResyncFlags]
vshadow -addresync=<ShadowCopyId>, <TargetVolumeDriveLetter> -resync=<BCDFileName> [OptionalResyncFlags]
-addresync
命令列選項會指定要包含在 LUN 重新同步處理作業中的磁碟區。 參數 <ShadowCopyId>
會指定陰影複製的標識碼。 選擇性 <TargetVolumeDriveLetter>
參數會指定要複製陰影複製磁碟區內容的目的地磁碟區。
-resync
命令行選項會起始 LUN 重新同步處理作業。 作業完成之後,每個目標 LUN 的簽章應該與目標磁碟區 LUN 的簽章相同。 參數 <BCDFileName>
會指定包含備份元件檔的 XML 檔名。
注意
-addresync
和 -resync
命令行選項僅支援 Windows 伺服器作業系統。
Windows Server 2008 和 Windows Server 2003: 不支援。
OptionalResyncFlags
是下表中選擇性旗標值的位掩碼。
選擇性旗標值 | 描述 |
---|---|
-revertsig |
這個選擇性旗標會指定作業完成之後,每個目標 LUN 的簽章應該與用來建立陰影複製的原始 LUN 相同,而不是目標磁碟區 LUN。 注意: -revertsig 只有在 Windows 伺服器作業系統上才支援 旗標。Windows Server 2008 和 Windows Server 2003: 不支援。 |
-novolcheck |
這個選擇性旗標指定 VSS 服務不應該檢查 LUN 重新同步處理作業所覆寫的未選取磁碟區。 注意: -novolcheck 只有在 Windows 伺服器作業系統上才支援 旗標。Windows Server 2008 和 Windows Server 2003: 不支援。 |