[python-win32] (no subject)

walou c.walou at laposte.net
Fri Nov 12 16:16:47 CET 2004


Thanks for your quick answer, I've thought a little more about it and
ftp, ssh, and other external methods can't be used. Our servers are
installed by teachers, or other tech assistants and we don't have any
control on the server's accounts. So we have to use a built-in method to
transfert files. XML-RPC should be a good solution.

About the problem about registry modification, we've used a brutal
method. ;-)

user open a session on XP, samba preexec sends the remote registry
function to the NT service which loops 300 times (2/10 seconds
interval). The samba server doesn't wait for the registry to be
modified, continue its process, user gets his registry hive, loop's
still runing and can now modify the registry.

I hope that one day we'll write a dll that gets the "open session" event
and does the process cleanly.

Klaas T.

Le ven 12/11/2004 à 15:44, Tim Golden a écrit :
> [walou]
> | Hello,
> | In order to automatically update our NT service, we need to transfert
> | some files or a zipped file from the server to the clients.
> | My idea is to create a function that launches an other program which
> | would stop the service, update it and start it.
> | Have somebody already done that sort of update ? What's the 
> | best way to
> | transfert files ?
> 
> I haven't done this myself, but it looks like a case for WMI.
> Maybe something like the following (completely untested):
> 
> <code>
> 
> import wmi
> import win32file
> 
> clients = ["W001", "W002", "W003"]
> 
> for client in clients:
>   c = wmi.WMI (client)
>   for s in c.Win32_Service (Name='MyService'):
>     s.StopService () # or PauseService etc.
>     # Use whatever method to copy the file, eg
>     win32file.CopyFile ("info.dat", r"\\%s\share\info.dat" % client)
>     s.StartService () # or ResumeService etc.
> 
>   print client, "updated successfully"
> 
> </code>
> 
> Obviously, this is the barebones framework; you need exception
> checking, possibly threads depending on how many clients you
> have etc.
> 
> As to what file transfer is best, I'd use a straight Win32 copy
> unless you had some performance or security-related reason not
> to. Then you could look in to ssh-based methods (scp, sftp, whatever)
> but there tend to be fewer implementations of these in Win32.
> 
> TJG
> 
> ________________________________________________________________________
> This e-mail has been scanned for all viruses by Star. The
> service is powered by MessageLabs. For more information on a proactive
> anti-virus service working around the clock, around the globe, visit:
> http://www.star.net.uk
> ________________________________________________________________________
> _______________________________________________
> Python-win32 mailing list
> Python-win32 at python.org
> http://mail.python.org/mailman/listinfo/python-win32



More information about the Python-win32 mailing list