+
    4SsiQ                         ^ RI t ^ RIHt ^ RIt^ RIHt ^ RIHtHt ^ RI	H
t
 ^ RIt ^ RIHtHtHtHt ^ RIHt R tR tR	 t ! R
 R]4      t ! R R]4      t ! R R]4      t ! R R]4      tR# )    N)LdbError)drsuapimisc)system_session)CommandCommandErrorSuperCommandOption)SamDBc                x    V P                  V\        P                  R.R7      pRT^ ,          9   d=   \        P                  ! Y^ ,          R,          ^ ,          P                  R4      4      pT# RpT#   \         d<   pTP                  w  rVT\        P
                  8X  d   \        RT,          4      hh Rp?ii ; i)zbGets the owner of an FSMO role

:param roledn: The DN of the FSMO role
:param role: The FSMO role
fSMORoleOwnerscopeattrsz+The '%s' role is not present in this domainNutf8)	searchldb
SCOPE_BASEr   argsERR_NO_SUCH_OBJECTr   Dndecode)samdbrolednrolerese7nummsgmaster_owners   &&&     3/usr/lib/python3/dist-packages/samba/netcmd/fsmo.pyget_fsmo_roleownerr"   $   s    ll6!$7H  J #a& u!f_&=a&@&G&G&OP    WW
#(((LtSTT	s   #A3 3B9>6B44B9c           
        VR8X  d   VP                  4       pRV,           pM4VR8X  d.   \        P                  ! VP                  4       4      pRV,           pVP	                  4       pVP                  XR.\        P                  R.R7      p	RV	^ ,          9   d    \        \        P                  ! \        P                  ! VV	^ ,          R,          ^ ,          P                  R4      4      P                  R	4      4      4      p
\        \        P                  ! WI^ ,          R,          ^ ,          P                  R4      4      4      pMV P#                  RV,          4       R# VR8X  d>   V
: RVP%                  4       : 2pVP'                  4       : RVP%                  4       : 2pMCVR8X  d=   V
: RVP                  4       : 2pVP'                  4       : RVP                  4       : 2pVP)                  4       pXX8w  Eda   VP+                  4       pVP-                  VRR7      p\/        RV,          \1        4       VVR7      p\        P2                  ! 4       p\        P                  ! WF4      Vn        \        P6                  ! V\        P8                  R4      VR&   \        P6                  ! V\        P:                  R4      VR&    VP=                  V4        \        P>                  PA                  TTT4      p T^ ,          pT^,          p\D        PF                  pTR,          p\        P>                  PI                  TTT
TT4       T P#                  RT,          4       R# V P#                  RV,          4       R#   \         d=   pTP                  w  r\!        R
T	^ ,          R,          ^ ,          : RT: R24      hRp?ii ; i  \         d'   pTP                  w  r\!        RT: RT: 24      hRp?ii ; i  \        P>                  PB                   d   p\!        RT4      hRp?ii ; i  \        P>                  PB                   d   p\!        RT4      hRp?ii ; i)zTransfer dns FSMO role. 	domaindns$CN=Infrastructure,DC=DomainDnsZones,	forestdns$CN=Infrastructure,DC=ForestDnsZones,r   zextended_dn:1:1)r   r   controlsr   GUIDz"No GUID found in naming master DN z : z 
Nz0* The '%s' role does not have an FSMO roleowner
Fz._msdcs.Tfallback_machinez	ldap://%surlsession_infocredentialslpfSMORoleOwner_DelfSMORoleOwner_AddzFailed to add role 'z': zDrsuapi Connect failed:   NNzReplication failed&FSMO transfer of '%s' role successful
'This DC already has the '%s' FSMO role
)%	domain_dnsambadn_from_dns_nameforest_dns_namehost_dns_namer   r   r   strr   r)   r   r   get_extended_componentr   r   r   writedomain_dns_nameget_ntds_GUIDget_dsServiceNameget_loadparmget_credentialsr   r   MessagednMessageElementFLAG_MOD_DELETEFLAG_MOD_ADDmodify	drs_utilsdrsuapi_connectdrsExceptionr   DRSUAPI_DRS_WRIT_REPsendDsReplicaSync)outf	sambaoptscredoptsr   r   r6   role_object	forest_dnnew_host_dns_namer   master_guidr    e3r   r   master_dns_namenew_dns_name	new_ownerr0   credsme5
connectionedrsuapi_connectiondrsuapi_handlereq_optionsNCestrs   &&&&&                        r!   transfer_dns_rolerc   ;   s    {OO%	<yH		**5+@+@+BC	<yH++-
,,{-. ^^!2 3  5C
 #a& 	Bdiiu/21vo/Fq/I/P/PQW/X)Z)?)?)GI JK svveVO-DQ-G-N-Nv-VWXL 	

FMN{,7,1,A,A,CE).)<)<)>).)>)>)@B		,7,1,A,A,CE).)<)<)>).)>)>)@B '')I,&##%((d(C+9#1#3"'B0 KKMvve)!$!3!3L474G4G4C"E
 "%!3!3I474D4D4C"E
	LLLO
	<889J9;UDJ

	;!+A']N!66KS!BOO--.@.<.9.0+? 	

<tCD

=DEA  	BJS #A 7 : :C A B B	BL  	LJScJKK	L ++ 	<7;;	< ++ 	;3T::	;sb   B*M8 O !O6 6AP) 8N?7N::N?O3!O..O36P&P!!P&)QQQc                   VP                  4       pRV,           pRVP                  4       ,          pRV,           p\        VP                  4       4      p\        P
                  ! W"P                  4       4      p\        P                  ! 4       p	\        P
                  ! VR4      V	n        VR8X  d8   \        W$V4      p
\        P                  ! R\        P                  R4      V	R&   EMKVR8X  d   \        W#V4      p
VP                  V\        P                  R	.R
7      p\        V4      ^8X  g   Q hV^ ,          R	,          ^ ,          p\        P                  ! V\        P                  R4      V	R&   MVR8X  d7   \        W%V4      p
\        P                  ! R\        P                  R4      V	R&   MVR8X  d7   \        W&V4      p
\        P                  ! R\        P                  R4      V	R&   MHVR8X  d7   \        W'V4      p
\        P                  ! R\        P                  R4      V	R&   M\        R4      hV
f   V P!                  RV,          4       R# W8w  d-    VP#                  V	4       T P!                  RT,          4       R# V P!                  RV,          4       R#   \$         d'   pTP&                  w  r\        RT: RT: 24      hRp?ii ; i)zTransfer standard FSMO role. CN=RID Manager$,CN=System,CN=Partitions,%sCN=Infrastructure, rid1becomeRidMasterpdc	objectSidr   	becomePdcnamingbecomeDomainMasterinfrastructurebecomeInfrastructureMasterschemabecomeSchemaMasterInvalid FSMO role.NzECannot transfer, no DC assigned to the %s role.  Try 'seize' instead
FzTransfer of 'z' role failed: r4   Tr5   )r6   get_config_basednr;   get_schema_basednr   r   r@   rC   rD   r"   rE   FLAG_MOD_REPLACEr   r   lenr   r=   rH   r   r   )rN   r   r   r6   rid_dn	naming_dninfrastructure_dn	schema_dnrX   rZ   r    r   side6r   r   s   &&&             r!   transfer_roler      s    !I)I5F"U%<%<%>>I,y8E++-.Iu5578IA66%ADu})%>"11%% 
 
)%DAll9!$}  F3x1}}!f[!!$++%%+ 
	)%DA"%"4"4%% #"
 
!	!)%DI*-*<*<%%(+*
&' 
	)%DA"%"4"4%% #"
 /00

[^bbc 	,LLO 	

<tCD

=DE  	,JS $c + , ,	,s   J K&!KKc            	          a  ] tR t^t o RtRtR]P                  R]P                  R]P                  /t
]! RRR]R	R
R7      ]! RRRR7      ]! RR. RORR7      .t. tR tR tRR ltRtV tR# )cmd_fsmo_seizezSeize the role.%prog [options]rO   rP   versionopts-H--URL%LDB URL for database or target serverURLHhelptypemetavardestz--forcez5Force seizing of role without attempting to transfer.
store_true)r   action--rolechoiceI  The FSMO role to seize or transfer.

rid=RidAllocationMasterRole

schema=SchemaMasterRole

pdc=PdcEmulationMasterRole

naming=DomainNamingMasterRole

infrastructure=InfrastructureMasterRole

domaindns=DomainDnsZonesMasterRole

forestdns=ForestDnsZonesMasterRole

all=all of the above

You must provide an Admin user and password.r   choicesr   c                N   VP                  4       pVP                  4       pRV,           V n        RVP                  4       ,          V n        \        VP                  4       4      V n        RV,           V n        \        P                  ! 4       pVR8X  d'   \        P                  ! W P                  4      Vn        MVR8X  d   \        P                  ! W%4      Vn        MVR8X  d'   \        P                  ! W P                  4      Vn        MeVR8X  d'   \        P                  ! W P                  4      Vn        M8VR8X  d'   \        P                  ! W P                  4      Vn        M\        R	4      hR
p\        W&P                  V4      pVek   W8w  dA   Vf<   V P                  R4        \!        V P"                  W4       V P                  R4       R# M&V P"                  P%                  RV,          4       R
# RpVf	   V'       d   V P                  RV,          4       \        P&                  ! V\        P(                  R4      VR&   VP+                  4         VP-                  V4       VR8X  d   VP/                  4        TP9                  4        T P"                  P%                  RT,          4       R# R#    RpT P                  R4        L; i  \0         d   p	T	P2                  w  rTR8X  d   T
\        P4                  8X  d|   TP7                  4        TP+                  4         TP-                  T4        Rp	?	L  \0         d7   pTP2                  w  rTP7                  4        \        RT: RT: 24      hRp?ii ; iTP7                  4        \        RT: RT: 24      hRp	?	ii ; i)zSeize standard fsmo role. rg   rf   re   ri   rl   ro   rq   rs   ru   FNAttempting transfer...z%Transfer successful, not seizing roleT!Transfer unsuccessful, seizing...r5   Seizing %s FSMO role...r   Failed to seize '' role: #FSMO seize of '%s' role successful
)r@   r6   r|   rv   r{   r;   rw   r}   rz   r   rC   r   rD   r   r"   messager   rN   r=   rE   rx   transaction_startrH   create_own_rid_setr   r   ERR_ENTRY_ALREADY_EXISTStransaction_canceltransaction_commit)selfr   r   forceserviceNamer6   rZ   seizer    e1r   r   r]   s   &&&&         r!   
seize_rolecmd_fsmo_seize.seize_role   s    --/OO%	!5	!A+e.E.E.GGU44672Y>KKM5=66%-ADU]66%+ADX66%0AD%%66%!7!78ADX66%0AD344)%t<#*=LL!9:$%dii= %LM# ! 		 J $!% &ELL2T9:!$!3!3S11"!Ao ##%4Q5=,,.0 $$&IIOOBTIJM !&J $%HI0  4WW
5=SC,H,H%H ,,.++-8Q# 8%&VV
002*,0#,7 8 88 ,,.&(,c(3 4 4)4sC   &J2 (K 2K	N$A
N"L88M91M44M99&NN$c                p   VP                  4       pVP                  4       p\        P                  ! VP	                  4       4      p	RV,           V n        RV	,           V n        \        P                  ! 4       p
VR8X  d'   \        P                  ! W P
                  4      V
n
        M8VR8X  d'   \        P                  ! W P                  4      V
n
        M\        R4      hRp\        W*P                  V4      pVem   W8w  dC   Vf>   V P                  R4        \        V P                  WCVV4       V P                  R	4       R
# M&V P                  P!                  RV,          4       R# R
pVf	   V'       dx   V P                  RV,          4       \        P"                  ! V\        P$                  R4      V
R&    VP'                  V
4       T P                  P!                  RT,          4       R
# R#    R
pT P                  R4        L; i  \(         d'   pTP*                  w  r\        RT: RT: 24      hRp?ii ; i)zSeize DNS FSMO role. r%   r'   r$   r&   ru   FNr   z&Transfer successful, not seizing role
Tr   r5   r   r   r   r   r   )r@   r6   r7   r8   r9   domaindns_dnforestdns_dnr   rC   r   rD   r   r"   r   rc   rN   r=   rE   rx   rH   r   r   )r   r   r   rP   rO   r   r   r   r6   rR   rZ   r   r    e2r   r   s   &&&&&&&         r!   seize_dns_rolecmd_fsmo_seize.seize_dns_roleN  s    --/OO%	**5+@+@+BC	BYNBYNKKM;66%!2!23AD[ 66%!2!23AD344)%t<#*=LL!9:	$)$))Y$*/1 %NO# ! 		 J $!% &ELL2T9:!$!3!3S11"!Ao0Q
 IIOOBTIJ !&J $%HI$  0WW
"$(#$/ 0 00s$   G* 3H *HH5!H00H5Nc                   VP                  4       pVP                  VR R7      p\        V\        4       WR7      p	VR8X  d   V P	                  RW4       V P	                  RW4       V P	                  RW4       V P	                  RW4       V P	                  RW4       V P                  R	WVWa4       V P                  R
WVWa4       R# VR	8X  g   VR
8X  d   V P                  W9WEWa4       R# V P	                  W9V4       R# Tr*   r,   allri   rl   ro   rq   rs   r$   r&   N)rA   rB   r   r   r   r   
r   r   r   r   rP   rO   r   r0   rY   r   s
   &&&&&&&   r!   runcmd_fsmo_seize.run  s     ##%((d(C!.*:"'0 5=OOE50OOE50OOHe3OO,e;OOHe3Ui +4Ui +4 {"dk&9##D$/8 U3    )r   r   r|   r{   rz   r}   ri   rl   rq   rs   ro   r$   r&   r   NNNNNN)__name__
__module____qualname____firstlineno____doc__synopsisoptionsSambaOptionsCredentialsOptionsVersionOptionstakes_optiongroupsr
   r;   takes_options
takes_argsr   r   r   __static_attributes____classdictcell____classdict__s   @r!   r   r      s      H 	W))G..w-- 	tW#JS	2yK"	$ 	xh 1f	0	1M( JWr7r4 4r   r   c            	          a  ] tR tRt o RtRtR]P                  R]P                  R]P                  /t
]! RRR	]R
RR7      .t. tRR ltRtV tR# )cmd_fsmo_showi  zShow the roles.r   rO   rP   r   r   r   r   r   r   r   Nc           	        VP                  4       pVP                  VR R7      p\        V\        4       WeR7      pVP	                  4       p\
        P                  ! VP                  4       4      p	RV,           p
RVP                  4       ,          pVP                  4       pRV,           pRV,           pRV	,           pVRR	3V
R
R3VRR3VRR3VRR3VRR3VRR3.pV FV  pVw  ppp \        VVV4      pVe$   V P                  V: R\        V4      : 24       K>  V P                  RV,          4       KX  	  R#   \         d.   pT P                  T: RTP                  : 24        Rp?K  Rp?ii ; i)Tr*   r,   rg   rf   re   r%   r'   rs   SchemaMasterRolerq   InfrastructureMasterRoleri   RidAllocationMasterRolerl   PdcEmulationMasterRolero   DomainNamingMasterRoler$   DomainDnsZonesMasterRoler&   ForestDnsZonesMasterRoleNz owner: z%s has no current ownerz: * )rA   rB   r   r   r6   r7   r8   r9   rv   rw   r"   r   r;   r   )r   r   rP   rO   r   r0   rY   r   r6   rR   r|   r{   r}   rz   r   r   mastersmasterrD   
short_name	long_namer]   s   &&&&&                 r!   r   cmd_fsmo_show.run  s   ##%((d(C!.*:"'0 OO%	**5+@+@+BC	09<&)@)@)BB	++-	-	9=	I=	Ix);<%'79STE#<=u&>?x)AB +/IJ +/IJ F*0'RYB+E2zB%LL9c&k!JKLL!:i!HI    B9aii@AABs   #2D5D55E- "E((E- )NNNNr   r   r   r   r   r   r   r   r   r   r   r
   r;   r   r   r   r   r   r   s   @r!   r   r     sj      H 	W))G..w-- 	tW#JS	2M
 J"B "Br   r   c            	          a  ] tR tRt o RtRtR]P                  R]P                  R]P                  /t
]! RRR	]R
RR7      ]! RR. RORR7      .t. tRR ltRtV tR# )cmd_fsmo_transferi  zTransfer the role.r   rO   rP   r   r   r   r   r   r   r   r   r   r   r   Nc                J   VP                  4       pVP                  VR R7      p\        V\        4       WR7      p	VR8X  d   \	        V P
                  RV	4       \	        V P
                  RV	4       \	        V P
                  RV	4       \	        V P
                  RV	4       \	        V P
                  RV	4       \        V P
                  WTR	V	4       \        V P
                  WTR
V	4       R# VR	8X  g   VR
8X  d   \        V P
                  WTW94       R# \	        V P
                  W94       R# r   )rA   rB   r   r   r   rN   rc   r   s
   &&&&&&&   r!   r   cmd_fsmo_transfer.run  s     ##%((d(C!.*:"'0 5=$))UE2$))UE2$))Xu5$))%5u=$))Xu5dii)52diik#% {"dk&9!$))Y$Ndii5r   r   r   r   r   r   s   @r!   r   r     s      H 	W))G..w-- 	tW#JS	2xh 1f	0	1M" J6 6r   r   c                   Z    ] tR tRtRt/ t]! 4       ]R&   ]! 4       ]R&   ]! 4       ]R&   Rt	R# )cmd_fsmoi  z:Flexible Single Master Operations (FSMO) roles management.r   showtransferr   N)
r   r   r   r   r   subcommandsr   r   r   r   r   r   r!   r   r     s0    DK)+K'/K/1K
r   r   )r7   samba.getoptgetoptr   r   r   samba.dcerpcr   r   
samba.authr   samba.drs_utilssamba.netcmdr   r   r	   r
   samba.samdbr   r"   rc   r   r   r   r   r   r   r   r!   <module>r      st   (   
  & %   .Wt<~K4W K4\4BG 4Bn56 56p2| 2r   