我目前使用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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。