Validate ESXi root password against multiple passwords

This post was originally published on this site

We have esxi hosts with different root passwords spread across. Need to validate at least 3 passwords on each of the host and log the status as we validate.

Trying something like this but the code could validate only 2 passwords. Also, looking for a better code to validate n (2,3,4 so on.) number of passwords possibly per host.


Appreciate your inputs.


(I understand this is not the secure way to pass the password to variables, i will handle it later though)


Import-Module VMware.VimAutomation.Core


$username = root

$password1 = PASS1

$password2 = PASS2

$password3 = PASS3


$hstlist = Get-Clipboard


$Logfile = “E:ScriptsAuthentication-CheckScriptLog-Host-$Date.log”

    Function LogWrite


                    Param ([string]$logstring)


                    Add-content $Logfile -value $logstring



foreach ($vmhost in $hstlist){


$global:DefaultVIServer = $null

$global:DefaultVIServers = $null


$Conn = Connect-VIServer -Server $vmhost -User $username -Password $password1


if ($Conn) {


LogWrite “Authenticated host $vmhost using password 1”






    Connect-VIServer $vmhost -User $username -Password $password2


    LogWrite “Authenticated host $vmhost using password 2”





Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.