Поймать несколько ошибок в одной попытке / поймать - PullRequest
0 голосов
/ 26 июня 2019

Таким образом, пытаясь выполнить простое try / catch обновление доступа к общей папке для папки на сервере в PowerShell.

try {
    Grant-SmbShareAccess -Name [FolderName] -AccountName [GroupToShare] -AccessRight Read -Force
    Grant-SmbShareAccess -Name [FolderName] -AccountName [GroupToShare] -AccessRight Read -Force
} catch {
    Write-Host "Error Granting one or more permission: $_" -ForegroundColor DarkMagenta
}

Можно ли перехватить конкретный оператор предоставления доступа и распечататьимя группы, в которой не удалось.

Допустим, у меня было две группы:

  • NA \ admin
  • NA \ dev

и что Grant-SmbShareAccess не удалось для обеих групп, могу ли я перехватить и распечатать:

Permission Failed for: NA\admin
Permission Failed for: NA\dev

, используя только одну попытку?

1 Ответ

5 голосов
/ 26 июня 2019

Цикл по аргументам:

foreach($group in 'NA\admin','NA\dev'){
  try {
    Grant-SmbShareAccess -Name [FolderName] -AccountName $group -AccessRight Read -Force
  }
  catch {
    Write-Host "Failed to grant permission to: $group"
  }
}
...