Executing .exe on a remote Windows machine
clp2 at rebertia.com
Thu Nov 8 17:32:41 CET 2012
On Thursday, November 8, 2012, Kevin Holleran wrote:
> > wrote:
>> My goodness.... psexec.
>> thanks.... can't believe that didn't come to me...
>> > wrote:
>>> On 08/11/2012 14:25, Kevin Holleran wrote:
>>> > Good morning,
>>> > I wrote a python script to connect out to a bunch of my remote machines
>>> > that are running some software. It modifies a bunch of the config
>>> > for me. After making the changes, I need to restart the software. The
>>> > way to do this is to call an .exe passing in a argument 'restart'
>>> > Simply restarting services is NOT acceptable & rebooting the machine
>>> > isn't either.
>>> > I was trying to find a way to simply call the .exe on the remote
>>> > with subprocess but how can I get it to execute on the remote machine?
>>> > These machines do not have SSH.
>>> WMI can usually help with this (although there are limitations on what
>>> you can execute via WMI). Also people recommend sysinternals' psexec.
>>> (I've never tried it myself).
> OK, not quite resolved yet....
> My code....
> print("Attempting to restart Splunk...")
> subprocess.call(["psexec", "\\\\" + host, "'c:\\Program
> Files\\Splunk\\bin\\splunk.exe'", "restart"])
> & am getting:
> Attempting to restart Splunk...
> PsExec v1.98 - Execute processes remotely
> Copyright (C) 2001-2010 Mark Russinovich
> Sysinternals - www.sysinternals.com
> PsExec could not start 'c:\Program Files\Splunk\bin\splunk.exe' restart on
> The filename, directory name, or volume label syntax is incorrect.
> I am simply trying to restart the splunk forwarder instance....
> Any thoughts??
Remove the apostrophes surrounding the path to Splunk's executable. The
subprocess module already takes care of the quoting for you, so the
apostrophes are unnecessary and are being interpreted literally.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-list