标题几乎涵盖了所有内容。网络上有一个 Windows XP 系统,当前正在由另一个用户使用。由于 XP 一次只允许一个活动用户会话,因此我无法使用 RDP 和运行appwiz.cpl
来查看已安装的程序,因为这会导致本地用户的会话被锁定或终止。那么,我如何才能从该系统远程获取已安装程序的列表而不会给用户带来不便?
假设如下:
- 远程系统正在运行 Windows XP SP3。
- 本地系统正在运行 Windows XP SP3 或 Server 2003 SP2。
- 两种系统实际上都运行着原始设置。
- 不要假设安装了任何额外的工具(MS 或第三方),或启用了非默认服务,除非此处另有说明。
- 目标系统上已启用远程注册。
- 目标系统上已禁用 SNMP。
- 我在两个系统的管理员组中都有一个用户帐户。
- 我正在使用 Active Directory 域帐户。
- 我不被允许安装任何附加软件,或启用任何任一系统上的附加服务。
- 我需要一份可能注册为已安装的所有软件的可靠列表。
- 该列表应有效反映可通过 获得的相同信息
appwiz.cpl
。 - 任何形式的
dir "C:\Program Files\"
都是不可接受的。
- 该列表应有效反映可通过 获得的相同信息
- 两个系统和我的用户帐户都是同一个 Active Directory 域的成员。
- 这些系统位于孤立的网络上,没有互联网连接。
答案1
psinfo -s \\"remote machine"
- 您可以直接从 Sysinternals 网站运行它,而无需安装它。
对于您而言,无需访问互联网,即可查询远程注册表(REG QUERY
)下的所有内容 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
- 您想要简洁的,仅从子项中提取 DisplayName 值。
答案2
怎么样
wmic /node:"workstation-name" Product GET description
?
答案3
我已经使用一个脚本一段时间了,效果很好。正如这里的其他答案所建议的那样,它使用 WMI。好消息是它已经准备就绪。您可以从这里获取脚本:http://billsway.com/vbspage/
查找“列出已安装的程序”。