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.
  • 1
    Does SNMP work? – ewwhite Feb 13 '12 at 19:41
  • Are you looking for just applications registered with Windows Installer (e.g. MSIs) or are you trying to "guess" non-compliant applications as well? – jscott Feb 13 '12 at 19:42
  • @ewwhite I'm pretty sure that SNMP is not enabled by default in Windows XP. If I'm wrong, please let me know. I'm fairly confident though, that it is not enabled on the target system in this case. – Iszi Feb 13 '12 at 19:42
  • Does PowerShell count as an "extra tool"? – Christopher Feb 13 '12 at 19:43
  • @jscott I'm pretty much just looking for the same list of applications that I would get from appwiz.cpl. – Iszi Feb 13 '12 at 19:43

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.

| improve this answer | |
  • Ah, I forgot to mention no web connectivity. Thanks, though. – Iszi Feb 13 '12 at 19:45
  • OK, added second answer for new constraint. – mfinni Feb 13 '12 at 19:50
  • Thanks for the update with Remote Registry. I'm a bit unfamiliar with using REG QUERY on a remote system from the command line. Could you provide full syntax, including where the system IP/hostname and other essential switches & parameters should go? – Iszi Feb 13 '12 at 19:52
  • 1
    Didn't know you couldn't run "reg query /?" on your own machine :-) reg query \\remotemachinename\HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall /s. There you go, – mfinni Feb 13 '12 at 19:54
  • 1
    It seems there's still so many ways to skin this cat. I'm going to have a hard time picking an answer to accept from everyone here. – Iszi Feb 13 '12 at 19:56

How about

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


| improve this answer | |
  • ERROR: Code = 0x80041010 Description = Invalid class Facility = WMI. Is there some case-sensitivity I should be aware of? Would using an IP address in place of "workstation-name" affect things? – Iszi Feb 13 '12 at 20:08

I've been using a script for a while that works well. As suggested in other answers here it uses WMI. The nice thing is that it is ready to go. You can get the script from here: http://billsway.com/vbspage/

Look for 'List Installed Programs'.

| improve this answer | |
  • +1 I have incorporated something very similar into my logon scripts and send the output to a log file on the server. Very handy for seeing who has what installed. – John Gardeniers Feb 13 '12 at 20:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.