Pypsexec Versions Save

Remote Windows execution like PsExec on Python


1 year ago

0.3.0 - 2021-10-22

  • Dropped Python 2.7 and 3.5, new minimum is 3.6
  • Updated the PAExec executable to 1.29


2 years ago
  • Breaking change where processes are run as the native architecture bitness, e.g. 64-bit on 64-bit OS' and 32-bit on 32-bit OS'
    • This changes the old behaviour of always running as a 32-bit process.
    • Any application relying on running with 32-bit paths will need to set wow64=True on run_executable() to restore the older behaviour.
  • Dropped support for Python 2.6 and Python 3.4.
  • Updated the PAExec executable to 1.27.
  • Handle non-ASCII characters when enumerating the services on the remote host.


5 years ago

Initial release of pypsexec


5 years ago
  • Added retry to opening main named pipe in case the service isn't up yet.
  • Don't fail immediately if failed to write to stdin, get the error from the PAExec service


5 years ago
  • Updated README to fix some errors
  • Only disconnect from the connection as that covers all objects opened on that connection
  • Changed stdin pipe to not run in a thread to save on execution costs


5 years ago
  • Added six as a project dependency, didn't really matter as smbprotocol already had this
  • Use smbprotocol compounding requests that are related to reduce number of packets being sent
  • Changed smbprotocol to Open.create
  • Added the ability to control how the stdout/stderr buffer is handled
  • Added the ability to pass in a generator to the stdin buffer
  • Made the error handling of the output pipes more reliant than before


5 years ago

Changes to arguments to avoid Python keywords or simplify their meanings Change the connection timeout param to be set on the connect function instead of init Tried to make the tests a bit more reliable by adding a short sleep at the end


5 years ago

Added some reliability increases when dealing with services. Added the ability to set a connection timeout.


5 years ago
  • Fixed issue with SCMR string marshaling of certain string lengths.
  • Add function to cleanup all older executables and services from previous runs
  • Fixed up some typos in the example on the README


5 years ago

Fixes an issue with Server 2008 which does not support messages larger than 64kb. The PAExec exectuable is now sent in chunks with the chunk size being the max write length that was negotiated by SMB. For newer OS's this changes nothing as the negotiated size is larger than the PAExec payload.