i#ddlZddlZddlZddlmZddlZddlZddlZddlZda da dZ dZ dZ dZdZdZdd Zdd Zdd Zd Zd ZdZedkr edSdS)N)Callablec6trt|dSdSN) verbose_levelprint)msgs FC:\PYTHON\_runtimes\venv\Lib\site-packages\win32/Demos/win32netdemo.pyverboser s# c cd} tjt|tdn#tj$rYnwxYwi}||d<d|d<t j|d<d|d<t jt jz|d <tj td | tj t|d d td n#tj$rYnwxYwtj t|dd tjt|n#tjt|wxYwtddS)z.Creates a new test user, then deletes the user PyNetTestUserz*Warning - deleted user before creating it!namedeletemepasswordprivz'Delete me - created by Python test codecommentflagswrongnewz:ERROR: NetUserChangePassword worked with a wrong password!z9Created a user, changed their password, and deleted them!N) win32net NetUserDelserverrerror win32netconUSER_PRIV_USERUF_NORMAL_ACCOUNT UF_SCRIPT NetUserAddNetUserChangePassword)testNameds r CreateUserr#sZH FH--- :;;;; >      AAfIAjM*AfI>>MHH1$$   !" GGGGG8 %&&&&&r c d}d} tjtd|\}}}|D]}tdjd i|d} tjt|dd|\}}}|D]T}t jt|d\}} } |dz }td||dU|dkrn|sn|s Jd td d S) zEnumerates all the local groupsrrr0rsidz Member {} ({}) domainandnamer1zEnumerated all the local groupsNr2) rNetLocalGroupEnumrr r4NetLocalGroupGetMembers win32securityLookupAccountSidr) r)r6r+r,r7r8r9r:usernamedomaintypes r LocalGroupEnumrG^sH FH&8FKKeV  E :3:CCUCC D D DL 2:2RE&M1f33/ E<)YYF-:-Ku ..*HfdMH-44Xvo?VWWXXXX1$$   '( GGGGG8 +,,,,,r c<d} tjtdtjd|\}}}|D]W}t d|dzd} tjtd|\}}}|D]}t d|z|sn:X|sntd dS) z%Enumerates all servers on the networkrrdNzFound server %srr=zE %(netname)s (%(path)s):%(remark)s - in use by %(current_uses)d usersz)Enumerated all the servers on the network)r NetServerEnumrr SV_TYPE_ALLr NetShareEnumr)r)r+r,s shareresume sharedatashares r ServerEnumrQzs F&4 C0$  eV  A %& 1 2 2 2K 080EA{11- 5+'E_ #   )* 566666r c&d}|tj}|ddkrtjdz|z}d} t jt |tdn#tj$rYnwxYwd|i}t j t d| d |i}t j t |||gt j t ||\}}}td ||dd |krtd |d |t j t |d |Dt jt |n#t jt |wxYwtddS)zNCreates a local group, adds some members, deletes them, then removes the groupr%N\rpython_test_groupz4WARNING: existing local group '%s' has been deleted.rrr?z members arezERROR: LocalGroup just added z, but members are cg|] }|d S)r?r2).0ms r zLocalGroup..s<<<1Ao.<<     %J fa444 1 e $(sCCC 8NN S# mS!!! q6/ "e + + R%RR3RR S S S( E<<<<<    !&%0000!&%0000 TUUUUUs )A77B B ,BE##E?c|tj}tdtjt |d}|D]\}}t|d|dS)z0Dumps level 3 information about the current userNz&Dumping level 3 information about userr%=)rYrZrrNetUserGetInforitemsr )userNameinfokeyvals r GetInforqsy')) 2333  "68Q 7 7DJJLL  S3  r c|tj}tjt|d} |}d|d<tjt|d|tjt|dd}t|dkrtd|ztdtjt|d|dS#tjt|d|wxYw)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 %szChanged the data for the user) rYrZrrkrcopyNetUserSetInfostr RuntimeErrorr)rmoldDatar"rs r SetInforys'))%fh::G > LLNN)-!Q777%fh::=I s88~ % %NQTTUU U -...!W=====!W====s B CC8c0tjdd}dS)z=Doesn't actually change anything, just make sure we could ;-)Ni)rNetWkstaGetInfo)rns r SetComputerInfor|s  #D# . .DDDr cddl}td|jtjdztdtdtdtd|D]}t|jd|jttdt jd dS) Nrz&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 defaultzwhere Test is one of::z-If not tests are specified, all tests are runr) osrpathbasenamesysargv__name____doc__exit)testsrts r usagers III 2RW5E5Echqk5R5R RSSS 3444 FGGG 9::: !""" ** aj#qy)))) GGG 9:::HQKKKKKr c dtD}tjtjddd\}}d}|D]:\}}|dkr|a|dkrt ||dkr tdz a|dkrd };t|d kr.td |}|s| tn@g}|D];}|D]$}|j |kr| |n%td |z} | #td| j ztjY.s. X X XB 2x0H0H XRZ XR X X Xr rzs:hvcFz-sz-hz-vz-cTrz;Running all tests - use '-h' to see command-line options...zTest '%s' unknown - skippingzNothing to do!zTest %s failed)globalsvaluesgetoptrrrrrr(rremover#rappend traceback print_exc) roptsargs create_useroptrpdotestsargrtests r mainrs X X'))**,, X X XEsx|W55JD$K  S $;;F $;; %LLL $;; Q M $;;K 4yyA~~ KLLL ' NN: & & & < rsY $$$$$$  GGG8,,,('''2---87776VVVV@    >>>>"///   &"&"&"R zDFFFFFr