Я ищу уникальный идентификатор GUID, хранящийся в реестре Windows, который поможет мне определить установку Windows или ПК.
GUID должен;
- Всегда существовать
- Быть уникальным для конкретной установки Windows, т. Е. Ни один другой компьютер не будет иметь такой же идентификатор
- Никогда не меняется
Большое спасибо
Ответы:
Ожидаете ли вы, что это число изменится или останется прежним, если диск для этой установки будет перенесен в другую систему?
Ожидаете ли вы, что это число будет изменено, если установка будет клонирована с призраком или чем-то еще? Можете ли вы полагаться на то, что клонированные системы всегда будут выполнять sysprep после рекомендаций Microsoft? SID должен быть в порядке, если вы можете быть уверены, что ваши установки никогда не клонируются.
В случае мультизагрузочной системы (то есть в системе установлена ОС Windows 7 и Windows XP), вам нужно определить две установки как уникальные или связанные или как?
Почему вам нужно, чтобы это было частью установки Windows, а не чем-то, представленным аппаратным обеспечением, возможно , серийным номером процессора ?
Я предполагаю, что вы спрашиваете об этом для какого-то сценария или инструмента, который вы используете для инвентаризации?
Почему бы вам не сгенерировать свой собственный номер при первом запуске инструмента и сохранить его в кусте реестра LOCAL_MACHINE? Возможно, даже использовать номер типа 1 RFC4122, который должен включать аппаратный адрес для одного из сетевых интерфейсов. Таким образом, вы можете проверить, принадлежит ли UUID к этой системе, сравнив UUID с существующими сетевыми адаптерами.
источник
Вы можете получить GUID из реестра Windows, например:
источник
Вы хотите использовать идентификатор продукта Windows. Это уникальный номер, сгенерированный (хэшированный) частично из установленного ключа продукта и частично из конфигурации оборудования, включая серийный номер процессора и MAC-адрес из первой сетевой карты. Вы можете прочитать об этом в этой (несколько устаревшей, но все еще действующей) статье TechNet . Идентификатор продукта можно найти на экране «Информация о системе» или программно несколькими способами.
источник
Предполагая, что это сервер Windows, есть статья базы знаний, в которой рассказывается, как получить его из Win2k: KB224544 .
Я не знаю, работает ли LDP.exe по-прежнему, но это возможно.
источник
Я не уверен, что значение GUID, подобное тому, которое вы описываете, действительно существует. Обычной практикой является использование информации идентификатора процессора или материнской платы.
Вот ссылка на сообщение на форуме, содержащее соответствующий код сценария WMI: http://www.devnewsgroups.net/group/microsoft.public.dotnet.framework/topic59274.aspx
источник
Если вы хотите определить установку Windows, то вам может не повезти. В корпоративных средах рабочие станции часто отображаются, а не установлены. Каждый компьютер, созданный из этого изображения, будет идентичен.
Самое близкое к тому, что вы описали, это SID компьютера, однако это не работает по двум причинам:
Зачем вам нужен этот идентификатор? Ваша лучшая ставка может состоять в том, чтобы создать свой собственный, если это возможно.
источник
Вы можете попробовать MAC-адрес, который, по крайней мере, является глобально уникальным и постоянным. Это также имело бы приятное преимущество, заключающееся в том, что вы можете получить IP-адрес компьютера и имя хоста без особых хлопот (и это также не будет ограничено Windows). Это не будет соответствовать вашему требованию быть в реестре, но вы можете использовать вместо него WMI.
Примеры сценариев здесь: http://www.winforums.com/showthread.php?t=8842
источник
Как насчет DriveId системного тома? Вы можете получить идентификатор из
Win32_Volume
класса WMI, ища записи с помощью SystemVolume True.В PowerShell:
(Это, конечно, можно удалить.)
источник
В Центре обновления Windows используется идентификатор безопасности, который вы можете использовать. Опять же, нет никакой гарантии, что он будет уникальным каждый раз или что он не изменится.
Я думаю, что самым близким к вашим потребностям будет MAC-адрес, однако он может измениться, если заменить сетевой адаптер.
Лучше всего будет записать свой собственный GUID в реестр и использовать его.
источник
Чтобы подтвердить SID компьютера на определенном компьютере, вы можете запустить SysInternals PSGETSID% COMPUTERNAME% $. (Доменный SID).
http://blogs.msdn.com/aaron_margosis/archive/2009/11/05/machine-sids-and-domain-sids.aspx
РЕДАКТИРОВАТЬ: Удалены ссылки на SID компьютера в реестре, который может быть не уникальным (или даже правильным).
источник
Почему бы просто не использовать имя компьютера? Он будет уникальным в вашем домене, все установки Windows имеют его и будут меняться только в том случае, если администратор домена изменит его, что никогда не понадобится, если не будет внесено исправление.
источник
Мне тоже нужно найти способ глобально уникальной идентификации установок Windows. Во-первых, чтобы правильно классифицировать и идентифицировать резервные образы и определить, какие из них будут восстановлены на каких машинах. Во-вторых, чтобы назвать пары синхронизации для синхронизации файлов и определить, какую пару синхронизации использовать в зависимости от машин, участвующих в синхронизации.
Прочитав несколько сообщений, в том числе на этом веб-сайте, я пришел к выводу, что не существует простого способа найти глобально уникальный идентификатор установки Windows. Это очень плохо. Как и оборудование, программное обеспечение также должно иметь собственный серийный номер. Ну что ж! Так что это мой обходной путь: вместо того, чтобы находить один глобально уникальный идентификатор, я создал сводное утверждение, вдохновленное тем, как Microsoft называет сетевые диски в Windows и как называет общие папки в Virtual PC: «[WINDOWS Идентификатор продукта ( как переменная )] Установлен в [Серийный номер компьютера ( как переменная))]. "Хотя производственный идентификационный номер Windows является уникальным только в том случае, если соответствующий ключ продукта, тем не менее, он может быть одинаковым в нескольких установках, особенно на компьютерах массового производства, содержащих установленную на заводе Windows, но серийную версию. число уникально и отличается от одной машины к другой. Вышеупомянутая формула - все, что мне нужно для моих целей; мне не нужен SID (я предполагаю, что это означает Идентификатор безопасности) или что-то еще более сложное, потому что комбинация обеих переменных относится именно к установке Windows, которую мне нужно идентифицировать, тогда как каждая отдельная переменная сама по себе мне не нужна. В частности, во-первых, идентификация продукта Windows идентична на компьютерах, изготовленных одним и тем же производителем и обнаруженных в одной и той же линейке продуктов, и это не имеет смысла, поскольку у меня несколько идентичных компьютеров. Во-вторых, серийный номер недостаточно однозначно идентифицирует, так как у меня есть несколько установок Windows на одном компьютере, к которым серийный номер компьютера не относится. Поэтому я предлагаю свой метод.
Кроме того, прежде чем вы спросите об этом: я решил не основывать свой метод на имени компьютера. Информация основана на пользователях и, следовательно, нуждается в инвентаризации. Однако идентификация продукта Windows и серийный номер компьютера уже определены, инвентаризированы и неизменно связаны с двумя конкретными продуктами, что устраняет необходимость повторной инвентаризации. Я бы не стал идентифицировать установку Windows с уникальным идентификатором жестких дисков, так как я могу и вполне способен переключать их с одной машины на другую, особенно когда емкость дисков постоянно меняется. К тому же, я бы гораздо меньше использовал идентификационную номенклатуру центрального процессора или материнской платы, как это было предложено ранее в предыдущем ответе Shoeless., Наконец, я также отвергаю наиболее очевидный вариант идентификации установки Windows (хотя никто не упоминал об этом из того, что я вижу): использование ключа продукта. Хотя это уникально, это всего лишь лицензия на установку определенной версии Windows; на самом деле он не подключен к определенной установке Windows и не определяет его как установленный на определенной машине, даже если лицензия была предоставлена в силу покупки данного компьютера.
источник