【发布时间】:2019-06-18 19:57:52
【问题描述】:
我有一个 PowerShell 脚本,它创建一个计划任务来启动该脚本。这个想法是脚本中有一些需要重新启动的任务。在 PowerShell 结束时,一个消息框应提示用户让用户知道所有任务都已完成。我究竟做错了什么?
Add-Type -AssemblyName PresentationFramework
TaskName = "Run Agents Install Script"
$TaskDescription = "Run Agents Install Script at logon"
$Action = New-ScheduledTaskAction -Execute 'Powershell.exe' `
-Argument "-executionpolicy remotesigned -File $PSScriptRoot\AgentInstall.ps1"
$Trigger = New-ScheduledTaskTrigger -AtLogOn
Register-ScheduledTask -Action $Action -Trigger $Trigger -TaskName $TaskName -Description $TaskDescription -User "System"
$MsgBoxInput = [System.Windows.MessageBox]::Show('Installation completed successfully.','Agent Install','OK')
Switch ($MsgBoxInput) {
'OK'
{
$MsgBoxInput = [System.Windows.MessageBox]::Show('WARNING! Please install Imprivata agent manually if applicable.','Agent Install','OK')
}
}
【问题讨论】:
-
任务是否以用户身份运行?我的理解是用户永远不会看到其他任何东西......
-
好吧,任务作为系统运行,因为我希望正在执行的脚本以管理权限运行,并且在执行后不要求用户执行任何操作。
-
那么我的理解是您将需要第二个任务 [以当前登录用户身份运行] 向用户发送通知。 [咧嘴]
-
很遗憾我也这么认为。我将拭目以待,如果没有其他人可以提出另一个想法,那么我会将您的答案标记为解决方案。我希望这不是我唯一的选择
-
祝你好运! [咧嘴]
标签: powershell scheduled-tasks msgbox