微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

windows-server-2012-r2 – 在远程计算机上执行命令并向登录用户显示UI

由于我在网上找不到合适的解决方案,我会问这里.

我有一堆计算机,我想执行一个程序,并向当前登录用户显示程序GUI.使用Powershell无法实现这一点(停止/启动Windows服务没问题)我无法通过PsExec.exe完成此操作.

我的PsExec命令看起来像这样 – 在TaskManager中可以看到calc.exe但我看不到GUI.

C:\Users\Administrator.DEV\Desktop>PsExec.exe -i \\TEST-CLI-01 -u localUser -p userPassword -d calc.exe

简短设置说明:
服务器:MS Server2012R2
客户端:Windows 8.1
每个系统都是AD域的一部分.

任何人都有一个想法,我怎么能做到这一点?

很多事先提前:)

你会发现这是非常困难的,如果不是不可能的话.你会认为这很容易,但事实并非如此.如果你可以在另一个用户的安全上下文中操作窗口管理器,那么微软就有意地使这一点变得困难,因为它暴露了一种安全漏洞(“破碎”攻击).

Windows Vista中引入的Session 0 Isolation功能使服务程序(如PsExec)难以与控制台进行交互.当交互式服务检测服务运行时,当服务尝试与控制台交互时,将提示用户切换到安全桌面以与服务的GUI交互.

有一些discussion on Stackoverflow可以深入了解架构的细节.

处理此问题的更好方法是让用户运行一个侦听某种类型的进程间通信并相应操作的进程.如果你真的想要真正的hackish,你可以运行一个简单的VBScript或Powershell脚本,它位于后台,当用户登录时,等待文件/注册表项/ TCP连接/等,然后采取行动.你可以很快将这样的东西拼凑起来作为概念验证.

原文地址:https://www.jb51.cc/windows/366235.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐