jor*_*anm 17 windows powershell volume-shadow-service
我正在尝试使用Windows 7中的Windows Power Shell创建和访问卷影复制快照.我发现我可以通过以前的超级用户问题使用以下内容创建快照:
(Get-WmiObject -list win32_shadowcopy).create("C:\","ClientAccessible")
Run Code Online (Sandbox Code Playgroud)
我无法找到任何文档,表明可以将卷影副本设置为"Exposed",以便可以使用它映射到驱动器号WMI.在同一问题中链接的文章显示使用联结来访问快照的黑客攻击.
当我尝试访问符号链接时,我得到以下内容:
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
Run Code Online (Sandbox Code Playgroud)
尝试直接访问快照提供以下内容:
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
Run Code Online (Sandbox Code Playgroud)
如何从powershell脚本访问VSS快照?
Ans*_*ers 26
你是如何创建符号链接的?如该文章所述,您必须使用尾部反斜杠指定设备路径:
$s1 = (Get-WmiObject -List Win32_ShadowCopy).Create("C:\", "ClientAccessible")
$s2 = Get-WmiObject Win32_ShadowCopy | Where-Object { $_.ID -eq $s1.ShadowID }
$d = $s2.DeviceObject + "\" # <-- this here
cmd /c mklink /d C:\shadowcopy "$d"
Run Code Online (Sandbox Code Playgroud)
在此之后,我能够访问安装的阴影副本C:\shadowcopy.
要卸载卷影副本调用$s2.Delete(),正如@KeyszerS在注释中指出的那样.
| 归档时间: |
|
| 查看次数: |
23759 次 |
| 最近记录: |