PSExec无法在远程PC上启动Regedit.exe

时间:2018-04-22 18:44:35

标签: psexec regedit

背景: 我有几个保存的注册表项,用于在我的环境中更新/配置远程PC。我以前可能没有部署过该设备,但我使用这些注册表项来更新PC,因为我修复/修复/等等......我是45人团队的一员,在我们的企业区域管理着大约25,000个工作站和外围设备

如果我从Win 10 PC到Win 7 PC使用此命令,它会毫无问题地执行。

psexec \ remotecomputer -u domain \ adminaccount regedit.exe / i / s" \ server \ share \ directory1 \ directory2 \ directory3 \ someregistry.reg"

psexec启动regedit,导入上述注册表文件并关闭。

如果我从Win 10 PC到另一台Win 10 PC运行完全相同的命令,我会收到以下错误,从CMD作为ADMIN,

" PsExec无法在REMOTEPC_HOSTNAME上启动regedit.exe: 系统找不到指定的文件。" 它无法找到注册表??? WTF ??

我很好奇为什么Win 10会阻止我作为管理员导入注册表项?

我已尝试将reg导入作为解决方案,但我一直遇到语法错误,无法找到文件/路径。

它几乎就像远程PC一样,由于UAC设置而无法识别管理员输入?

在测试中,我已将组策略编辑器设置为启用远程注册表工具,无需更改。我已启用远程注册表服务并设置为自动启动服务。我可以通过远程注册表访问PC注册表...但是psexec只是在远程设备上工作。

我可以RDP到设备并运行等效的命令行: regedit.exe / i / s" \ UNC \ pathway ... \ etc *。* reg"它执行,没有问题。 这证明了regedit正在运作

任何人都可以提供一些专业知识吗?

1 个答案:

答案 0 :(得分:0)

运行RegEdit的旧 PsExec 技巧并不总是有效。这是因为 psexec 依赖于隐藏的SMB管理员服务。 (出于安全考虑,应将其禁用。)

  

PsExec允许重定向远程启动的输入和输出   通过使用 SMB 和隐藏的$ ADMIN共享来执行   远程系统。通过此共享,PsExec使用Windows服务   控制管理中心API以在远程上启动PsExecsvc服务   系统,该系统创建一个与PsExec通信的命名管道。这个   命名管道允许将输入/输出重定向回   启动PsExec的系统。

因此,为了删除任何 TrustedInstaller 拥有的注册表项,可以使用其他工具。这可行:

  • ExecTI -以TrustedInstaller身份运行
    运行它以打开 ExecTI GUI并输入:C:\Windows\regedit.exe
相关问题