首页 > 解决方案 > 有没有办法从 DC​​ 对域用户远程执行 powershell 命令?

问题描述

例如,假设我有一个域控制器和一个加入域的客户端。如果我想远程锁定客户端,我应该会运行

Invoke-Command -ComputerName [workstation name] -ScriptBlock {rundll32.exe user32.dll, LockWorkStation}

但是,这不起作用。我假设这是因为 Invoke-Command cmdlet 运行脚本块中的代码,但会将任何内容返回到本地终端。我想要完成的是让代码或 powershell 脚本在远程计算机上本地运行。

我的问题首先是这是否是正确的方法,其次是为什么我正在运行的命令不起作用。

标签: powershellactive-directory

解决方案


根据我在使用 PSExec 时的评论......所以,像这样的东西---

PsExec.exe \\ -d -u \Administrator -i cmd.exe /c "C:\windows\system32\rundll32.exe user32.dll, LockWorkStation"

或者使用 PowerShell 和 quer.exe ...

(它是每个现代 Windows 版本中的工具) quser | 微软文档

...在 PowerShell 远程处理脚本中,如下所述:

如何使用 PowerShell 远程注销 Windows 用户

同样,这项工作是由 quser.exe 完成的,而不是专门由 PowerShell 完成的。PowerShell 只是用于远程运行 quser.exe。您可以通过将 PSExec 复制到远程主机并执行类似操作来执行相同操作。


推荐阅读