2016-11-10 4 views
0

Я все еще немного начинаю, когда дело доходит до скриптов, но проделали долгий путь. Мне нужно сделать Try/Catch следующим образом, но я смущен. Все исследования, которые я показываю, показывают -ErrorAction Stop .... но в этом случае, если есть ошибка ... продолжайте .... я думаю. Вот сделка. Этот раздел скрипта проверяет, существует ли сайт, если он не является ... GREAT ... продолжить с помощью скрипта. Если он существует, остановите и выпишите какой-нибудь материал и запустите его там. Так что TRY/CATCH меня смущает. Вы можете помочь?Попробуйте/поймайте ... но хотите продолжить по ошибке, а не -ErrorAction Stop

$URLis = "https://ourdevsite.dev.com/sites/$myVar" 

add-pssnapin microsoft.sharepoint.powershell -ea 0 

If (-not(Get-SPWeb $URLis)){ 
    Write-Host "Site does not exist, so we can proceed with building it" -foregroundcolor green 
    } 
Else { 
Write-Host "Site does exist, so we need to pick another URL" -foregroundcolor red 
} 

ответ

0

Вам не нужно менять ErrorAction, просто использовать exit ключевое слово, чтобы остановить сценарий:

add-pssnapin microsoft.sharepoint.powershell 

$URL = "https://ourdevsite.dev.com/sites/$myVar" 

If (Get-SPWeb $URL) { 
    Write-Host "Site does exist, so we need to pick another URL" -foregroundcolor red 
    exit 
} 
Else { 
    Write-Host "Site does not exist, so we can proceed with building it" -foregroundcolor green 
} 

у меня нет среды Sharepoint, поэтому я предполагаю, что ваш Get-SPWeb чек уже работает и возвращает true/false.

+0

So Try/Catch не нужен? –

+0

Вам нужно будет использовать [Try Catch finally] (http://www.vexasoft.com/blogs/powershell/7255220-powershell-tutorial-try-catch-finally-and-error-handling-in-powershell), чтобы ловушку и обработать ошибку. Если нет соответствующего сайта 'Get-SPWeb', он просто возвращает« false », а не ошибку, поэтому просто проверка для возврата« истина »с помощью простого оператора' If' - это все, что вам нужно сделать. –

+0

Если вы довольны моим ответом, можете отметить его как принятый. Чтобы сделать это, нажмите на серый значок «галочка» рядом с ответом. Он станет зеленым и поможет другим людям найти ответ, если они столкнутся с этим вопросом в будущем. Это хорошая практика сделать это в стеке :) –