[英]start remote process within the context
我想知道如何在用户上下文中远程启动进程,就像他启动它一样。 让我解释。 我知道如何远程启动进程,所以例如我想启动记事本:
Invoke-WmiMethod win32_process -name create -ComputerName $remoteMachine -ArgumentList "notepad" -credential (Get-Credential)
问题是它“在后台”启动记事本(而不是在用户上下文中),所以在这种情况下,他不会看到打开的“记事本”对话框/进程(他只会在任务管理器的进程列表中看到记事本)。 我想让他看到记事本 window 对话框。
有人知道如何实现吗?
使用内置的 SchTasks.exe 以支持在远程系统上创建进程的方式。 这与内置的任务计划程序服务交互,不需要 PsExec.exe。
要在远程机器上创建任务(在此示例中以 SYSTEM 身份运行):
schtasks.exe /create /F /S COMPUTERNAME /RU "NT AUTHORITY\SYSTEM" /RL HIGHEST /SC ONSTART /TN "RemoteProcess" /TR "program.exe \"argument 1\" \"argument 2\""
schtasks.exe /Run /S COMPUTERNAME /I /TN "RemoteProcess"
schtasks.exe /Delete /S COMPUTERNAME /TN "RemoteProcess"
笔记:
/SC ONCE /SD "01/01/1980" /ST "00:00:00"
具有相同的效果。/RU "DOMAIN\USER"
。 如果用户登录,这将在没有密码( /RP
选项)的情况下工作。/Query /S COMPUTERNAME /TN "RemoteProcess" /V
来查找当前状态,例如等待退出,然后读取退出代码。您还可以使用任务计划程序脚本对象通过脚本执行上述所有操作:
您无法使用 WMI 或 PowerSHell 远程处理启动交互式进程。 这是一个安全限制/功能。 如果要启动远程交互进程,则需要使用 PSExec。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.