仅使用cmd和psexec进行远程注册表更改HKCU

时间:2018-09-12 16:46:03

标签: cmd registry psexec

大家好,我迷路了...

我拥有管理员权限。

我想在登录了另一个用户的远程PC上的HKEY_CURRENT_USER \ Software ....中修改注册表项。

我不想使用PowerShell,因为我们没有启用远程注册表。

我被cmd卡住了

因此,我使用PSexec。

如果我想在全球HKLM中进行某些更改,这非常简单

psexec \\COMPUTERNAME reg add HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\...... /t REG_DWORD

由于我将psexec称为admin,因此它允许我更改远程计算机上HKLM中的任何内容

但是当我需要在HKCU中更改某些内容时,我需要用户的SID才能将其插入HKEY_USERS \ SID \ SOFTWARE \,这就是我碰壁的地方...

我尝试了类似的方法(它不起作用,语法可能全错了)

psexec \\COMPUTERNAME for /F "skip=1 tokens=1" %%i in ('query user') do set varusername=%%i

这应该是将远程登录的用户名获取到变量'varusername'中,以便以后使用它来获取SID

类似这样的内容(再次语法可能是错误的):

psexec \\COMPUTERNAME wmic useraccount where name='%varusername%' get sid

这完全被炸掉了,因为远程计算机上的wmic以管理员身份(通过psexec)执行时,看不到与查询用户相同的用户...

这是各个命令的输出

查询用户,请给我登录的用户名'johndoe'

USERNAME SESSIONNAME ID状态IDLE TIME登录时间

johndoe控制台1有效无9/10/2018 5:27

wmic用户帐户获取名称sid 根本看不到“ johndoe”

名称SID

DefaultAccount S-1-5-21-3285310242-2953612481-1302521585-503

defaultuser0 S-1-5-21-3285310242-2953612481-1302521585-1002

LocalAdmin S-1-5-21-3285310242-2953612481-1302521585-500

客人S-1-5-21-3285310242-2953612481-1302521585-501

如您所见,我撞墙了

查询用户让我在远程PC“ johndoe”上登录了用户,但是我无法使用 wmic useraccount 将其插入“ johndoe”的SI​​D:< / p>

psexec \\COMPUTERNAME reg add HKEY_USERS\SID\SOFTWARE\Microsoft\...... /t REG_DWORD

有什么想法可以解决这个问题吗?

我只需要为当前登录的用户在远程PC上编辑HKCU,而无需使用PowerShell

2 个答案:

答案 0 :(得分:0)

首先,如果您有权使用PowerShell,则可以使用它获取SID,然后在计算机上运行PSExec。尝试运行:

Get-AdUser USERNAME -Properties SID | Select name,Sid

在PowerShell中,将USERNAME替换为您要编辑的用户名。

这应该从活动目录中获取SID,因为诸如WMIC之类的本地命令将无法获得您想要的内容。

一旦有了SID,就可以在PSExec命令中对其进行重击,然后释放地狱的天使。

我提到使用PowerShell是因为即使没有启用远程注册表,您也应该能够以系统管理员身份运行此命令。如果没有,您也可以进入Active Directory。

答案 1 :(得分:0)

在cmd中,您可以使用PsGetSid获取SID。

我正在尝试与管理员相同的过程。