15
我嘗試使用Windows 7中的Windows Power Shell創建和訪問卷影複製快照。我發現可以通過以前的superuser question使用以下內容創建快照:從PowerShell中訪問卷影副本(VSS)快照
(Get-WmiObject -list win32_shadowcopy).create("C:\","ClientAccessible")
我無法找到這表明它可以設置一個卷影副本「暴露」,以便它可以映射到使用WMI
一個驅動器號的任何文件。在同一問題中鏈接的article顯示使用連接來訪問快照的黑客攻擊。
當我嘗試訪問符號鏈接,我得到如下:
PS C:\Windows\system32> ls C:\shadowcopy
Get-ChildItem : The parameter is incorrect.
At line:1 char:3
+ ls <<<< C:\shadowcopy
+ CategoryInfo : ReadError: (C:\shadowcopy:String) [Get-ChildItem], IOException
+ FullyQualifiedErrorId : DirIOError,Microsoft.PowerShell.Commands.GetChildItemCommand
試圖訪問快照直接給出如下:
PS C:\Windows\system32> ls '\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy14'
Get-ChildItem : Paths that begin with \\?\GlobalRoot are internal to the kernel and should not be opened by managed applications.
At line:1 char:3
+ ls <<<< '\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy14'
+ CategoryInfo : NotSpecified: (:) [Get-ChildItem], ArgumentException
+ FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Commands.GetChildItemCommand
我如何從一個訪問VSS快照PowerShell腳本?
尾隨的「\」是我錯過的關鍵部分。 – jordanm
對於未來的讀者,下面是如何刪除卷影副本:''vssadmin delete shadows/Shadow =「」$($ s2.ID.ToLower())「」/ Quiet「| iex'然後'Remove-Item c:\ shadowcopy -Confirm:$ false -Force'。在您使用影子副本工作之後放置這些代碼。 –
工程就像一個魔術。 –