none
Error al cambiar el atributo FsmoRolerOwner RRS feed

  • Pregunta

  • Hola:

    El atributo FsmoRolerOwner me sale de la siguiente manera:

    CN=NTDS Settings,CN=oldserver,CN=Servers,CN=Default_site,CN=Sites,CN=Configuration,DC=contoso,DC=com

    y quiero cambiarlo por

    CN=NTDS Settings,CN=newserver,CN=Servers,CN=Default_site,CN=Sites,CN=Configuration,DC=contoso,DC=com

    Pero al intentar hacerlo me da el siguiente error:

    Error de la operación. Código de error:0x20aeNo se puede leer el atributo de propietario de rol000020AE: SvcErr: DSID-031524F1, problem 5003 (WILL_NOT_PERFORM),data 0

    El servidor oldserver sigue estando en el dominio y ha pasado a ser un controlador secundario de dominio y no posee ningún rol, todos están transferidos al servidor newserver, el sistema operativo del servidor oldserver es Windows server 2003 R2 SP1 mientras que el del newserver es Windows server 2012 R2

    ¿Que podría hacer para poder cambiar ese atributo?

    Saludos

    viernes, 19 de febrero de 2016 11:20

Todas las respuestas

  • 1) You should try to change attribute FsmoRolerOwner  under user with rights "Enterprise Administrators" and "Domain Administrators" .

    2) If your attempt failed , you can try to use next script under user with rights "Enterprise Administrators" and "Domain Administrators" .  

    Don't forget  to change  ( DC=contoso,DC=com) to your domain name , for example ,  if your domain is office.local =>  DC=office, DC=local .

    cscript fixfsmo.vbs DC=DomainDnsZones,DC=contoso,DC=com
    '-------fixfsmo.vbs------------------
    const ADS_NAME_INITTYPE_GC = 3
    const ADS_NAME_TYPE_1779 = 1
    const ADS_NAME_TYPE_CANONICAL = 2

    set inArgs = WScript.Arguments

    if (inArgs.Count = 1) then
    ' Assume the command line argument is the NDNC (in DN form) to use.
    NdncDN = inArgs(0)
    Else
    Wscript.StdOut.Write "usage: cscript fixfsmo.vbs NdncDN"
    End if

    if (NdncDN <> "") then

    ' Convert the DN form of the NDNC into DNS dotted form.
    Set objTranslator = CreateObject("NameTranslate")
    objTranslator.Init ADS_NAME_INITTYPE_GC, ""
    objTranslator.Set ADS_NAME_TYPE_1779, NdncDN
    strDomainDNS = objTranslator.Get(ADS_NAME_TYPE_CANONICAL)
    strDomainDNS = Left(strDomainDNS, len(strDomainDNS)-1)

    Wscript.Echo "DNS name: " & strDomainDNS

    ' Find a domain controller that hosts this NDNC and that is online.
    set objRootDSE = GetObject("LDAP://" & strDomainDNS & "/RootDSE")
    strDnsHostName = objRootDSE.Get("dnsHostName")
    strDsServiceName = objRootDSE.Get("dsServiceName")
    Wscript.Echo "Using DC " & strDnsHostName

    ' Get the current infrastructure fsmo.
    strInfraDN = "CN=Infrastructure," & NdncDN
    set objInfra = GetObject("LDAP://" & strInfraDN)
    Wscript.Echo "infra fsmo is " & objInfra.fsmoroleowner

    ' If the current fsmo holder is deleted, set the fsmo holder to this domain controller.

    if (InStr(objInfra.fsmoroleowner, "\0ADEL:") > 0) then

    ' Set the fsmo holder to this domain controller.
    objInfra.Put "fSMORoleOwner", strDsServiceName
    objInfra.SetInfo

    ' Read the fsmo holder back.
    set objInfra = GetObject("LDAP://" & strInfraDN)
    Wscript.Echo "infra fsmo changed to:" & objInfra.fsmoroleowner

    End if

    End if

    Burlakov Edward ,Novosobirsk, Russia

    lunes, 8 de mayo de 2017 3:02