none
[Exchange Shell Tips] 메일 그룹에서 비활성화된 구성원 제거 RRS feed

  • 일반 토론

  • 질문

     

    Exchange Shell에서 Disribution Group에 속한 계정중에 비활성화된 계정을 쉽게 제거할 수 있습니다.

     

    답변

     

    Step 1 : 비활성된 구성원 제거

    아래의 ScriptGroup의 비활성화된 구성원을 제거를 합니다. 각 그룹의 구성원의 정보를 제공받아 UserAccountControl의 속성을 참조해서 비활성화된 구성원을 찾을 수 있습니다.

     

    function Clear-DisabledUserofDG
    {

        $groups = Get-DistributionGroup -ResultSize Unlimited

        foreach($group in $groups){
       

        Get-DistributionGroupMember $group |

        ?{$_.RecipientType -like '*User*' -and $_.ResourceType -eq $null} |

        Get-User | ?{$_.UserAccountControl -match 'AccountDisabled'} |

        Remove-DistributionGroupMember $group -Confirm:$false   
       

        }

    }

     

    사용

    Clear-DisabledUserOfDG

     

     

    Step 2 : 리포트

    아래의 Script는 위의 Script Report기능을 추가했습니다. 결과를 변수에 저장한 후 CSV파일 포맷으로 저장을 합니다.

     

    function Clear-DisabledUserOfDGwithReport
    {

        $groups = Get-DistributionGroup -ResultSize Unlimited   

        $report = foreach($group in $groups){   

        Get-DistributionGroupMember $group |

        ?{$_.RecipientType -like '*User*' -and $_.ResourceType -eq $null} |

        Get-User | ?{$_.UserAccountControl -match 'AccountDisabled'} |

        Select-Object Name,RecipientType,@{n='Group';e={$group}}

       

        }   

        if($report -ne $null)
        {

            $report | Export-CSV c:\Clear_DisabledUserOfDGwithReport.csv -NoType

        }   

    }

     

    사용

    Clear-DisabledUserOfDGwithReport

     

    참고 자료

    Get-DistributionGroup

    http://technet.microsoft.com/en-us/library/bb124755.aspx

    Remove-DistributionGroupMember

    http://technet.microsoft.com/en-us/library/aa998016.aspx

    SELECT Element | select Object

    http://msdn.microsoft.com/en-us/library/ms535893(VS.85).aspx

    2011년 10월 24일 월요일 오전 9:16
    중재자