Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Execute a command on remote machine in python

703 views
Skip to first unread message

Roark

unread,
Nov 15, 2011, 7:04:51 AM11/15/11
to
Hi,

I am first time trying my hands on python scripting and would need
some guidance from the experts on my problem.

I want to execute a windows command within python script from a client
machine on a remote target server, and would want the output of the
command written in a file on client machine. What is the way it could
be achieved.


Thanks in advance,
Roark.

Martin P. Hellwig

unread,
Nov 15, 2011, 8:29:23 AM11/15/11
to
If your doing windows to windows then you could wrap PsExec
(sysinternals) or the open source but more or less abandoned RemCom
(http://sourceforge.net/projects/rce).

Disadvantage is that both of them are a royal PITA to wrap nicely.
There are multiple problems with re-redirected STDOUT/STDERR

Advantage is that you don't need to configure anything on the target
machine.

hth
--
mph


Jean-Michel Pichavant

unread,
Nov 15, 2011, 9:03:49 AM11/15/11
to Martin P. Hellwig, pytho...@python.org
have a look at execnet

http://codespeak.net/execnet/

It allows you to execute python code on a remote machine, assuming the
distant machine has python installed. Work fine with either nix or
windows systems.

Regarding the file transfert, it sounds like pywin32 provides the
netcopy service, but I'm not sure, I'm not working with windows.

JM

Chris Angelico

unread,
Nov 15, 2011, 9:10:51 AM11/15/11
to pytho...@python.org
On Tue, Nov 15, 2011 at 11:04 PM, Roark <suh...@gmail.com> wrote:
> Hi,
>
> I want to execute a windows command within python script from a client
> machine on a remote target server, and would want the output of the
> command written in a file on client machine. What is the way it could
> be achieved.

This looks like a job for SSH.

ChrisA

Roy Smith

unread,
Nov 15, 2011, 9:20:50 AM11/15/11
to
In article <mailman.2728.1321366...@python.org>,
You might also want to look at fabric (http://fabfile.org). It's a nice
python library for remote command execution built on top of SSH.

A more general answer is that, yes, SSH is the right thing to be looking
at for your basic connectivity, data transport and remote command
execution. But trying to deal with raw SSH will drive you batty.
Something like fabric, layered on top of SSH, will make things a lot
easier.

Marco Nawijn

unread,
Nov 15, 2011, 8:54:14 AM11/15/11
to
Hello Roark,

If the command does not change over time, an option could be to
encapsulate the command and the output behind an XML-RPC interface. I
used it several times now and for me this works perfectly. XML-RPC is
part of the Python standard library, so it should work out of the box
on windows and linux. It also supports mixed programming languages
(maybe C# on windows to get the info you want and python on linux on
the client).

Kind regards,

Marco

Rodrick Brown

unread,
Nov 15, 2011, 10:57:16 AM11/15/11
to Roark, pytho...@python.org
You could easily script this with popen calling secure shell to execute a command and capture the output.

Sent from my iPhone
> --
> http://mail.python.org/mailman/listinfo/python-list
0 new messages