如何从远程计算机的注册表中获取 Windows 产品 ID

如何从远程计算机的注册表中获取 Windows 产品 ID

希望获得一些帮助,了解如何从注册表中获取 Windows 产品 ID,以便在 Windows(Windows 2003 Server、2008 Server)位于域或工作组中时可以使用该产品 ID,并且远程机器

例如,我在域中的工作站上,我想要一个纯 c#(如果可能)解决方案来获取网络上特定 Windows 2008 计算机的产品 ID(它实际上是运行 SQL Server 实例的计算机)。

抱歉造成混淆,我希望我已经充分扩展了这个问题,以便更清楚地解释情况。

答案1

看看神奇的 Jellybean Keyfinderhttp://www.magicaljellybean.com/keyfinder/

Magical Jelly Bean Keyfinder 是一款免费的开源实用程序,可从您的注册表中检索用于安装 Windows 的产品密钥 (cd 密钥)。它允许您打印或保存密钥以妥善保管。它适用于 Windows 95、98、ME、2000、XP、Vista、7、Server 2003、Server 2008、Office XP、Office 2003 和 Office 2007 系列产品

答案2

尝试使用

EXEC xp_instance_regread'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows NT\CurrentVersion','ProductId'

答案3

产品密钥不保存在注册表中。产品 ID(部分基于产品密钥)可在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

答案4

我进行了一些创新思考,并想出了一个略有不同的解决方案,只需进行测试即可。我想我可以通过 SQL 实例从机器中获取产品 ID...

DECLARE @retvalue int, @data varchar(500)
EXECUTE @retvalue = master.dbo.xp_instance_regread 'HKEY_LOCAL_MACHINE',
'SOFTWARE\Microsoft\Windows NT\CurrentVersion',
'ProductId', @param = @data OUTPUT
PRINT 'ProductId: '+ @data

如果此解决方案有效,我将更新此内容,但是如果有人有其他解决方案,请告诉我。

相关内容