我试图在每天的特定时间向 cmd.exe 窗口获取特定的重新启动命令,以便重新启动它正在运行的服务器。
我在任务计划程序中的操作当前是:
Powershell.exe -ExecutionPolicy Bypass -File C:\Rustide\restart.ps1 -verbose >> C:\Rustide\myscript.log 2>&1"
它实际上并没有创建日志,所以我不认为 powershell 正在启动。由于我需要该命令来运行并在我的个人资料上找到一个窗口,因此它被设置为在我的个人资料上运行。当我自己执行该脚本时,它可以完美运行。任务计划程序中是否存在不允许我这样做的原因或安全措施?如果是这样,有没有好的选择?
我仅在用户登录时尝试过此操作,无论用户是否登录,是否具有最高权限等。似乎没有任何效果。
PowerShell 代码
Start-Transcript -Path C:\Rustide\restart.log
Import-Module WASP
Select-Window | Where { $_.Title -Like '*OSF*Oxide' } | Set-WindowActive | Send-Keys 'restart'
start-sleep -seconds 2
通过任务调度程序执行日志。
**********************
Windows PowerShell transcript start
Start time: 20160725080935
Username: OSF-WS2012\OSF
RunAs User: OSF-WS2012\OSF
Machine: OSF-WS2012 (Microsoft Windows NT 6.3.9600.0)
Host Application: Powershell.exe -ExecutionPolicy Bypass -File C:\Rustide\restart.ps1 Start-Transcript -Path C:\Rustide\restart.log
Process ID: 10588
**********************
Transcript started, output file is C:\Rustide\restart.log
PS>$global:?
True
**********************
Windows PowerShell transcript end
End time: 20160725080937
**********************