隐藏或避免 PowerShell Script return 错误信息
Hide or avoid the PowerShell Script return the error message
我想要一个 PowerShell 脚本来检查任务调度程序。如果任务名称存在则删除它。
if (schtasks /query /tn "mytask") {
schtasks /delete /tn "mytask" /f | Out-Null
}
当用户在任务计划程序中有任务名称时,语法运行良好。但是,当任务名称不存在时,PowerShell returns 错误消息:
schtasks : ERROR: The system cannot find the file specified.
At line:1 char:5
+ if (schtasks /query /tn "mytask") {
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (ERROR: The syst...file specified.:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
有什么方法可以避免或隐藏 PS return 错误信息吗?
我是 PowerShell 的新手,非常感谢您的帮助!
您可以使用流 redirection operator >
来抑制来自 schtasks
:
的错误
if(schtasks /query /tn "mytask" 2>$null){
schtasks /delete /tn "mytask" /f | Out-Null
}
但我个人更喜欢使用 ScheduledTasks
module 中的 Get-ScheduledTask
,然后使用 -ErrorAction
通用参数来忽略任何错误:
if(Get-ScheduledTask -TaskName "mytask" -ErrorAction Ignore){
Unregister-ScheduledTask -TaskName "mytask" -Confirm:$false | Out-Null
}
我想要一个 PowerShell 脚本来检查任务调度程序。如果任务名称存在则删除它。
if (schtasks /query /tn "mytask") {
schtasks /delete /tn "mytask" /f | Out-Null
}
当用户在任务计划程序中有任务名称时,语法运行良好。但是,当任务名称不存在时,PowerShell returns 错误消息:
schtasks : ERROR: The system cannot find the file specified.
At line:1 char:5
+ if (schtasks /query /tn "mytask") {
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (ERROR: The syst...file specified.:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
有什么方法可以避免或隐藏 PS return 错误信息吗?
我是 PowerShell 的新手,非常感谢您的帮助!
您可以使用流 redirection operator >
来抑制来自 schtasks
:
if(schtasks /query /tn "mytask" 2>$null){
schtasks /delete /tn "mytask" /f | Out-Null
}
但我个人更喜欢使用 ScheduledTasks
module 中的 Get-ScheduledTask
,然后使用 -ErrorAction
通用参数来忽略任何错误:
if(Get-ScheduledTask -TaskName "mytask" -ErrorAction Ignore){
Unregister-ScheduledTask -TaskName "mytask" -Confirm:$false | Out-Null
}