PowerShell: compruebe si el controlador VMware vShield está instalado y ejecutándose
El controlador VMware vShield es un controlador del sistema llamado vsepflt.
Es fácil verificar el estado de este controlador ejecutando msinfo32.exe y navegando a "Controladores del sistema de entorno de software".
Sin embargo, esto puede resultar un poco engorroso en un entorno con más de una máquina virtual. Por eso recomiendo usar PowerShell en su lugar.
La categoría Controladores del sistema que muestra msinfo32 no es más que Win32_SystemDriver de clase WMI, por lo que escribí una función breve que se puede usar para inventariar el estado del controlador VMware vShield. Toma un parámetro, -ComputerName y devuelve un PSCustomObject que contiene el nombre del servidor inventariado y las propiedades básicas del controlador.
Aquí hay un ejemplo:
Podemos ver fácilmente que Server01 no tiene el controlador VShield instalado, Server02 está fuera de línea (o al menos no responde) y Server03 y Server04 funcionan bien.
La función incluye la siguiente consulta en una función avanzada de PowerShell:
Get-WmiObject -Class Win32_SystemDriver -Filter “nombre=‘vsepflt’ ” -ComputerName $Computer -ErrorAction Stop
function Get-SWVShieldStatus
{
[Cmdletbinding()]
Param(
[Parameter(Mandatory,ValueFromPipeline)]
[String[]]
$ComputerName
)
Process
{
Foreach($Computer in $ComputerName)
{
Try
{
$VShieldDriver = Get-WmiObject -Class Win32_SystemDriver -Filter "name='vsepflt'" -ComputerName $Computer -ErrorAction Stop
Write-Verbose -Message "Successfully connected to $Computer"
[PSCustomObject]@{
ComputerName = $Computer
DisplayName = $VShieldDriver.DisplayName
Name = $VShieldDriver.Name
State = $VShieldDriver.State
Status = $VShieldDriver.Status
Started = $VShieldDriver.Started
}
}
Catch
{
Write-Verbose -Message "Failed to inventory $Computer"
Write-Error -Exception $_.Exception -Message "Failed to inventory $Computer" -Category ConnectionError
Continue
}
}
}
}