how can combine these powershell cmdlets instead of running them separately? these commands ran on our exchange server on premise , office 365.
# general new-distributiongroup -name dis_its3 -displayname dis_its3 -alias dis_its3 -primarysmtpaddress dis_its3@jackson.k12.ms.us # ownership set-distributiongroup -identity "dis_its3" –managedby robinson mykal -bypasssecuritygroupmanagercheck # membership approval get-distributiongroup | set-distributiongroup -memberjoinrestriction:closed -memberdepartrestriction:closed # delivery management set-distributiongroup "dis_its3" -requiresenderauthenticationenabled $false
in picture shown powershell script automating:
you create function below , throw .psm1 , import module or .ps1 , dot source session. can call function have shown below. mind you want add error handling.
function set-customdistributiongroup { [cmdletbinding()] param ( [parameter( position = 0, mandatory = $true )] [validatenotnullorempty()] [alias('distributiongroupname')] [string] $name, [parameter( position = 1, mandatory = $true )] [validatenotnullorempty()] [alias('distributiongroupdisplayname')] [string] $displayname, [parameter( position = 2, mandatory = $true )] [validatenotnullorempty()] [alias('distributiongroupalias')] [string] $alias, [parameter( position = 3, mandatory = $true )] [validatenotnullorempty()] [alias('distributiongroupprimarysmtpaddress')] [string] $primarysmtpaddress, [parameter( position = 4, mandatory = $true )] [validatenotnullorempty()] [alias('distributiongroupmanagedby')] [string] $managedby ) process { # general new-distributiongroup -name $name -displayname $displayname -alias $alias -primarysmtpaddress $primarysmtpaddress # ownership set-distributiongroup -identity $name –managedby $managedby -bypasssecuritygroupmanagercheck # membership approval get-distributiongroup | set-distributiongroup -memberjoinrestriction:closed -memberdepartrestriction:closed # delivery management set-distributiongroup -identity $name -requiresenderauthenticationenabled $false } }
and call this:
set-customdistributiongroup -name 'dis_its3' -displayname 'dis_its3' -alias 'dis_its3' -primarysmtpaddress 'jackson.k12.ms.us' -managedby 'robinson mykal'
however careful call because not specifying get. lot of powershell cmdlets return , net effect update of them.
# membership approval get-distributiongroup | set-distributiongroup -memberjoinrestriction:closed -memberdepartrestriction:closed
Comments
Post a Comment