【发布时间】:2020-07-31 02:54:48
【问题描述】:
我想让Remove-Item 指令保持安静,无论是否异常。我在脚本中运行以下命令来删除证书:
Remove-Item $store\$thumbprint
如果我以本地管理员身份运行脚本,很好...它保持安静并且文件被删除。 但是,如果我以非特权用户身份运行它,我会按预期收到“拒绝访问”错误,但无论如何我都希望保持安静。
我尝试了以下方法:
$output = (Remove-Item $store\$thumbprint)
# or...
try{Remove-Item $store\$thumbprint} catch{}
# or...
Remove-Item $store\$thumbprint -ErrorAction SilentlyContinue
但我总是收到错误/异常 显示在控制台上。
【问题讨论】:
-
try{Remove-Item $store\$thumbprint -ErrorAction Stop} catch{$null = $_}应该可以工作... -
NB 除非
-Path是一种模式,否则此建议将起作用。如果它是一个模式并且匹配 2 个以上的项目,那么在此异常之后“剩余”项目可能不会被删除。 -
感谢您的帮助。 @JosefZ,您可以将解决方案写为答案;它对我有用(路径在我的情况下是唯一的)。
标签: powershell exception error-handling