user1631385
user1631385

Reputation: 31

Checking if Distribution Group Exists in Powershell

I am writing a script to quickly create a new distribution group and populate it with a CSV. I am having trouble testing to see if the group name already exists.

If I do a get-distributiongroup -id $NewGroupName and it does not exist I get an exception, which is what I expect to happen. If the group does exist then it lists the group, which is also what I expect. However, I can not find a good way to test if the group exists before I try to create it. I have tried using a try/catch, and also doing this:

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

which makes the try/catch work better (as I understand non-terminating errors).

Basically, I need to have the user enter a new group name to check if it is viable. If so, then the group gets created, if not it should prompt the user to enter another name.

Upvotes: 2

Views: 14910

Answers (2)

committhisgit
committhisgit

Reputation: 110

This should do the trick:

((Get-DistributionGroup $NewGroupName -ErrorAction 'SilentlyContinue').IsValid) -eq $true

Upvotes: 1

latkin
latkin

Reputation: 16812

You can use SilentlyContinue erroraction so that no exception/error shows:

$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"
   }
}

Upvotes: 10

Related Questions