Как получить идентификатор продукта Windows из реестра с удаленного компьютера

28944
Coolcoder

Вам нужна помощь в получении идентификатора продукта Windows из реестра, который будет работать там, где Windows (Windows 2003 Server, 2008 Server) находится в домене или рабочей группе и на удаленном компьютере .

Например, я нахожусь на рабочей станции в домене и хочу получить чистое c # (если возможно) решение для получения идентификатора продукта определенной машины Windows 2008 в сети (на самом деле это машина, на которой запущен экземпляр SQL Server).

Извините за путаницу, я надеюсь, что достаточно расширил вопрос, чтобы объяснить ситуацию яснее.

0

4 ответа на вопрос

2
pjp

Посмотрите на Магический Ключик Желе-бобов http://www.magicaljellybean.com/keyfinder/

Magical Jelly Bean Keyfinder - это бесплатная утилита с открытым исходным кодом, которая извлекает ваш ключ продукта (ключ CD), используемый для установки Windows, из вашего реестра. Это позволяет вам распечатать или сохранить ваши ключи для безопасного хранения. Он работает в Windows 95, 98, ME, 2000, XP, Vista, 7, Server 2003, Server 2008, Office XP, Office 2003 и Office 2007.

Мне нужен идентификатор продукта (я думаю ..), но спасибо за этот аккуратный инструмент. Я обновил вопрос, чтобы отразить изменение. 14 лет назад 0
2
Ariel

Попробуй использовать

EXEC xp_instance_regread 'HKEY_LOCAL_MACHINE', 'ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows NT \ CurrentVersion', 'ProductId'

0
Franci Penov

Ключ продукта не хранится в реестре. Идентификатор продукта (который частично основан на ключе продукта) доступен вHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

Я имею в виду идентификатор продукта, я обновил вопрос. 14 лет назад 0
0
Coolcoder

Я немного подумал за пределами коробки, и я нашел немного другое решение, просто нужно проверить его. Я думаю, что я могу получить идентификатор продукта с компьютера через экземпляр SQL ...

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 

Я буду обновлять это, если это решение работает, однако, если у кого-то есть другое решение, пожалуйста, дайте мне знать.

Это выглядит как победитель; он возвращает правильное значение и работает во всех версиях SQL (до 2008 года). Вероятно, потребуется обернуть, чтобы убедиться, что он работает на конкретных ОС (в случае изменения местоположения реестра?), Но в остальном это выглядит хорошо. 14 лет назад 0

Похожие вопросы