Sprawdzanie, czy wartość rejestru jest równa 1, nie działa poprawnie

Połączyłem bity PowerShell w celu zdalnego zapytania o listę maszyn przechowywanych w pliku .csv w celu uzyskania wartości rejestru. Jeśli wartość klucza rejestru jest równa „1”, skrypt powinien następnie utworzyć plik tekstowy, używając nazwy komputera jako nazwy pliku tekstowego.

Wszystko działa świetnie. Skrypt działa szczęśliwie bez żadnych błędów. Problem polega na tym, że kiedy wracam i zdalnie sprawdzam docelową wartość rejestru, uważam, że wartość nie jest 1. Skrypt po prostu tworzy plik dla każdej linii w .csv.

Co ja robię źle?

EDYTUJ *** Znalazłema problem Miałem literówkę w zmiennej kluczowej $ dla ścieżki rejestru. 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:
}

questionAnswers(1)

yourAnswerToTheQuestion