What is PsExec?
PsExec is a light-weight telnet-replacement that lets you execute processes on other systems, complete with full interactivity for console applications, without having to manually install client software. PsExec's most powerful uses include launching interactive command-prompts on remote systems and remote-enabling tools like IpConfig that otherwise do not have the ability to show information about remote systems.
Benefits of Using PsExec
PsExec can be used in a variety of ways to accomplish remote tasks on a network connected computer. It’s also:
- Built into Windows Since XP
- Free to Use
- Microsoft Approved
- Supports basic success/fail output codes
- Simple and easy to use
- Easily integrates into third party applications and imaging solution
- Preferred Solution for Tranxition Migration Manager Administrators
Where Can I Get PsExec?
PsExec can be downloaded free of charge from Microsoft at https://docs.microsoft.com/en-us/sysinternals/downloads/psexec.
Suggested PsExec Installation
After downloading PsExec.zip, extract the contents of the zip file to a subfolder within the folder where Migration Manager is installed. Alternatively you can extract the PsExec tools to a folder within your system path.
Usage: psexec [\\computer[,computer2[,...] | @file]][-u user [-p psswd][-n s][-r servicename][-h][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-<priority>][-a n,n,...] cmd [arguments]
A full explanation of the available command line arguments can be found by typing “PsExec /?” at the command line. Application names with spaces in them must be enclosed with quotations e.g.
psexec \\marklap "c:\long name app.exe"
Launching an Extraction or Injection Using PsExec
From a remote server or workstation, administrators can initiate a Migration Manager automation command on a remote PC using the following command string. In order for the PsExec command and the remote task to work properly, your user account must have administrative permissions on the target machine. This can be done by passing the credentials within the PsExec command string. See the example below.
psexec \\desktop-pc -u DomainName\username -p password \\ServerName\migrationmanager\se.exe /autoextract
Note: If you omit username the remote process will run in the same account from which you execute PsExec, but because the remote process is impersonating it will not have access to network resources on the remote system and therefore may not work correctly. If you do specify an alternative username/password, then PsExec will send the password in clear text. This can be a security risk if unauthorized network sniffers could intercept traffic between the local and remote system.
As illustrated in this technical document, PsExec can be a reliable and easy to use utility for administrators that want to remotely manage their desktop PC migrations. PsExec also has the ability to natively handle error output from Migration Manager, this allows for reporting and/or monitoring of the Migration Manager task being run.