Verificar se o valor do registro é igual a 1 não está funcionando corretamente
Eu juntei pedaços do PowerShell para consultar remotamente uma lista de máquinas, armazenadas em um arquivo .csv, para um valor de registro. Se o valor da chave do registro for igual a '1', o script deverá criar um arquivo de texto usando o nome da máquina como o nome do arquivo de texto.
Tudo funciona muito bem. O script é executado sem erros. O problema é que quando eu voltar e remotamente verificar um valor de registro de destino, acho que o valor não é 1. O script é simplesmente criando um arquivo para cada linha no .csv.
O que estou fazendo de errado?
EDIT *** eu encontreia problema eu tinha um erro de digitação na variável $ key para o caminho do 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:
}