Skip to content

Latest commit

 

History

History
495 lines (455 loc) · 19.8 KB

community.windows.win_psexec_module.rst

File metadata and controls

495 lines (455 loc) · 19.8 KB

community.windows.win_psexec

Runs commands (remotely) as another (privileged) user

  • Run commands (remotely) through the PsExec service.
  • Run commands as another (domain) user (with elevated privileges).

The below requirements are needed on the host that executes this module.

  • Microsoft PsExec
Parameter Choices/Defaults Comments
chdir
path
Run the command from this (remote) directory.
command
string / required
The command line to run through PsExec (limited to 260 characters).
elevated
boolean
    Choices:
  • no ←
  • yes
Run the command with elevated privileges.
executable
path
Default:
"psexec.exe"
The location of the PsExec utility (in case it is not located in your PATH).
hostnames
list / elements=string
The hostnames to run the command.
If not provided, the command is run locally.
interactive
boolean
    Choices:
  • no ←
  • yes
Run the program so that it interacts with the desktop on the remote system.
limited
boolean
    Choices:
  • no ←
  • yes
Run the command as limited user (strips the Administrators group and allows only privileges assigned to the Users group).
nobanner
boolean
    Choices:
  • no ←
  • yes
Do not display the startup banner and copyright message.
This only works for specific versions of the PsExec binary.
noprofile
boolean
    Choices:
  • no ←
  • yes
Run the command without loading the account's profile.
password
string
The password for the (remote) user to run the command as.
This is mandatory in order authenticate yourself.
priority
string
    Choices:
  • abovenormal
  • background
  • belownormal
  • high
  • low
  • realtime
Used to run the command at a different priority.
session
integer
Specifies the session ID to use.
This parameter works in conjunction with interactive.
It has no effect when interactive is set to no.
system
boolean
    Choices:
  • no ←
  • yes
Run the remote command in the System account.
timeout
integer
The connection timeout in seconds
username
string
The (remote) user to run the command as.
If not provided, the current user is used.
wait
boolean
    Choices:
  • no
  • yes ←
Wait for the application to terminate.
Only use for non-interactive applications.

Note

.. seealso::

   :ref:`community.windows.psexec_module`
      The official documentation on the **community.windows.psexec** module.
   :ref:`ansible.builtin.raw_module`
      The official documentation on the **ansible.builtin.raw** module.
   :ref:`ansible.windows.win_command_module`
      The official documentation on the **ansible.windows.win_command** module.
   :ref:`ansible.windows.win_shell_module`
      The official documentation on the **ansible.windows.win_shell** module.


- name: Test the PsExec connection to the local system (target node) with your user
  community.windows.win_psexec:
    command: whoami.exe

- name: Run regedit.exe locally (on target node) as SYSTEM and interactively
  community.windows.win_psexec:
    command: regedit.exe
    interactive: yes
    system: yes

- name: Run the setup.exe installer on multiple servers using the Domain Administrator
  community.windows.win_psexec:
    command: E:\setup.exe /i /IACCEPTEULA
    hostnames:
    - remote_server1
    - remote_server2
    username: DOMAIN\Administrator
    password: some_password
    priority: high

- name: Run PsExec from custom location C:\Program Files\sysinternals\
  community.windows.win_psexec:
    command: netsh advfirewall set allprofiles state off
    executable: C:\Program Files\sysinternals\psexec.exe
    hostnames: [ remote_server ]
    password: some_password
    priority: low

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
cmd
string
always
The complete command line used by the module, including PsExec call and additional options.

Sample:
psexec.exe -nobanner \\remote_server -u "DOMAIN\Administrator" -p "some_password" -accepteula E:\setup.exe
pid
integer
when wait=False
The PID of the async process created by PsExec.

Sample:
1532
rc
integer
always
The return code for the command.

stderr
string
always
The error output from the command.

Sample:
Error 15 running E:\setup.exe
stdout
string
always
The standard output from the command.

Sample:
Success.


Authors

  • Dag Wieers (@dagwieers)