Die Überprüfung, ob der Registrierungswert gleich 1 ist, funktioniert nicht ordnungsgemäß

Ich habe Teile von PowerShell zusammengefügt, um eine Liste von Computern, die in einer CSV-Datei gespeichert sind, nach einem Registrierungswert abzufragen. Wenn der Wert des Registrierungsschlüssels gleich '1' ist, sollte das Skript eine Textdatei erstellen, wobei der Name des Computers als Name der Textdatei verwendet wird.

Alles funktioniert super. Das Skript läuft problemlos und fehlerfrei. Das Problem besteht darin, dass ich beim Zurückgehen und Überprüfen eines Registrierungswerts im Remote-Zugriff feststelle, dass der Wert nicht 1 ist. Das Skript erstellt einfach eine Datei für jede Zeile in der CSV-Datei.

Was mache ich falsch?

EDIT *** habe ich gefundena Problem Ich hatte einen Tippfehler in der $ key-Variablen für den Registrierungspfad. 17.07.2013 2: 21p

$File = Import-Csv 'c:\temp\machines.csv'

foreach ($line in $file)
{
  $machinename = $line.machinename
  trap [Exception] {continue}
  $reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey("LocalMachine",$MachineName)
  $key = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\WinLogon"
  $regkey = ""
  $regkey = $reg.opensubkey($key)
  $keyValue = ""
  $keyValue = $regKey.GetValue('AutoAdminLogon')

  if ($keyValue = "1")
  {
    try
    {
      $textFile = New-Item -Path "c:\temp\autologin" -Name $MachineName -ItemType "File"
    }
    catch
    {
      $msg = $_
      $msg
    }
  }
  $Results = $MachineName , $keyValue
  Write-host $Results

  #Output Below Here:
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage