2010-03-20 6 views
1

J'ai créé un ensemble de machines virtuelles (Windows Server) avec un mot de passe administrateur spécifique; ces machines virtuelles ont été attribuées à des utilisateurs et peuvent être utilisées. Je veux savoir si l'utilisateur a changé le mot de passe d'administrateur, et faire la vérification afin que l'utilisateur ne remarque pas. Quelles sont les bonnes solutions dans PowerShell?Comment implémenter une vérification de changement de mot de passe dans Powershell?

Répondre

2

Vous pouvez créer un PSCredential, puis tenter d'obtenir un WmiObject à partir de l'hôte. Quelque chose comme:

$computerNames = "host1", "host2" 
$pw = ConvertTo-SecureString "adminpw" -AsPlainText -Force 

foreach($computerName in $computerNames) 
{ 
    $cred = New-Object System.Management.Automation.PSCredential("$computerName\Administrator", $pw) 

    try 
    { 
    Get-WmiObject win32_bios -ComputerName $computerName -Credential $cred 
    Write-Host "$computerName = Password not changed." 
    } 
    catch [System.UnauthorizedAccessException] 
    { 
    Write-Host "$computerName = Password changed." 
    } 

}