溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PowerShell 遞歸查詢組成員

發(fā)布時間:2020-07-12 15:33:59 來源:網絡 閱讀:1771 作者:beanxyz 欄目:系統(tǒng)運維

豆子今天遇見個小問題,發(fā)現(xiàn)某個Office365的郵件組的成員組里面居然沒有配置郵件,這樣導致個別用戶沒有收到郵件。為了避免這個情況再次發(fā)生,需要對所有的郵件組都做個檢查。問題在于郵件組可能嵌套了多個組,如果人工去看實在太累,寫了個小腳本掃一下。


因為是嵌套的組,于是很自然的想到了遞歸。指定一個郵件組,去掃一下成員,看看該成員是否配置了郵箱地址,如果這個成員剛好又是一個組,那么調用自己,重復上述步驟


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
    {
    }
}


簡單測試一下我的函數(shù),結果如下: 普通用戶(×××),綁定了郵件的組(藍色),沒有綁定郵件的組(紅色)

PowerShell 遞歸查詢組成員


成功。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI