我的脚本包含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("~")
我已经尝试过,但仍然无法正常工作。
请让我知道可以做什么。enter image description here