获取在SCVMM虚拟机磁盘信息

  

<#
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  

//版权(c) {charbelnemnom.com}。保留所有权利。

  

//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  

。剧情简介
在SCVMM的所有虚拟机列表包括磁盘。

  

。描述
的所有虚拟机列表在虚拟机管理器和枚举所有的驱动器。

  

。指出
文件名称:Get-SCVMVirtualDisk。ps1
作者:Charbel Nemnom
版本:4.0
日期:05 - 2 - 2018
要求:PowerShell Version 3.0或以上
操作系统:Windows Server 2012 R2或2016
产品:系统中心虚拟机管理器2012 R2或2016

  

。链接
提供反馈或进一步的帮助,请访问:https://charbelnemnom.com

  

.EXAMPLE
。/Get-SCVMVirtualDisk -VMMServerName
这个例子将所有虚拟机包括虚拟磁盘从VMM
然后计算每个VM使用的大小和比例/VHD (X)的总磁盘大小VM和通过电子邮件发送报告。

  

.EXAMPLE
。/Get-SCVMVirtualDisk -VMMServerName -HostGroupName
这个例子将所有虚拟机从一个特定的VMM主机组包括虚拟磁盘
然后计算每个VM使用的大小和比例/VHD (X)的总磁盘大小VM和通过电子邮件发送报告。
#>

  

[CmdletBinding ()]
参数(
[参数(强制性=$真的,HelpMessage=VMM服务器名称)]
(别名(VMMServer)]
[String] VMMServerName美元,

  
 <代码>[参数(HelpMessage=' VMM主机组名称'))
  (别名(“GroupName”))
  [String]美元HostGroupName  
  

)   

{试   

连接到VMM服务器

  
 <代码> Write-Verbose“连接到VMM服务器…”
  美元New-CimSession -ComputerName VMMServerName -ErrorAction停止| Out-Null
  }
  Catch {
  编写了错误“无法连接到VMM服务器:$(美元错误[0].Exception.Message)退出”
  退出
  } 
  

变量   

$ filedate=Get-date
$ FromEmail=癡MMReport@domain.net”
$ ToEmail1=癐TAdmin@domain.net”
$ ToEmail2=癐TOperator@domain.net”
$ tableColor=捌教埂?br/> DiskSpaceUsed=零美元

  

到SMTP服务器建立连接

  

smtpServer美元=" smtp.mail.net "
$ smtpCreds=新对象。NetworkCredential(“用户名”,“密码”)
$ smtp=新对象Net.Mail.SmtpClient (smtpServer美元)
smtp美元。UseDefaultCredentials=假
smtp美元。凭证=$ smtpCreds

  

HTML样式定义   

报告美元=" ”——//W3C XHTML 1.0 Strict//EN//DTD " <代码> " http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd "> "
报告美元=" " http://www.w3.org/1999/xhtml "> <身体> "
报告美元=" <时尚> "
$=$报告+”表{边框宽度:2 px;边框样式:固体;边框颜色:# C0C0C0; border-collapse:崩溃;宽度:100%}"
$=$报告+ " TH{边框宽度:2 px;填充:0 px;边框样式:固体;边框颜色:# C0C0C0; text-align:左}"
$=$报告+”TD{边框宽度:2 px;填充:0 px;边框样式:固体;边框颜色:# C0C0C0; text-align:左}"
$=$报告+”TD{边框宽度:2 px;填充:0 px;边框样式:固体;边框颜色:# C0C0C0; text-align:左}"
$=$报告+”H1{字体类型:Calibri;} "
$=$报告+”H2{字体类型:Calibri;} "
$=$报告+”身体{字体类型:Calibri;} "
$=$报告+” "
$报告+=" <中心> Get-SCVMVirtualDisk - ScriptVersion: 4.0 |由:Charbel Nemnom - CDM MVP |反馈:https://charbelnemnom.com

"

  

报告标题

  

$=$报告+”

虚拟机和虚拟硬盘报告;表达={(_.MaximumSize美元/1 GB)}}, @{标签=按排炭占涫褂?GB)”;表达={{0:N2}”- f (_.Size美元/1 GB)}},
@{标签=按排炭占涫褂?%)”;表达={(数学):圆形((($ .Size/1 GB)/($ .MaximumSize/1 GB)) * 100)}},“
@{标签=白杂纱排炭占?GB)”;表达={{0:N2}“- f (($ .MaximumSize/1 GB)——($ .Size/1 GB))}} | ConvertTo-HTML——表片段)
$=$报告+”总磁盘空间用于VM:美元($ SCVM.Name) (GB)是美元({{0:N2}} - f (DiskUsed美元/1 GB)) ”+“

$=$报告+“

}

  

Write-Verbose”计算总磁盘空间用于所有虚拟机……”
$=$报告+”

总磁盘空间用于所有vm (GB)是美元({{0:N2}} - f (DiskSpaceUsed美元/1 GB))
"

  

完成报告   

Write-Verbose“敲定报告”

获取在SCVMM虚拟机磁盘信息