4

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.
8
  • 1
    Does SNMP work?
    – ewwhite
    Feb 13, 2012 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, 2012 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, 2012 at 19:42
  • Does PowerShell count as an "extra tool"? Feb 13, 2012 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, 2012 at 19:43

3 Answers 3

6

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.

8
  • Ah, I forgot to mention no web connectivity. Thanks, though.
    – Iszi
    Feb 13, 2012 at 19:45
  • OK, added second answer for new constraint.
    – mfinni
    Feb 13, 2012 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, 2012 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, 2012 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, 2012 at 19:56
2

How about

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

?

1
  • 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, 2012 at 20:08
1

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'.

1
  • +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. Feb 13, 2012 at 20:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .