PoshCode Archive  Artifact [6fff7b5a98]

Artifact 6fff7b5a9838edd8650bb9e26832ffca6d18be0900aac4f5e2e169c925107b9a:

  • File Get-DLRestriction.ps1 — part of check-in [f385a01ad8] at 2018-06-10 13:46:42 on branch trunk — Uses QAD cmdlets to retrieve distribution list restriction attributes and then provides a list of users which can send email messages to the group. (user: Dmitry Sotnikov size: 2495)

# encoding: ascii
# api: powershell
# title: Get-DLRestriction
# description: Uses QAD cmdlets to retrieve distribution list restriction attributes and then provides a list of users which can send email messages to the group.
# version: 0.1
# type: function
# author: Dmitry Sotnikov
# license: CC0
# function: Get-DLRestriction
# x-poshcode-id: 4847
# x-archived: 2017-04-21T22:21:38
# x-published: 2014-01-27T20:11:00
#
# Usage: Get-DLRestriction “Worldwide Everyone”
#
###########################################
# Get-DLRestriction
#
# Uses QAD cmdlets to retrieve distribution list restriction attributes 
# and then provides a list of users which can send email messages to the group.
#
# Usage: Get-DLRestriction "Worldwide Everyone"
#
# Dmitry Sotnikov, http://dmitrysotnikov.wordpress.com
############################################

function Get-DLRestriction {
	param([System.String]	$DLName	)

  "Checking restrictions for $DLName"

  $DL = Get-QADGroup $DLName `
      -IncludedProperties AuthOrig, UnauthOrig, dLMemRejectPerms,`
                      dLMemSubmitPerms, msExchRequireAuthToSendTo

  # we'll set this to true if we see a restriction
  $restricted = $false

  # if the group with such a name is found
  if ( $DL -ne $null ) { 
    
    if ( $DL.AuthOrig -ne $null ) { 
      $restricted = $true
      "`nThe following users can send messages to this list:"
      $DL.AuthOrig | Get-QADUser
    }
    
    if ( $DL.UnauthOrig -ne $null ) { 
      $restricted = $true
      "`nAnyone BUT the following users can send messages to this list:"
      $DL.UnauthOrig | Get-QADUser
    }
    
    if ( $DL.dLMemSubmitPerms -ne $null ) { 
      $restricted = $true
      "`nMembers of this group can send messages to this list: $($DL.dLMemSubmitPerms | Get-QADGroup)) :"
      Get-QADGroupMember $DL.dLMemSubmitPerms
    }
    
    if ( $DL.dLMemRejectPerms -ne $null ) { 
      $restricted = $true
      "`nAnyone BUT members of this group can send messages to this list: $($DL.dLMemRejectPerms | Get-QADGroup)) :"
      Get-QADGroupMember $DL.dLMemRejectPerms
    }
    
    if ( $DL.msExchRequireAuthToSendTo ) { 
      $restricted = $true
      "`nOnly authenticated users can send messages to this list.`nExternal senders get blocked."
    }
    
    if ( -not $restricted ) {
      "`nThis list is not restricted. Anyone can email it."
    }
  } else {
    "`nDL $DLName not found."
  }
}