博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PowerShell 删除指定的Shadow Copy
阅读量:5941 次
发布时间:2019-06-19

本文共 999 字,大约阅读时间需要 3 分钟。

昨天在powershell.org的论坛看见有人问如何删除ShadowCopy。这个网友的要求是,凡事老于今天的快照,如果一天有很多份备份,只保留最后的一份。

豆子写了个脚本实现这个功能。自己觉得有点啰嗦,但是因为没有找到对应的comlet删除指定ID的快照,只有通过wmi找到所有的快照过滤之后在用其对象本身的函数删除自己。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$delsnap
=@()
Get-WmiObject 
-ComputerName sydittest -Class win32_shadowcopy | 
select deviceobject,ID,@{n=
'datetime'
;e={
[management.managementDateTimeConverter]
::ToDateTime(
$_
.installdate)}},@{n=
'dayofyear'
;e={
[management.managementDateTimeConverter]
::ToDateTime(
$_
.installdate).dayofyear}} | 
group dayofyear | 
Where-Object
{
$_
.dayofyear 
-lt 
(
get-date
).DayOfYear} |
foreach 
{
if 
(
$_
.count 
-gt 
1){
$max
=
$_
.count-1
for
(
$i
=0;
$i 
-lt 
$max
;
$i
++ ){
$temp
=
[pscustomobject]
@{id=
$_
.group[
$i
].id}
$delsnap
+=
$temp
}
}
}
$delsnap 
foreach
{
$id
=
$_
.id.ToString()
Get-WmiObject 
-ComputerName sydittest -Class win32_shadowcopy | 
foreach 
{
if
(
$_
.id 
-eq 
$id
){
$_
.delete() 
}
}
}
本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1744503,如需转载请自行联系原作者
你可能感兴趣的文章
手机端上传图片及java后台接收和ajaxForm提交
查看>>
【MSDN 目录】C#编程指南、C#教程、ASP.NET参考、ASP.NET 4、.NET Framework类库
查看>>
jquery 怎么触发select的change事件
查看>>
angularjs指令(二)
查看>>
(原創) 如何建立一个thread? (OS) (Linux) (C/C++) (C)
查看>>
<气场>读书笔记
查看>>
领域驱动设计,构建简单的新闻系统,20分钟够吗?
查看>>
web安全问题分析与防御总结
查看>>
React 组件通信之 React context
查看>>
ZooKeeper 可视化监控 zkui
查看>>
Linux下通过配置Crontab实现进程守护
查看>>
ios 打包上传Appstore 时报的错误 90101 90149
查看>>
Oracle推出轻量级Java微服务框架Helidon
查看>>
密码概述
查看>>
autoconf,automake,libtool
查看>>
jQuery的技巧01
查看>>
基于泛型实现的ibatis通用分页查询
查看>>
gopacket 使用
查看>>
AlertDialog对话框
查看>>
我的友情链接
查看>>