Как реализовать проверку смены пароля в Powershell? - PullRequest
1 голос
/ 20 марта 2010

Я создал набор виртуальных машин (Windows Server) с определенным паролем администратора; эти виртуальные машины были назначены пользователям и могут использоваться. Я хочу знать, изменил ли пользователь пароль администратора, и сделать проверку, чтобы пользователь не заметил. Каковы хорошие решения в powershell?

1 Ответ

2 голосов
/ 22 марта 2010

Вы можете создать PSCredential, а затем попытаться получить WmiObject с хоста. Что-то вроде:

$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."
  }

}
...