在上下文中启动远程进程

Tom*_*nik 6 powershell remote-access

我想知道如何在用户上下文中远程启动进程,就像他启动它一样.让我解释.我知道如何远程启动进程,所以例如我想启动记事本:

Invoke-WmiMethod win32_process -name create -ComputerName $remoteMachine -ArgumentList "notepad" -credential (Get-Credential)
Run Code Online (Sandbox Code Playgroud)

问题是它启动记事本"在后台"(不在用户上下文中),所以在这种情况下他不会看到打开的"记事本"对话框/进程(他将在任务管理器的进程列表中看到记事本).我希望他看到记事本窗口对话框.

有谁知道如何实现这一目标?

Ben*_*Ben 10

使用内置的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"
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 我们使用ONSTART作为计划,但随后我们手动启动该流程并在计划触发之前将其删除.这实际上意味着"现在就做".您还可以指定/SC ONCE /SD "01/01/1980" /ST "00:00:00"哪个具有相同的效果.
  • 此示例作为System运行.要以登录用户身份运行,只要您知道使用者/RU "DOMAIN\USER"./RP如果用户已登录,则无需密码(选项)即可使用.
  • 您可以使用/Query /S COMPUTERNAME /TN "RemoteProcess" /V查找当前状态,例如等待退出然后读取退出代码.

您还可以使用任务计划程序脚本对象使用脚本执行以上所有操作:


rav*_*nth 8

您无法使用WMI或PowerSHell远程处理启动交互式进程.这是安全限制/功能.如果要启动远程交互式进程,则需要使用PSExec.