【转载】Powershell设置世纪互联Office365嵌套组发送权限

时间:2023-03-08 21:14:16
 Start-Transcript ".\Set-GroupSendPermisionLog.txt" -Force

 function Get-DLMemberRecurse
{
$group=get-distributiongroupmember $args[0] -ResultSize unlimited
foreach ($varTemp in $group)
{
$varTemp
if ($varTemp.RecipientType -like "Mail*Group")
{
$members += $varTemp.Identity
Get-DLMemberRecurse $varTemp.Identity
}
}
return $members
} $CsvPath = ".\Set-GroupSendPermisionList.csv" $Users = import-csv $CsvPath foreach ($User in $Users)
{
$groupname=$User.Group
$groupname if (!(get-distributiongroup $groupname))
{
echo "Group not found"
} else {
echo "Group found"
Get-DLMemberRecurse $groupname | where-Object {$_.RecipientType -like "Mail*Group"} | select name | export-csv -NoTypeInformation -Encoding utf8 -path .\Set-GroupSendPermision.csv
$content=Get-Content -Encoding utf8 -Path .\Set-GroupSendPermision.csv | Select -Skip 1
$content=$content.Replace("`"","")
#$content
$dup=($content | Measure-Object).count
$dup
echo -----------------------------------------------
$content=$content | sort | get-unique
#$content
$nodup=($content | Measure-Object).count
$nodup
echo ===============================================
for($i=1;$i -le $nodup;$i++)
{
$i
echo 1
if ($nodup -eq 1)
{
$Identity=$content
}
else
{
$Identity=$content[$i-1]
}
echo 2
$Identity
echo 3
(Get-DistributionGroup -identity $Identity).AcceptMessagesOnlyFromSendersOrMembers
echo 4
#Set-DistributionGroup -Identity $Identity -AcceptMessagesOnlyFromSendersOrMembers ((Get-DistributionGroup -identity $Identity).AcceptMessagesOnlyFromSendersOrMembers +"$Gmember") -BypassSecurityGroupManagerCheck
echo *******************************
}
}
echo ///////////////////////////////////////////////////////////////////////////////
} get-pssession | remove-pssession
Stop-Transcript

CSV格式
User,Group
user1,group1
user1,group2
user1,group3
user2,group1
user3,group3

http://www.smallrascal.cn/smallrascal/article.asp?id=2082