我将一些 PowerShell 拼凑在一起,以远程查询存储在 .csv 文件中的计算机列表以获取注册表值。如果注册表项的值等于“1”,则脚本应使用机器名称作为文本文件的名称创建一个文本文件。
一切都很好。该脚本运行愉快,没有任何错误。问题是,当我返回并远程检查目标注册表值时,我发现该值不是 1。脚本只是为 .csv 中的每一行创建一个文件。
我究竟做错了什么?
编辑*** 我发现了一个问题,我在注册表路径的 $key 变量中有错字。2013 年 7 月 17 日下午 2:21
$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:
}