从当前桌面在远程桌面上运行powershell脚本

时间:2017-07-24 20:17:54

标签: powershell rdp

所以基本上我在远程服务器上有一个已经运行的脚本。我试图在我的电脑上运行一个powershell脚本,它会自动进入远程桌面然后在那里运行我的脚本。

我现在使用的简单脚本不起作用:

mstsc /v:Server
Invoke-Expression c:\Scripts\script.ps1
$userName = 'administrator'
$sessionId = ((quser /server:server | Where-Object { $_ -match $userName }) -split ' +')[2]
logoff $sessionId /server:server

我的脚本位于c:\ Scripts,如您所见。事情是忽略远程桌面并打开我的电脑c:\而不是。

我应该如何"留下"在远程桌面上执行我的脚本?

另外,我不确定我的注销代码是否正常工作。我在一个帖子中找到它,如果编码正确,我也想要一些澄清。我知道我可以使用预定的任务,但我正在努力使用这种方式。

非常感谢!

1 个答案:

答案 0 :(得分:0)

mstsc / v:服务器可能会为您打开远程桌面,控制台仍在您自己的计算机上,您需要远程重新启动控制台或使用@AdamMnich上面评论中提供的选项。

我甚至不想知道如何思考mstsc / v:服务器可以在脚本中以这种方式工作,但这是一个不错的尝试;)

建议的解决方案如下:

$RemoteComputer = "ServerHostNameOrIPAdress"
Invoke-Command -Computername $RemoteComputer -ScriptBlock {."c:\Scripts\script.ps1"} #Assuming the script is on the C:\ Drive of the RemoteComputer