Hiện tại tôi đang bận với một kịch bản cần thực hiện như sau:
Tập lệnh cần kiểm tra nhóm Azure AD và so sánh các đột biến trong EXO DG. Tôi đã viết và gộp một số lệnh vào và ra, nhưng tôi không thể làm cho nó hoạt động được.Tôi không có lỗi khi chạy, nhưng người dùng đã bị xóa khỏi nhóm SG sẽ không bị xóa khỏi DG trong EXO.
Tại sao tôi làm điều này?
Tôi có một câu hỏi mở để kích hoạt thư của Nhóm bảo mật Azure AD. Rất tiếc, Nhóm bảo mật Azure AD không thể là nhóm hỗ trợ thư.
Trên 'New-AzureADMSGroup' hoặc 'Set-AzureADMSGroup' có một đối tượng MailEnabled nhưng không được hỗ trợ.
Có một MSG EXO, chỉ cần không đáp ứng nhu cầu, bởi vì bạn không thể sử dụng nhóm này trong Gói truy cập hoặc Ứng dụng doanh nghiệp.
Có EXO DDL, cũng không đáp ứng được nhu cầu, bởi vì người dùng trong AAD SG được yêu cầu, chỉ là không có cùng tiêu chí để lọc. Điểm chung duy nhất của người dùng là tư cách thành viên của AAD SG.
#Azure AD
$AzureADGroup1 = "xxxxx-xxx-xxxx-xx-xxxxxxx"
$AzureADGroup1Members = Get-AzureADGroupMember -ObjectId $AzureADGroup1 -Tất cả $true | Thư chọn đối tượng
#EXO
$DGMembers = (Get-distributiongroupmember -identity [email protected]).primarysmtpaddress
foreach ($AzureADGroup1Member in $AzureADGroup1Members) {
#nếu người dùng đã thêm trả về $false
nếu (!($DGMembers -match $AzureADGroup1Member))
{
Add-DistributionGroupMember -Identity [email protected] -Member $AzureADGroup1Member.Mail -Confirm:$false -ErrorAction SilentlyContinue
}
Máy chủ ghi -ForegroundColor Màu xanh lục $AzureADGroup1Member.Mail"được thêm vào"
nếu (!($DGMembers -notmatch $AzureADGroup1Member))
{
Xóa-DistributionGroupMember -Identity [email protected] -Member $AzureADGroup1Member.Mail -Confirm:$false -ErrorAction SilentlyContinue
}
Máy chủ ghi -ForegroundColor Màu xanh lục $AzureADGroup1Member.Mail"đã bị xóa"
}
CẬP NHẬT: Bây giờ tôi đã tạo một kịch bản khác, nó không được gọn gàng cho lắm.
1: Xóa tất cả thành viên khỏi DG
2: Truy xuất tất cả các thành viên từ AAD SG
3: thêm tất cả các thành viên trở lại DG
#EXO: Xóa DG
$DG = "DG1"
$DGMembers = (Get-distributiongroupmember -identity $DG).PrimarySmtpAddress
foreach ($DGMember bằng $DGMembers) {
Xóa-DistributionGroupMember -Identity $DG -Member $DGMember -Confirm:$false -ErrorAction SilentlyContinue
Máy chủ lưu trữ -ForegroundColor Green $DGMember "đã bị xóa"
}
#Azure AD: Nhận AAD SG
$AzureADGroup1 = "xxxx-xxxx-xxx-xxx-xxx"
$AzureADGroup1Members = (Get-AzureADGroupMember -ObjectId $AzureADGroup1 -All $true).Mail
#EXO: Lại lấp đầy DG
foreach ($AzureADGroup1Member in $AzureADGroup1Members) {
Add-DistributionGroupMember -Identity $DG -Member $AzureADGroup1Member -Confirm:$false -ErrorAction SilentlyContinue
Write-Host -ForegroundColor Green $AzureADGroup1Member "được thêm vào"
}
Chà, bản thân nó không thành vấn đề, chỉ là AAD SG có hơn 1100 thành viên, tôi đương nhiên có thể điều hành nó vào lúc 1 giờ mỗi đêm, nhưng tôi sợ rằng anh ấy có thể không sẵn sàng vào lúc 7 giờ về lâu dài.