【问题标题】:Remote Desktop Powershell Script远程桌面 Powershell 脚本
【发布时间】:2018-08-16 00:25:12
【问题描述】:

我刚订购了一台运行 Windows Server 的 VPS。该服务器唯一需要做的就是运行一个 Powershell 脚本,该脚本有一个无限循环 (while($true)),其中包含一些代码。

一般来说,如果我通过远程桌面连接到 VPS,一切正常,它运行、运行和运行。但每当我退出远程桌面时,Powershell 脚本就会暂停,直到我再次连接后才会继续。

有没有办法让脚本“永久”,这样当我退出远程桌面会话时它不会停止?

这是 Powershell 脚本:

while($true)
{
Start-Sleep 2
start chrome.exe
Start-Sleep 2
Invoke-Item C:\Users\me\index.html
Start-Sleep 2
[System.Windows.Forms.SendKeys]::SendWait("{ENTER}") 
Start-Sleep 1000
[System.Windows.Forms.SendKeys]::SendWait("%{F4}") 
Start-Sleep 2
[System.Windows.Forms.SendKeys]::SendWait("%{F4}") 
}

顺便说一句,我从 Powershell ISE 启动脚本,而不是直接执行脚本,因为它不知道上下文 SendKeys 不知何故,但我认为这不会改变任何东西,不是吗?

【问题讨论】:

  • 你可以分享示例代码吗?
  • @VivekKumarSingh 做到了
  • 这可以作为计划任务运行吗?这样就不需要用户登录并启动脚本。
  • 我怎么能做到这一点?
  • 问题是,我不能直接将它作为 powershell 脚本运行,但是使用 ISE...,或者你知道如何将 SendWait 命令更改为某事。还有吗?

标签: powershell vps remote-desktop


【解决方案1】:

PowerShell 在断开连接的会话中不会暂停,但SendKeys 在断开连接的会话中不起作用。这是预期的行为。

【讨论】:

  • 但是它似乎完全暂停了,所以它根本没有做任何事情(除了击键),那么当SendKeys-Commands 出现时,脚本会完全停止吗?我可以以某种方式替换它们,用一些可以继续工作的东西吗?或者有没有办法在 Chrome 中按“Enter”来确认警报对话框而不是模拟击键?
猜你喜欢
  • 1970-01-01
  • 2019-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多