Comprobar si el valor del registro es igual a 1 no funciona correctamente
He reunido fragmentos de PowerShell para consultar de forma remota una lista de máquinas, almacenadas en un archivo .csv, para obtener un valor de registro. Si el valor de la clave de registro es igual a '1', la secuencia de comandos debe crear un archivo de texto con el nombre de la máquina como el nombre del archivo de texto.
Todo funciona muy bien. El script se ejecuta felizmente sin ningún error. El problema es que cuando vuelvo y verifico de forma remota un valor de registro específico, encuentro que el valor no es 1. El script simplemente está creando un archivo para cada línea en el .csv.
¿Qué estoy haciendo mal?
EDITAR *** He encontradoa problema Tuve un error tipográfico en la variable $ clave para la ruta del registro. 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:
}