2

新しい配布グループをすばやく作成して CSV を入力するスクリプトを作成しています。グループ名が既に存在するかどうかをテストするのに問題があります。

実行してget-distributiongroup -id $NewGroupName存在しない場合、例外が発生します。これは、私が予想することです。グループが存在する場合は、グループがリストされます。これも私が期待するものです。ただし、作成する前にグループが存在するかどうかをテストする良い方法が見つかりません。私はtry/catchを使ってみましたが、これもやってみました:

Get-DistributionGroup -id $NewGroupName -ErrorAction "Stop" 

これにより、try/catch の動作が向上します (非終了エラーを理解しているため)。

基本的に、実行可能かどうかを確認するために、ユーザーに新しいグループ名を入力してもらう必要があります。その場合、グループが作成されます。そうでない場合は、ユーザーに別の名前を入力するように求める必要があります。

4

2 に答える 2

9

SilentlyContinueerroractionを使用して、例外/エラーが表示されないようにすることができます。

$done = $false
while(-not $done)
{
   $newGroupName = Read-Host "Enter group name"
   $existingGroup = Get-DistributionGroup -Id $newGroupName -ErrorAction 'SilentlyContinue'

   if(-not $existingGroup)
   {
      # create distribution group here
      $done = $true
   }
   else
   {
      Write-Host "Group already exists"
   }
}
于 2012-08-28T20:53:06.943 に答える
1

これでうまくいくはずです:

((Get-DistributionGroup $NewGroupName -ErrorAction 'SilentlyContinue').IsValid) -eq $true
于 2013-03-14T16:13:09.587 に答える