[转]Windows Server 2012 RC 之 Hyper-V 3.0 PowerShell 命令详解 (01)

时间:2021-06-23 15:32:42

源地址:http://www.powershellfans.com/?p=1212

=================================================================

大家好,今天我们就来详细看看Windows Server 2012 RC中Hyper-V 3.0提供了哪些PowerShell命令来方便我们进行管理。上篇文章有朋友批评我官味太重,那我们这次就回归技术,不过我还是提醒大家有些事情还是请 大家考虑下,不要真到那一天后再来后悔。

在详细介绍具体命令之前,提醒大家一下。在Windows PowerShell 3.0中增加了Update-Help命令,各位可以随时执行该命令获得最新的帮助信息。目前Windows部门下的各个产品组都在对帮助文档进行更新。 当然有部门模块的帮助还没有就位,还请各位耐心等待。

[转]Windows Server 2012 RC 之 Hyper-V 3.0 PowerShell 命令详解 (01)

然后还是老规矩,查下Hyper-V 3.0的PowerShell命令有多少,(Get-Command -Module Hyper-V).Count一下就可以搞定,最后得到数量是164。好吧,人不疯狂枉少年不是,难道我要把这些命令都记下来?当然不是,我还是那句话, 一点要知道你准备操作的对象是什么,对应的英文单词是什么,剩下的交给PowerShell的Tab键补完。如果你真的能背下来呢,我觉得你很伟大,但真 的是没必要。

[转]Windows Server 2012 RC 之 Hyper-V 3.0 PowerShell 命令详解 (01)

今天要和大家看的就是Hyper-V中的核心对象,虚拟机(VM)。接下来就让我看看具体有哪些动词和VM搭配。名词很多,有些大家很熟悉,比如 New,Get,Remove;有些很好理解,别如Checkpoint,Import,Export;有些则第一眼看上去有点迷茫,比如 Compare,Measure。没关系。这正是我要去解答,无论各位是否接触过Hyper-V 2.0,本系列文章还是会做一个全景式覆盖。同时这里正好提一点,有些我认为简单的命令就不在单独用文字列出了,我还是希望大家多敲敲键盘,培养下和 PowerShell的感情。

[转]Windows Server 2012 RC 之 Hyper-V 3.0 PowerShell 命令详解 (01)

首当其冲的是Checkpoint-VM,命令本身很好理解,就是给虚拟机做快照。该命令的语法如下:

SYNTAX
    Checkpoint-VM [-Name] <String[]> [[-SnapshotName] <String>] [-AsJob [<SwitchParameter>]] [-ComputerName
    <String[]>] [-Passthru [<SwitchParameter>]] [<CommonParameters>]

    Checkpoint-VM [-VM] <VirtualMachine[]> [[-SnapshotName] <String>] [-AsJob [<SwitchParameter>]] [-Passthru
    [<SwitchParameter>]] [<CommonParameters>]

根据语法,我们可以同时输入多台虚拟机的名称,然后对这些虚拟机创建快照。同时又可以使用Get-VM将得到的虚拟机对象通过管道传递给Checkpoint-VM来创建快照,这里的截图展示的是第二个例子。

[转]Windows Server 2012 RC 之 Hyper-V 3.0 PowerShell 命令详解 (01)

好了,快照很快就创建完成了,但是怎么样删除快照呢?各位包括我都没在之前的列表中看到类似Remove-Checkpoint的命令啊。那是因为 快照的对应的名词是Snapshot,而在Module中对应的名词有VM前缀,因此要管理虚拟机快照的,我们需要使用Export- VMSnapshot,Get-VMSnapshot,Remove-VMSnapshot,Rename-VMSnapshot和Restore- VMSnapshot。至于为什么不用New-VMSnapshot,我也不太清楚,所以上connect.microsoft.com问了下,目前等待 答案中。

这五个cmdlets中最容易理解的就是Restore-VMSnapshot,也就是所谓的快照回滚,在Hyper-V 2.0中经常被推荐在测试环境中使用。而Get-VMSnapshot也很容易理解,得到快照对象,想必有支持输入计算机名的参数,当然也可以用Get- VM将得到的虚拟机对象传递给Get-VMSnapshot,然后再传递给Rename-VMSnapshot或者Remove-VMSnapshot。

[转]Windows Server 2012 RC 之 Hyper-V 3.0 PowerShell 命令详解 (01)

最后来说说,Export-VMSnapshot,很简单就是导出快照。

[转]Windows Server 2012 RC 之 Hyper-V 3.0 PowerShell 命令详解 (01)

今天的内容就到此结束了,可能有点意识流,想到什么就说什么,一下子从名词VM跳到VMSnapshot。但是和大家分享下我自己的观点,如果你对一件事产生疑问,那么在最短时间内搞懂它,对这件事的记忆就越深刻。