PowerShell: VMware vShield sürücüsünün kurulu ve çalışır durumda olup olmadığını kontrol edin
VMware vShield sürücüsü vsepflt adlı bir sistem sürücüsüdür.
Msinfo32.exe dosyasını çalıştırıp “Yazılım Ortam Sistemi Sürücüleri”ne giderek bu sürücünün durumunu kontrol etmek kolaydır.
Ancak birden fazla sanal makinenin bulunduğu ortamlarda bu biraz zahmetli olabilir. Bu yüzden bunun yerine PowerShell kullanmanızı öneririm.
Msinfo32 tarafından görüntülenen Sistem Sürücüleri kategorisi, WMI sınıfı Win32_SystemDriver'dan başka bir şey değildir, bu nedenle VMware vShield sürücüsünün durumunu envanterlemek için kullanılabilecek kısa bir işlev yazdım. -ComputerName parametresini alır ve envantere kaydedilen sunucunun adını ve sürücünün temel özelliklerini içeren bir PSCustomObject döndürür.
İşte bir örnek:
Server01'de VShield sürücüsünün kurulu olmadığını, Server02'nin çevrimdışı olduğunu (veya en azından yanıt vermediğini) ve Server03 ile Server04'ün düzgün çalıştığını kolaylıkla görebiliriz.
İşlev, aşağıdaki sorguyu bir PowerShell gelişmiş işlevinde sarar:
Get-WmiObject -Class Win32_SystemDriver -Filter “name=‘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
}
}
}
}