How can I remotely list installed programs on a Windows XP system, while it is in use?

The title pretty much covers it all. There is a Windows XP system on the network which is currently in use by another user. Since XP only allows one active user session at a time, I cannot use RDP and run appwiz.cpl to view installed programs because this would result in the local user's session being locked or terminated. So, how can I get a list of installed programs from this system remotely without inconveniencing the user?

Presume the following:

  • Remote system is running Windows XP SP3.
  • Local system is running Windows XP SP3 or Server 2003 SP2.
  • Both systems are running practically bone-stock setups.
    • Do not presume any extra tools (MS or third-party) are installed, or non-default services enabled, unless otherwise specified here.
    • Remote Registry is enabled on the target system.
    • SNMP is disabled on the target system.
  • I have a user account in the Administrator group on both systems.
  • I am using an Active Directory domain account.
  • I am not permitted to install any additional software, or enable any additional services on either system.
  • I need a reliable list of all software which might be registered as installed.
    • The list should effectively reflect the same information which is available via appwiz.cpl.
    • Any form of dir "C:\Program Files\" is not acceptable.
  • Both systems, and my user account, are members of the same Active Directory domain.
  • The systems are on an isolated network, without Internet connectivity.

Solution 1:

psinfo -s \\"remote machine" - and you can run it from the Sysinternals website directly, without installing it.

In your case, without Internet access, query the remote registry (REG QUERY) for everything under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall - you want terse, only extract the DisplayName value from the subkeys.

Solution 2:

How about

wmic /node:"workstation-name" Product GET description

?