Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 远程注册表项检查器_Powershell - Fatal编程技术网

Powershell 远程注册表项检查器

Powershell 远程注册表项检查器,powershell,Powershell,我试图创建一个脚本,从文件中输入计算机名,并检查注册表项是否存在。脚本从第二行出错,似乎没有从变量中添加计算机名。如果手动输入计算机名,脚本工作正常。以下是错误: Exception calling "OpenRemoteBaseKey" with "2" argument(s): "The network path was not found. At line:3 char:1 + $Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey(

我试图创建一个脚本,从文件中输入计算机名,并检查注册表项是否存在。脚本从第二行出错,似乎没有从变量中添加计算机名。如果手动输入计算机名,脚本工作正常。以下是错误:

Exception calling "OpenRemoteBaseKey" with "2" argument(s): "The network path was not found. At line:3 char:1 + $Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine',$lap)
另一个问题是密钥不存在,脚本显示错误,但它仍然回显机器有密钥。

OpenRemoteBaseKey()
调用中,
$lap
后面有一个虚假的尾随双引号。去掉那个。此外,注册表查找代码属于
foreach
循环的主体。循环变量
$lap
未在外部定义

更改此项:

$Reg=[Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine',$lap')
$RegKey=$Reg.OpenSubKey(“软件\状态\”)
$NetbackupVersion=$RegKey.GetValue(“已激活”)
foreach($lap in$laptop){
...
}
为此:

foreach($lap in$laptop){
$Reg=[Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine',$lap)
$RegKey=$Reg.OpenSubKey(“软件\状态\”)
$NetbackupVersion=$RegKey.GetValue(“已激活”)
...
}

请允许我向新来者提供标准建议:如果答案解决了您的问题,请单击大复选标记接受它(✓) 在它旁边,也可以选择向上投票(向上投票要求至少15个信誉点)。如果您发现其他答案有帮助,请向上投票。接受(您将获得2个信誉点)和向上投票有助于未来的读者。有关更多信息,请参阅。如果您的问题尚未完全回答,请提供反馈或建议。