Function Get
-VMToolsMapped
() {
Get
-VMToolsMapped
-VM
MYVMNAME
.EXAMPLE
PS
F:\> Get
-VMToolsMapped
MYVMNAME
.EXAMPLE
PS
F:\>
Get-VM
| Get
-VMToolsMapped
.EXAMPLE
PS
F:\>
Get-Cluster
"CLUSTERNAME"
|
Get-VM
| Get
-VMToolsMapped
.LINK
.NOTES
Created by: Sean Duffy
Date: 08/03/2012
[CmdletBinding()]
param(
[Parameter(Position=0,Mandatory=
$true
,HelpMessage=
"Specify the VM name you would like to query VMware Tools info for."
,
ValueFromPipeline=
$true
,ValueFromPipelineByPropertyName=
$true
)]
[String]
$VM
)
process {
$Report
= @()
New
-VIProperty
-Name
ToolsVersion
-ObjectType
VirtualMachine
-ValueFromExtensionProperty
'config.tools.ToolsVersion'
-Force
$VMInfo
=
Get-VM
$VM
|
Select
Name, ToolsVersion
Switch (
$VMInfo
.ToolsVersion) {
8389 {
$ESXMapping
=
"esx/5.0u1"
}
8384 {
$ESXMapping
=
"esx/5.0"
}
8300 {
$ESXMapping
=
"esx/4.1u2"
}
8295 {
$ESXMapping
=
"esx/4.1u1"
}
8290 {
$ESXMapping
=
"esx/4.1"
}
8289 {
$ESXMapping
=
"esx/4.1"
}
8288 {
$ESXMapping
=
"esx/4.1"
}
8196 {
$ESXMapping
=
"esx/4.0u4 or esx/4.0u3"
}
8195 {
$ESXMapping
=
"esx/4.0u2"
}
8194 {
$ESXMapping
=
"esx/4.0u1"
}
8193 {
$ESXMapping
=
"esx/4.0"
}
7304 {
$ESXMapping
=
"esx/3.5u5"
}
7303 {
$ESXMapping
=
"esx/3.5u4"
}
7302 {
$ESXMapping
=
"esx/3.5u3"
}
default {
$ESXMapping
=
"Unknown"
}
}
$row
=
New-Object
-Type
PSObject
-Property
@{
Name =
$VMInfo
.Name
ToolsVersion =
$VMInfo
.ToolsVersion
ESXMapping =
$ESXMapping
}
$Report
+=
$row
return
$Report
}
}