您好,登錄后才能下訂單哦!
豆子今天遇見個小問題,發現某個Office365的郵件組的成員組里面居然沒有配置郵件,這樣導致個別用戶沒有收到郵件。為了避免這個情況再次發生,需要對所有的郵件組都做個檢查。問題在于郵件組可能嵌套了多個組,如果人工去看實在太累,寫了個小腳本掃一下。
因為是嵌套的組,于是很自然的想到了遞歸。指定一個郵件組,去掃一下成員,看看該成員是否配置了郵箱地址,如果這個成員剛好又是一個組,那么調用自己,重復上述步驟
function get-member { [CmdletBinding()] [Alias()] [OutputType([int])] Param ( # Param1 help description [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true, ValueFromPipeline=$true, Position=0)] [string] $name ) Begin { } Process { $a=Get-DistributionGroupMember $name -ErrorAction SilentlyContinue if($a -eq $null){ return } foreach($b in $a){ if (($b.Recipienttype -eq'Usermailbox') -or ($b.Recipienttype -eq 'MailContact') -or ($b.Recipienttype -eq 'User')){ write-host $b.name -ForegroundColor DarkYellow } else{ if($b.primarysmtpaddress -eq ""){ write-host $b.name -ForegroundColor red } else{ write-host $b.name -ForegroundColor Cyan get-member $b.name } } } } End { } }
簡單測試一下我的函數,結果如下: 普通用戶(×××),綁定了郵件的組(藍色),沒有綁定郵件的組(紅色)
成功。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。