param( [string] $esxhost,$action) if (!$esxhost){Write-Host -ForegroundColor Red "no host input";break} $passwds = "vmware","qwerty","password","" #Password list ("" is *blank*) $vmk_mods = "qla2300_707_vmw","qla2xxx" #module name $qdvalue = "ql2xmaxqdepth=64" #VMhostModule option value foreach ($passwd in $passwds) { $conex = Connect-VIServer -Server $esxhost -User root -Password $passwd -ErrorAction SilentlyContinue -WarningAction 0 if ($conex.IsConnected -eq "True") {break} } if (!$conex.IsConnected -eq "True") { Write-Host $esxhost -NoNewline Write-Host " " -NoNewline Write-Host -ForegroundColor Red "Bad Password !" } else { Write-Host $conex.Name -NoNewline Write-Host " " -NoNewline foreach ($vmk_mod in $vmk_mods ) { $vmk_mod_ok = Get-VMhostModule -name $vmk_mod -ErrorAction SilentlyContinue if ($vmk_mod_ok.name) {break} } Write-Host $vmk_mod_ok.name -BackgroundColor green -ForegroundColor Black -NoNewline Write-Host " " -NoNewline if (!$vmk_mod_ok.Options) { if ($action -eq "set") { $vmk_mod_set = $vmk_mod_ok|set-VMhostModule -Options $qdvalue -ErrorAction SilentlyContinue $vmk_mod_ok = Get-VMhostModule -name $vmk_mod -ErrorAction SilentlyContinue if ($vmk_mod_set.Options -eq $vmk_mod_ok.Options) {Write-Host $vmk_mod_set.Options " set" -BackgroundColor yellow -ForegroundColor Red} } else {Write-Host $qdvalue " NOT SET" -BackgroundColor yellow -ForegroundColor black} } elseif ($action -eq "unset") { $vmk_mod_set = $vmk_mod_ok|set-VMhostModule -Options "" -ErrorAction SilentlyContinue $vmk_mod_ok = Get-VMhostModule -name $vmk_mod -ErrorAction SilentlyContinue if ($vmk_mod_set.Options -eq $vmk_mod_ok.Options) {Write-Host $vmk_mod_set " UNSET" -BackgroundColor yellow -ForegroundColor Red} } else {Write-Host $vmk_mod_ok.Options -BackgroundColor yellow -ForegroundColor black} Disconnect-VIServer -Server $esxhost -Confirm:$false}