
    %
i#                         d dl Z d dlZd dlZd dlmZ d dlZd dlZd dlZd dlZd a	da
d Zd Zd Zd Zd Zd Zdd	Zdd
ZddZd Zd Zd Zedk    r e             dS dS )    N)Callablec                 6    t           rt          |            d S d S N)verbose_levelprint)msgs    C:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\venv\Lib\site-packages\win32/Demos/win32netdemo.pyverboser
      s#     c




     c                     d} 	 t          j        t          |            t          d           n# t           j        $ r Y nw xY wi }| |d<   d|d<   t
          j        |d<   d|d<   t
          j        t
          j        z  |d	<   t          j	        t          d
|           	 	 t          j
        t          | dd           t          d           n# t           j        $ r Y nw xY wt          j
        t          | dd           t          j        t          |            n# t          j        t          |            w xY wt          d           dS )z.Creates a new test user, then deletes the userPyNetTestUserz*Warning - deleted user before creating it!namedeletemepasswordprivz'Delete me - created by Python test codecommentflags   wrongnewz:ERROR: NetUserChangePassword worked with a wrong password!z9Created a user, changed their password, and deleted them!N)win32net
NetUserDelserverr   errorwin32netconUSER_PRIV_USERUF_NORMAL_ACCOUNT	UF_SCRIPT
NetUserAddNetUserChangePassword)testNameds     r	   
CreateUserr#      sZ   HFH---:;;;;>    	AAfIAjM*AfI<AiL.1FFAgJ1%%%.	*68WeLLLNOOOO~ 	 	 	D	&vxUKKKFH----FH----	
EFFFFFs8   ). A A +C D CD CD D0c                  (   d} d}	 t          j        t          dt          j        |           \  }}} t          dt          |          |fz             |D ]}t          d|d         z             |dz  } | snq|s
J d            t          d           d	S )
zEnumerates all the local usersr   r      z3Call to NetUserEnum obtained %d entries of %d totalzFound user %sr   zCould not find any users!zEnumerated all the local usersN)r   NetUserEnumr   r   FILTER_NORMAL_ACCOUNTr
   lenr   )resumenuserdatatotalusers        r	   UserEnumr.   1   s    FE&2A{8&
 
eV 	ASYYPUDVV	
 	
 	
  	 	DOd6l2333QJEE 	 -----5	
*+++++r   c            	      t   d} d}	 t          j        t          d|          \  }}}|D ]q}t           dj        d	i |           d}	 t          j        t          |d         d|          \  }}}|D ]!}t           dj        d	i |           | dz  } "|dk    rnRr|sn| s
J d            t          d           dS )
z Enumerates all the domain groupsr   r   Found group {name}:{comment} r   z Member {name}0Couldn't find a single member in a single group!zEnumerated all the groupsN )r   NetGroupEnumr   r
   formatNetGroupGetUsersr   )nmembersr)   r+   r,   groupmemberresume
memberdatamembers           r	   	GroupEnumr;   E   s    HF&3FAvFFeV 	 	E:3:CCUCCDDDL2:2KE&M1f3 3/
E< ) " "F3,3==f==>>>MHH1$$  	!" GGGGG8	
%&&&&&r   c            	         d} d}	 t          j        t          d|           \  }}} |D ]}t           dj        di |           d}	 t          j        t          |d         d|           \  }}}|D ]T}t          j        t          |d                   \  }}	}
|dz  }t          d                    ||d                              U|dk    rn| sn|s
J d	            t          d
           dS )zEnumerates all the local groupsr   r   r0   r      sidz Member {} ({})domainandnamer1   zEnumerated all the local groupsNr2   )	r   NetLocalGroupEnumr   r
   r4   NetLocalGroupGetMemberswin32securityLookupAccountSidr   )r)   r6   r+   r,   r7   r8   r9   r:   usernamedomaintypes              r	   LocalGroupEnumrG   ^   sH   FH&8FKKeV 	 	E:3:CCUCCDDDL2:2RE&M1f3 3/
E< ) Y YF-:-Ku. .*Hfd MH-44Xvo?VWWXXXX1$$  	'( GGGGG8	
+,,,,,r   c                  <   d} 	 t          j        t          dt          j        d|           \  }}} |D ]W}t          d|d         z             d}	 t          j        t          d|          \  }}}|D ]}t          d|z             |sn:X| snt          d	           dS )
z%Enumerates all servers on the networkr   r   d   NzFound server %sr   r=   zE %(netname)s (%(path)s):%(remark)s - in use by %(current_uses)d usersz)Enumerated all the servers on the network)r   NetServerEnumr   r   SV_TYPE_ALLr
   NetShareEnumr   )r)   r+   r,   sshareresume	sharedatashares          r	   
ServerEnumrQ   z   s    F&4C0$
 
eV  	 	A%&	1222K
080EA{1 1-	5+ '  E_     # 
  	)* 

566666r   c                 &   d}| t          j                    } |                     d          dk     rt          j                    dz   | z   } d}	 t	          j        t          |           t          d           n# t          j        $ r Y nw xY wd|i}t	          j	        t          d|           	 d	| i}t	          j
        t          |||g           t	          j        t          ||          \  }}}t          d
|           |d         d	         | k    rt          d|  d|           t	          j        t          |d |D                        t	          j        t          |           n# t	          j        t          |           w xY wt          d           dS )zNCreates a local group, adds some members, deletes them, then removes the groupr%   N\r   python_test_groupz4WARNING: existing local group '%s' has been deleted.r   r   r?   zmembers arezERROR: LocalGroup just added z, but members are c                     g | ]
}|d          S )r?   r2   ).0ms     r	   
<listcomp>zLocalGroup.<locals>.<listcomp>   s    <<<1Ao.<<<r   zHCreated a local group, added and removed members, then deleted the group)win32apiGetUserNamefindGetDomainNamer   NetLocalGroupDelr   r   r   NetLocalGroupAddNetLocalGroupAddMembersrA   NetLocalGroupDelMembers)unamelevelr7   
group_dataumemtotress           r	   
LocalGrouprh      s   E}$&&zz$!&((4/%7E!&%000DEEEE>   %Jfa4441e$(sCCC 8NNS#mS!!!q6/"e++R%RR3RRSSS(E<<<<<	
 	
 	
 	!&%0000!&%0000	
TUUUUUs   )A7 7B	B	,BE# #E?c                     | t          j                    } t          d           t          j        t
          | d          }|                                D ]\  }}t          | d|            dS )z0Dumps level 3 information about the current userNz&Dumping level 3 information about userr%   =)rY   rZ   r   r   NetUserGetInfor   itemsr
   )userNameinfokeyvals       r	   GetInforq      sy    '))	
2333"68Q77DJJLL    S3   r   c                    | t          j                    } t          j        t          | d          }	 |                                }d|d<   t          j        t          | d|           t          j        t          | d          d         }t          |          dk    rt          d|z            t          d           t          j        t          | d|           dS # t          j        t          | d|           w xY w)z>Attempts to change the current users comment, then set it backNr%   zTest commentusr_commentz-Could not read the same comment back - got %szChanged the data for the user)
rY   rZ   r   rk   r   copyNetUserSetInfostrRuntimeErrorr   )rm   oldDatar"   r   s       r	   SetInfory      s    '))%fh::G	>LLNN)-!Q777%fh::=Is88~%%NQTTUUU-...!W=====!W====s   B
C C8c                  0    t          j        dd          } dS )z=Doesn't actually change anything, just make sure we could ;-)Ni  )r   NetWkstaGetInfo)rn   s    r	   SetComputerInfor|      s    #D#..DDDr   c                    dd l }t          d|j                            t          j        d                   z             t          d           t          d           t          d           t          d           | D ]}t          |j        d|j                   t                       t          d           t	          j        d	           d S )
Nr   z&Usage: %s [-s server ] [-v] [Test ...]z'  -v : Verbose - print more informationz:  -s : server - execute the tests against the named serverz-  -c : include the CreateUser test by defaultzwhere Test is one of::z-If not tests are specified, all tests are runr   )	osr   pathbasenamesysargv__name____doc__exit)testsr   ts      r	   usager      s    III	
2RW5E5Echqk5R5R
RSSS	
3444	
FGGG	
9:::	
!""" * *aj#qy))))	GGG	
9:::HQKKKKKr   c                  
   d t                                                      D             } t          j        t          j        dd          d          \  }}d}|D ]:\  }}|dk    r|a|dk    rt          |            |dk    r
t          dz  a|dk    rd	};t          |          d
k    r.t          d           | }|s|
                    t                     n@g }|D ];}| D ]$}|j        |k    r|                    |            n%t          d|z             <t          |          st          d           t          |            |D ]>}		  |	             #  t          d|	j        z             t          j                     Y <xY wd S )Nc                 J    g | ] }t          |t                    |j        |!S r2   )
isinstancer   r   )rV   obs     r	   rX   zmain.<locals>.<listcomp>   s.    XXXB
2x0H0HXRZXRXXXr   r   zs:hvcFz-sz-hz-vz-cTr   z;Running all tests - use '-h' to see command-line options...zTest '%s' unknown - skippingzNothing to do!zTest %s failed)globalsvaluesgetoptr   r   r   r   r   r(   r   remover#   r   append	traceback	print_exc)
r   optsargscreate_useroptrp   dotestsargr   tests
             r	   mainr      s   XX'))**,,XXXEsx|W55JD$K 
 
S$;;F$;;%LLL$;;QM$;;K
4yyA~~KLLL 	'NN:&&& 	< 	<C < <:$$NN1%%%E % 4s:;;;w<< e " "	"DFFFF	""T]2333!!!!!" "s   
E,F __main__r   )r   r   r   collections.abcr   rY   r   r   rB   r   r   r
   r#   r.   r;   rG   rQ   rh   rq   ry   r|   r   r   r   r2   r   r	   <module>r      sY    



     $ $ $ $ $ $          	  
G G G8, , ,(' ' '2- - -87 7 76V V V V@       > > > >"/ / /  &" &" &"R zDFFFFF r   