zoukankan      html  css  js  c++  java
  • [转]Windows Server 2012 RC 之 HyperV 3.0 PowerShell 命令详解 (03)

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

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

    今天我们继续来过一下和VM有关的命令。根据第一篇文章给出的名词是VM的命令列表,接下来就轮到这些命令中的老大哥Get-VM登场了。

    Get-VM用起来很简单,虽然有三个参数集,但实际上常用的参数集应该只有一个,也就是使用虚拟机名来获得虚拟机对象的那个参数集。同时如果需要在多台Hyper-V主机上获得对象,我们还需指定ComputerName参数。具体命令执行效果如下:

    image

    在刚才这个例子中,我在testserver和cnshhypervsvr02这两台机器上各有一台名为08R2-CNSHTSTSVR01的虚拟 机,因此呈现了截图中的效果。那么假设我Name参数中指定了两台Hyper-V主机中各一台虚拟机名称时会发生什么情况呢?我们试试就知道了:

    image

    嗯,会报错。好了,接下来我再意识流一把,怎么样来确定一台虚拟机是否在一台Hyper-V主机上存在呢,也就是自定义所谓的Test-VM命令,默认模块中是没有这个命令的。我们可以自己编写这个函数,代码如下:

    Function Test-VM
    {
    [cmdletbinding()]
    Param
    (
    [Parameter(Mandatory=$true,Position=1)]
    [string[]]$Name,
    [Parameter(Mandatory=$true,Position=2)]
    [string[]]$ComputerName
    )
    Process
    {
    $results = @()
    foreach ($cName in $ComputerName) {
    foreach ($vName in $Name) {
    $result = New-Object System.Management.Automation.PSObject
    Try
    {
    $vm = Get-VM -ComputerName $cName -Name $vName -ErrorAction Stop
    if ($vm -ne $null) {
    $Existence = $true
    } else {
    $Existence = $false
    }
    }
    Catch
    {
    #Display an error message
    }
    $result | Add-Member -NotePropertyName ComputerName -NotePropertyValue $cName
    $result | Add-Member -NotePropertyName Name -NotePropertyValue $vName
    $result | Add-Member -NotePropertyName Existence -NotePropertyValue $Existence
    $results += $result
    }
    }
    return $results
    }

    结果也不赖:

    image

    接下来我们要看的是Measure-VM这个命令。该命令的作用是产生虚拟机的处理器,内存,网络以及存储方面的使用率报表。在使用这个命令之前, 必须运行Enable-VMResourceMetering命令启用虚拟机的资源使用记录。这里还需要注意点,默认情况下,Enable- VMResourceMetering需要用户输入虚拟机名,来针对一台或者多台虚拟机启用资源使用记录。大家觉得敲名字烦的话,可以使用Get-VM找 到想要设置的虚拟机,然后通过管道传递给Enable-VMResourceMetering即可,命令很简单,Get-VM -Name 08R2-CNSHA* | Enable-VMResourceMetering。完成之后就可以运行Measure-VMResourceMetering来看下报告。

    image

    结果还是不错的,这里有个参数需要大家注意,MeteringDuration,也就是所谓的使用记录时间。因为资源使用的评估需要一定时间,大家 可以根据这个值来判断使用记录是否可以作为资源使用基线。如果需要重置的话,则需要运行Reset-VMResourceMetering,而如果因为种 种原因需要禁用资源使用记录的话则可以运行Disable-VMResourceMetering,还是可以通过管道进行批量禁用。

    image

    本次的介绍就到此结束了,主要过了下Get-VM以及名词部分是VMResourceMetering的命令,接下来还用更多精彩的内容,敬请期待。

    (更新完成)

  • 相关阅读:
    670. Maximum Swap
    653. Two Sum IV
    639. Decode Ways II
    636. Exclusive Time of Functions
    621. Task Scheduler
    572. Subtree of Another Tree
    554. Brick Wall
    543. Diameter of Binary Tree
    535. Encode and Decode TinyURL
    博客园自定义背景图片
  • 原文地址:https://www.cnblogs.com/licheng/p/2931601.html
Copyright © 2011-2022 走看看