实用 —— PowerCLI (二)
一、PowerCLI基础命令
二、PowerCLI之快照
三、PowerCLI之ESXi
首先我们来介绍快照的一些基础命令
1、
# PowerCLI makes it easy to deal with snapshots. # Powercli使得更容易处理快照,通过该命令,可以查看到所有虚拟机的快照、描述以及状态,但看不出哪个快照属于哪个虚拟机,所以快照和描述可以写得详细些。 Get-VM | Get-Snapshot
2、
# One of the most important attributes is the age of the snapshot. #这个命令就是对无法显示虚拟机和快照对应关系进行了调用, #可以看出快照属于哪个虚拟机,在什么时间创建的,非常方便用于Troubleshooting Get-VM | Get-Snapshot | Select Name, VM, Created
3、
# You can create snapshots in a very targeted way, because we rely on Get-VM #查看群集或者主机上的虚拟机,方便接下来的快照创建 Get-Cluster "Cluster 01" | Get-VM Get-VMHost 10.132.97.x | Get-VM
4、
# Snapshot every VM on host 10.132.97.X #为ESXi主机10.132.X.X上每一台虚拟机创建一个快照,批量创建快照功能 Get-VMHost 10.132.97.19 | Get-VM | New-Snapshot -Name "Snap1"
5、
You can search for snapshots based on their age. # Identify any snapshot older than a day. #筛选出某个日期之前的快照 Get-Snapshot | Where { $_.Created -lt (Get-Date).addDays(-1) } 提示命令错误
help get-snapshot
#通过命令提示,发现get-snapshot后面缺参数来显示所有的VM虚拟机, #那么刚刚的第一条命令就可以起到作用,显示主机上虚拟机的全部快照, #然后设置addDays参数为-1.这样刚刚做的snap的快照就不会显示在清单 get-vm | get-snapshot | Where { $_.Created -lt (Get-Date).addDays(-1) }
#衍生下,针对单个虚拟机查看此刻之前存在的快照 Get-Snapshot AD-25 | Where { $_.Created -lt (Get-Date).addDays(-0) }
#那么,批量创建了10多个快照,怎么批量删除刚刚创建的测试快照? addDays(+1)是不行的,个人也没有找到命令,不过换个思路, 我们可以通过快照名称来进行删除 get-vm | get-snapshot -name "Snap1" | remove-snapshot –confirm Y 删除前
#删除中,13个虚拟机,命令运行了13分钟后,去vsphere client界面, #才看到任务都完成,删除的时候有些长
删除后
6、
# Remove *ALL* snapshots. #移除所有快照,命令就不尝试了,有些测试快照还有用,大家可以试下。。后果自负。。 Get-Snapshot | Remove-Snapshot
大家有兴趣可以跟下一篇,ESXi