none
Powershell에서 FSMO 확인 RRS feed

답변

  • 안녕하십니까? 김도남 님

    Microsoft TechNet Forum 사이트를 방문해 주셔서 감사합니다.

     

    문의 하신 “Powershell에서 FSMO 확인”에 대한 답변을 드리겠습니다.

     

    Step 1 : 모듈 확인

     

    아래의 Cmdlet은 사용가능한 확장 Module 목록을 제공을 합니다.

     

    Get-Module -ListAvailable

     

    아래의Cmdlet Active Directory에 대한 Cmdlet을 추가로 로드를 합니다.

     

    Import-Module ActiveDirectory

     

     

    Step 2 : Module

     

    아래의 Cmdlet Forest 정보를 제공을 합니다.

     

    Get-ADForest | fl SchemaMaster, DomainNamingMaster

     

    아래의 Cmdlet Domain 정보를 제공을 합니다.

     

    Get-ADDomain | fl PDCEmulator, RIDMaster, InfrastructureMaster

     

     

     

    Step 3 : Native Command

     

    Netdom command-line을 이용해서 FSMO 정보를 제공을 합니다.

     

    netdom query /domain ForumQA.com fsmo

     

     

    Step 4 : .NET

     

    아래의 Script .NET DirectoryEntry Class 를 이용해서 FSMO 정보를 제공을 합니다.

     

    function Get-FSMOOwner

    {

        param(

            [Parameter(Mandatory=$true)]

            $domainname

        )             

       

        trap [Exception]

        {

            Write-Host $_.Exception.Message;

            continue;

        }

       

        $schemanamingContext = $rootdse.schemanamingContext   

        $configurationContext = $rootdse.configurationNamingContext

        $NamingContext = $rootdse.defaultNamingContext

       

        $schema = New-Object System.DirectoryServices.DirectoryEntry "LDAP://$schemanamingContext"

       

        (($schema.fsmoroleowner -split ',')[1] -split '=')[1], $domainname -join '.'

       

        $partitions = New-Object System.DirectoryServices.DirectoryEntry "LDAP://CN=Partitions,$configurationContext"

       

        (($partitions.fsmoroleowner -split ',')[1] -split '=')[1], $domainname -join '.'

       

        $domain = New-Object System.DirectoryServices.DirectoryEntry "LDAP://$namingContext"

       

        (($domain.fsmoRoleOwner -split ',')[1] -split '=')[1], $domainname -join '.'

       

        $rid = New-Object System.DirectoryServices.DirectoryEntry "LDAP://CN=RID Manager$,CN=System,$NamingContext"

       

        (($rid.fSMORoleOwner -split ',')[1] -split '=')[1], $domainname -join '.'

       

        $infrstructure = New-Object System.DirectorySErvices.DirectoryEntry "LDAP://CN=Infrastructure,$namingContext"

       

        (($infrstructure.fSMORoleOwner -split ',')[1] -split '=')[1], $domainname -join '.'    

         

    }

     

     

    Get-FSMOOwner "ForumQA.com"

     

     

     

    참고 자료

     

    Active Directory Cmdlets in Windows PowerShell

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

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

    • 답변으로 표시됨 김도남 2011년 11월 28일 월요일 오전 8:39
    2011년 11월 25일 금요일 오전 9:44
    중재자