powershell - 有没有办法从 DC 对域用户远程执行 powershell 命令?
问题描述
例如,假设我有一个域控制器和一个加入域的客户端。如果我想远程锁定客户端,我应该会运行
Invoke-Command -ComputerName [workstation name] -ScriptBlock {rundll32.exe user32.dll, LockWorkStation}
但是,这不起作用。我假设这是因为 Invoke-Command cmdlet 运行脚本块中的代码,但会将任何内容返回到本地终端。我想要完成的是让代码或 powershell 脚本在远程计算机上本地运行。
我的问题首先是这是否是正确的方法,其次是为什么我正在运行的命令不起作用。
解决方案
根据我在使用 PSExec 时的评论......所以,像这样的东西---
PsExec.exe \\ -d -u \Administrator -i cmd.exe /c "C:\windows\system32\rundll32.exe user32.dll, LockWorkStation"
或者使用 PowerShell 和 quer.exe ...
(它是每个现代 Windows 版本中的工具) quser | 微软文档
...在 PowerShell 远程处理脚本中,如下所述:
同样,这项工作是由 quser.exe 完成的,而不是专门由 PowerShell 完成的。PowerShell 只是用于远程运行 quser.exe。您可以通过将 PSExec 复制到远程主机并执行类似操作来执行相同操作。
推荐阅读
- elasticsearch - Elasticsearch 术语查询不适用于数字
- javascript - 在其他页面中打开特定选项卡
- java - 尝试将我的类转换为 Json 时出现 stackoverflow 错误
- kubernetes - traefik 是否包含服务器端?
- python - 熊猫与 NaN 值合并
- javascript - 如何以 f(y) + f(x) = c 的形式绘制图形
- javascript - 使用循环用对象填充数组
- javascript - 按嵌套数组的唯一值对数组进行分组
- mysql - Sequelize 可以处理与一张表关联的多个键吗?
- sql - 合并语句给我“无法获得一组稳定的行”错误