我正在尝试搜索多个服务器以查看是否存在特定的注册表项。测试路径PowerShell问题
它看起来像下面的代码工作,但当我开始添加密钥的最后部分,它停止“发现”的东西。我可以开始添加a*
,然后ab*
作为最后一个键,但只要我到达第三个字符或者我知道的完整字符串,就会返回False,表示它没有找到它。
$servers = Get-Content c:\input.txt | `
Select-Object @{l='ComputerName';e={$_}},@{l='KeyExist';e={Test-Path "HKLM:\System\CurrentControlSet\services\*abcdefg*" }}
$servers | Format-Table -AutoSize
你不检查远程注册表。每次只有你自己的电脑。双*是多余的。 – Matt
您是否打算在*不同的计算机上测试注册表路径?您当前的命令只是检查本地计算机上的注册表,对于从文件中输入的每个服务器名称 –
对于远程注册表,您应该这样做:'$ reg = [Microsoft.Win32.RegistryKey] :: OpenRemoteBaseKey(“ LocalMachine“, $ _。machinename); $ key = $ reg.OpenSubkey($ keyname); $ value = $ key.GetValue('AutoAdminLogon')' –