ขณะนี้ฉันกำลังยุ่งกับสคริปต์ที่ต้องทำสิ่งต่อไปนี้:
สคริปต์จำเป็นต้องตรวจสอบกลุ่ม Azure AD และเปรียบเทียบการกลายพันธุ์ใน EXO DG ฉันได้เขียนและรวมกลุ่มเข้าและออก แต่ฉันไม่สามารถใช้งานได้ฉันไม่มีข้อผิดพลาดเมื่อทำงาน แต่ผู้ใช้ที่ถูกลบจากกลุ่ม SG จะไม่ถูกลบออกจาก DG ใน EXO
ทำไมฉันถึงทำเช่นนี้?
ฉันมีคำถามเปิดที่จะทำให้ Azure AD Security Group เปิดใช้งานเมล น่าเสียดายที่ Azure AD Security Groups ไม่สามารถเป็นกลุ่มที่เปิดใช้งานเมลได้
บน 'New-AzureADMSGroup' หรือ 'Set-AzureADMSGroup' มีวัตถุ MailEnabled แต่ไม่รองรับ
การมีผงชูรส EXO อย่าเพิ่งเติมเต็มความต้องการ เพราะคุณไม่สามารถใช้กลุ่มนี้ภายใน Access Packages หรือ Enterprise Applications
การมี EXO DDL ก็ไม่ได้ตอบสนองความต้องการ เนื่องจากผู้ใช้ใน AAD SG ที่ร้องขอนั้นไม่มีเกณฑ์เดียวกันในการกรอง สิ่งเดียวที่ผู้ใช้มีเหมือนกันคือการเป็นสมาชิกของ AAD SG
#Azure AD
$AzureADGroup1 = "xxxxx-xxx-xxxx-xx-xxxxxxx"
$AzureADGroup1Members = Get-AzureADGroupMember -ObjectId $AzureADGroup1 -All $true | Select-Object Mail
#EXO
$DGMembers = (รับ-distributiongroupmember -identity [email protected]).primarysmtpaddress
foreach ($AzureADGroup1Member ใน $AzureADGroup1Members) {
#ถ้าผู้ใช้เพิ่มแล้วส่งคืน $false
ถ้า (!($DGMembers -match $AzureADGroup1Member))
{
Add-DistributionGroupMember -Identity [email protected] -Member $AzureADGroup1Member.Mail -Confirm:$false -ErrorAction SilentlyContinue
}
เขียนโฮสต์ -ForegroundColor สีเขียว $AzureADGroup1Member.Mail"ถูกเพิ่ม"
ถ้า (!($DGMembers -ไม่ตรงกับ $AzureADGroup1Member))
{
Remove-DistributionGroupMember -Identity [email protected] -Member $AzureADGroup1Member.Mail -Confirm:$false -ErrorAction SilentlyContinue
}
เขียนโฮสต์ - พื้นหน้าสีเขียว $AzureADGroup1Member.Mail "ถูกลบ"
}
อัปเดต: ตอนนี้ฉันได้ทำสคริปต์อื่นซึ่งไม่เรียบร้อยมาก
1: ลบสมาชิกทั้งหมดออกจาก DG
2: รับสมาชิกทั้งหมดจาก AAD SG
3: เพิ่มสมาชิกทั้งหมดกลับไปที่ DG
#EXO: ล้าง DG
$DG = "ดีจี1"
$DGMembers = (รับการแจกจ่ายกลุ่มสมาชิก -identity $DG).PrimarySmtpAddress
foreach ($DGMember ใน $DGMembers) {
Remove-DistributionGroupMember -เอกลักษณ์ $DG -สมาชิก $DGMember -ยืนยัน:$false -ErrorAction SilentlyContinue
Write-Host -ForegroundColor Green $DGMember "ถูกลบ"
}
#Azure AD: รับ AAD SG
$AzureADGroup1 = "xxxx-xxxx-xxx-xxx-xxx"
$AzureADGroup1Members = (Get-AzureADGroupMember -ObjectId $AzureADGroup1 -All $true).Mail
#EXO: เติม DG อีกครั้ง
foreach ($AzureADGroup1Member ใน $AzureADGroup1Members) {
เพิ่ม DistributionGroupMember -เอกลักษณ์ $DG -สมาชิก $AzureADGroup1Member -ยืนยัน:$false -ErrorAction Silently ดำเนินการต่อ
เขียนโฮสต์ - พื้นหน้าสีเขียว $AzureADGroup1Member "ถูกเพิ่ม"
}
ในตัวมันเองไม่ใช่ปัญหา เพียงแต่ว่า AAD SG มีสมาชิกมากกว่า 1,100 คน แน่นอนว่าฉันสามารถดำเนินการได้ตอน 1 ทุ่มทุกคืน แต่ฉันเกรงว่าเขาอาจจะไม่พร้อมตอน 7 โมง ในระยะยาว.