我有 3 个 PS 脚本,停止.ps1,表格.ps1和启用.ps1。
ENABLE.ps1 将在任务计划程序中创建一个任务,打开表格.ps1每小时编写一次脚本。
一旦表单打开,就会有一个按钮用于关闭表单,一旦所有文本框都填写完毕,停止.ps1脚本从任务计划程序中删除该任务。
我的问题是:如何使用 STOP.ps1 脚本退出表单?目前它只有一行,Unregister-ScheduledTask -TaskName "TaskName" -Confirm:$false
即从任务计划程序中删除任务。
答案1
您可以向 FORM.ps1 添加一行以将其 $PID 导出到临时文件,然后使用并将 $PID 导入到您的 STOP.ps1 中,这样您就可以终止该任务。
对于 FORM.ps1 添加
$PID | Out-File -FilePath $env:USERPROFILE\AppData\Local\Form.tmp
用于 STOP.ps1 使用
$ErrorActionPreference = 'SilentlyContinue'
Unregister-ScheduledTask -TaskName "TaskName" -Confirm:$false
$FormPID = Get-Content $env:USERPROFILE\AppData\Local\Form.tmp
taskkill /pid $FormPID