我可以通过 mstsc 进行 RDP 并在该远程桌面上运行脚本吗?

我可以通过 mstsc 进行 RDP 并在该远程桌面上运行脚本吗?

我正在编写一个 powershell 脚本,它需要通过 RDP 连接到几个服务器并在那里执行进程然后返回。

mstsc /v:<computer>其本身看起来很棒,因为它的安全性/凭据提示与您手动执行的相同。

然而,经过一番研究之后,它似乎只是一个命令行实用程序,仅此而已,因为尝试了类似如下的操作:

mstsc /v:104.209.198.181 | Invoke-Command -ScriptBlock {"New-Item C:\Users\<me>\Desktop\Success.txt -ItemType file"} 

不起作用。

因此,我尝试了Enter-PSSession <computer> -Credential $env:UserName人们使用的方法,但与之相比,它看起来很麻烦,mstsc因为它看起来很原始(我昨天阅读的一篇文章试图说这种类型的提示始终是网络钓鱼诈骗,显然不是,但尝试告诉管理层),它不会自动填充域,而且我收到 WinRM 错误,我确信这将是一个兔子洞。

那么是否可以通过 RDPmstsc将命令传送给它以便在该计算机上执行?

答案1

不。MSTSC 是一个终端客户端。如果您想在远程机器上运行脚本,您确实应该让 enter-pssession 工作。它将使您的生活变得轻松很多。

它可能很简单,您只需要在每台机器上运行一个命令来允许 Powershell Remoting:

Enable-PSRemoting –force

答案2

您可以创建一个计划任务,该任务将通过使用域内的特殊帐户登录服务器来触发,并通过触发器系统运行位于每个服务器上独立位置的准备好的脚本。

步骤:您可以创建一个计划任务,当您的计算机解锁时运行:

开始 > 管理工具 > 任务计划程序 在左上角选择任务计划程序库 单击创建任务 在创建任务对话框的右上角:常规选项卡 - 为您的任务提供名称 触发器选项卡 - 单击新建...并选择在工作站解锁时 操作选项卡 - 单击新建...并单击浏览...以找到您的脚本 条件选项卡 - 取消选中仅当计算机使用交流电源时才启动任务

相关内容