windows-server-2008-r2 – 远程删除卷影副本

前端之家收集整理的这篇文章主要介绍了windows-server-2008-r2 – 远程删除卷影副本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前使用DISKSHADOW从我们的Hyper-V服务器中删除卷影副本.要做到这一点,我必须登录服务器,但psexec不起作用.
psexec \\hyper-v-server diskshadow
DISKSHADOW> Error reading from console. Win32 error: 0x6
The handle is invalid.

我认为vssadmin可以完成上述工作,但我想用PowerShell编写脚本并有选择地删除卷影副本.这些工具都没有在PowerShell中提供可用的输出.

我做了一些研究,但没有找到任何方法来使用PowerShell在本地或远程查询快照.我想这样做会涉及使用Get-WMIObject CMDlet从WMI查询相关信息,但我只能找到Win32_ShadowCopy.Create()方法.

编辑:要清楚,我想要的是我可以使用PowerShell操作的对象.

您可以使用Get-WMIObject cmdlet远程删除卷影副本.下面的示例演示了它如何工作.应该注意的是,在没有任何可用的远程卷影副本的情况下,Get-WMIObject cmdlet返回了一个空对象.这意味着可能仍需要PowerShell远程处理和vssadmin工具的组合来远程创建卷影副本.

在目标服务器上(从提升的命令提示符),让我们首先创建一个卷影副本,使其可用:

vssadmin create shadow /for=c:

从管理服务器:

$shadowCopies = Get-WMIObject -Class Win32_ShadowCopy -Computer <TARGET SERVER NAME>
$shadowCopies | % {$_.DeviceObject}  # Lists out just the names of the copies
$shadowCopies | Get-Member -View All # Lists all members even hidden ones such as "delete"
$shadowCopies[0].Delete()            # Deletes the first shadow copy when more than one exists
$shadowCopies.Delete()               # Works when only a single shadow copy exists

猜你在找的Windows相关文章