PowerShell-在所有SharePoint网站中循环并在发生错误时继续

PowerShell-在所有SharePoint网站中循环并在发生错误时继续,sharepoint,powershell,Sharepoint,Powershell,问题是,当它点击$wa.Sites中的foreach$site语句时,由于访问被拒绝或任何错误而无法获取该站点,它将停止。我想继续。我最后尝试了CATCH,但当它遇到错误时仍然停止 我试图继续执行-ErrorAction,但它给了我一条错误消息,如下所示 必须在“-”运算符的右侧提供值表达式 我如何绕过它,使它继续留在网站上 我真的很感谢你的帮助。 谢谢如果要使用try..catch,则必须抛出终止错误。try..catch块不会处理非终止错误 不清楚是哪一步产生了错误。你能发布准确的错误信息吗

问题是,当它点击$wa.Sites中的foreach$site语句时,由于访问被拒绝或任何错误而无法获取该站点,它将停止。我想继续。我最后尝试了CATCH,但当它遇到错误时仍然停止

我试图继续执行-ErrorAction,但它给了我一条错误消息,如下所示 必须在“-”运算符的右侧提供值表达式

我如何绕过它,使它继续留在网站上

我真的很感谢你的帮助。 谢谢

如果要使用try..catch,则必须抛出终止错误。try..catch块不会处理非终止错误


不清楚是哪一步产生了错误。你能发布准确的错误信息吗?还有,你是在哪里试着采取行动的?获取SPWebApplication命令?你能用try/catch/finally发布这个版本吗?还有错误消息吗?顺便说一句,要格式化一个代码块,将整个代码块缩进4个空格。您可以选择它并单击{}符号,而不是在内联代码的每一行上加上反勾。通过添加>作为第一个字符,对错误消息使用块引号。感谢Trevor提供Try/Catch错误块。我也终于有了。我在打开网站时收到的错误消息是Exception,调用的目标已抛出+categoryInfo:未指定::[],TargetInvocationException+FullyQuaflifiedErrorID:System.Reflection.TargetingException。我收到此错误的原因是运行脚本的ID无权访问此站点。但我希望这一进程继续下去。我可以稍后解决这个问题。我添加了ErrorAction Continue:foreach$web in$site.AllWebs-ErrorAction Continue
$ErrorActionPreference = "Continue"
Add-PSSnapin Microsoft.SharePoint.Powershell -ErrorAction "SilentlyContinue"
$webApp = "Https://SharePointSite.com"
$wa = Get-SPWebApplication -identity $webApp
foreach ($site in $wa.Sites) {
   foreach ($web in $site.AllWebs) {
       $siteURL = $web.Url
     Write-Host $siteURL
   }
}
try {
    Add-PSSnapin Microsoft.SharePoint.Powershell -ErrorAction Stop;
    $webApp = "Https://SharePointSite.com"
    $wa = Get-SPWebApplication -identity $webApp -ErrorAction Stop;
    foreach ($site in $wa.Sites) {
       foreach ($web in $site.AllWebs) {
           $siteURL = $web.Url
         Write-Host $siteURL
       }
    }
}
catch {
    Write-Host -Object ('Error occurred: {0}' -f $_);
}