Win32_ShadowCopy 中缺少 Powershell CIM 方法 "Delete"?
Powershell CIM Method "Delete" is missing in Win32_ShadowCopy?
我尝试从 WMI 切换到 CIM,但是缺少一些方法:
WMI 方式 select 下一个最佳 VSS 快照:
$SnapShot = (Get-WmiObject Win32_ShadowCopy)[0]
然后你就有了工作方法:
$SnapShot.Delete()
但是 Get-CimInstance 并没有给我设计的方法。
$SnapShot = (Get-CimInstance Win32_ShadowCopy)[0]
和 Get-CimClass -ClassName Win32_ShadowCopy
仅显示“创建”和“恢复”方法 - “删除”方法在哪里?
通常 if 会像 Invoke-CimMethod -ClassName Win32_ShadowCopy -MethodName "Delete" -Arguments @{ID="$SnapShot.ID"}
。但没有...
我尝试了很多组合来访问甚至看到“删除”方法,但它在哪里?不鼓励使用 WMI,因为当 CIM 可用时它是“旧的”,但对于 CIM,通常会缺少方法或隐藏在不明显的地方,如本例所示。
是的,我可以使用 vssadmin.exe delete shadows /Shadow=$($SnapShot.ID) /Quiet
但这不是干净的方法,只是一个肮脏的解决方法。
可能像 win32_userprofile 一样通过管道传输到 remove-ciminstance。 .delete() 是由 get-wmiobject 组成的方法,它做类似的事情。
get-ciminstance win32_userprofile | ? localpath -match js2010 |remove-ciminstance
我尝试从 WMI 切换到 CIM,但是缺少一些方法: WMI 方式 select 下一个最佳 VSS 快照:
$SnapShot = (Get-WmiObject Win32_ShadowCopy)[0]
然后你就有了工作方法:
$SnapShot.Delete()
但是 Get-CimInstance 并没有给我设计的方法。
$SnapShot = (Get-CimInstance Win32_ShadowCopy)[0]
和 Get-CimClass -ClassName Win32_ShadowCopy
仅显示“创建”和“恢复”方法 - “删除”方法在哪里?
通常 if 会像 Invoke-CimMethod -ClassName Win32_ShadowCopy -MethodName "Delete" -Arguments @{ID="$SnapShot.ID"}
。但没有...
我尝试了很多组合来访问甚至看到“删除”方法,但它在哪里?不鼓励使用 WMI,因为当 CIM 可用时它是“旧的”,但对于 CIM,通常会缺少方法或隐藏在不明显的地方,如本例所示。
是的,我可以使用 vssadmin.exe delete shadows /Shadow=$($SnapShot.ID) /Quiet
但这不是干净的方法,只是一个肮脏的解决方法。
可能像 win32_userprofile 一样通过管道传输到 remove-ciminstance。 .delete() 是由 get-wmiobject 组成的方法,它做类似的事情。
get-ciminstance win32_userprofile | ? localpath -match js2010 |remove-ciminstance