交互式Power Shell脚本在Task Scheduler中不起作用

时间:2018-07-13 05:34:28

标签: windows scheduled-tasks powershell-v4.0

我的脚本包含2个交互式会话,借助2个应用程序(停止和启动)来停止和启动DB的少量服务。

手动运行时,脚本可以正常运行。但是,从Task Scheduler运行时,停止服务正在运行,而启动服务则无法运行,并且成功关闭了任务。

这是代码。

停止服务:

$ID1 = $NULL
Add-Type -AssemblyName 'System.Windows.Forms'
$ID1 = (Start-Process 'C:\ProgramData\Microsoft\Windows\StartMenu\Programs\Hewlett Packard Enterprise\HPE XP7 Performance Advisor Management Station\Stop Services' -PassThru).Id
Add-Type -AssemblyName Microsoft.VisualBasic 
[Microsoft.VisualBasic.Interaction]::AppActivate([Int32]$ID1)
Sleep 90
[System.Windows.Forms.SendKeys]::SendWait("~") 

启动服务:

$ID2 = $NULL
Add-Type -AssemblyName 'System.Windows.Forms'
$ID2 = (Start-Process 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Hewlett Packard Enterprise\HPE XP7 Performance Advisor Management Station\Start Services' -PassThru).Id
sleep 10
Add-Type -AssemblyName Microsoft.VisualBasic 
[Microsoft.VisualBasic.Interaction]::AppActivate([Int32]$ID2)
sleep 10
[System.Windows.Forms.SendKeys]::SendWait("y~")
sleep 30
[System.Windows.Forms.SendKeys]::SendWait("~")

我已经尝试过,但仍然无法正常工作。

  • 首先,我以管理员帐户运行。
  • 在任务schduler中,选中了具有最高特权的运行。
  • 我尝试了-ExecutionPolicy绕过和-ExecutionPolicy RemoteSigned
  • 选择“以用户登录状态运行”时,任务计划程序正在工作,但 当“无论用户是否登录运行”时都不会显示

请让我知道可以做什么。enter image description here

0 个答案:

没有答案