IID – идентификатор интерфейса; (те, которые зарегистрированы в системе, хранятся в реестре Windows в ключе HKEY_CLASSES_ROOT\Interface)
- REFIID – указатель на IID.
Форматы синдикации XML
Есть также элемент guid в некоторых версиях спецификации RSS и обязательный элемент id в См. также
Я ищу уникальный идентификатор GUID, хранящийся в реестре Windows, который помог бы мне идентифицировать установку Windows или ПК.
- Всегда существует
- Быть уникальным для конкретной установки Windows, т. е. ни один другой компьютер не будет иметь такой же идентификатор.
- Никогда не меняйте
12 ответов 12
Вы можете получить GUID из реестра Windows, например:
Вы ожидаете, что это число изменится или останется прежним, если диск для этой установки будет перемещен в другую систему?
Вы ожидаете, что этот номер изменится, если установка будет клонирована с помощью призрака или чего-то еще? Можете ли вы рассчитывать на то, что клонированные системы всегда будут подвергаться sysprep в соответствии с рекомендациями Microsoft? С SID все в порядке, если вы можете быть уверены, что ваши установки никогда не будут клонированы.
В случае мультизагрузочной системы (т. е. в системе установлены Windows 7 и Windows XP) нужно ли идентифицировать две установки как уникальные, связанные и т. д.?
Почему вам нужно, чтобы это было частью установки Windows, а не чем-то, представленным аппаратным обеспечением, например, серийным номером процессора?
Я предполагаю, что вы спрашиваете об этом для какого-то скрипта или инструмента, который вы используете для целей инвентаризации?
Почему бы вам просто не создать свой собственный номер при первом запуске инструмента и не сохранить его в кусте реестра LOCAL_MACHINE? Возможно, даже использовать номер RFC4122 Type 1, который должен включать аппаратный адрес для одного из сетевых интерфейсов. Таким образом, вы можете проверить, принадлежит ли UUID этой системе, сравнив UUID с текущими сетевыми адаптерами.
Вы хотите использовать идентификатор продукта Windows. Это уникальный номер, сгенерированный (хешированный) частично из установленного ключа продукта и частично из конфигурации оборудования, включая серийный номер процессора и MAC-адрес из первой сетевой карты. Вы можете прочитать об этом в этой (несколько устаревшей, но все еще актуальной) статье TechNet. Идентификатор продукта можно найти на экране «Информация о системе» или программно несколькими способами.
Реестр, в котором хранится лицензия пользователя Windows, расположен по адресу: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion, для его чтения не требуется никаких специальных приемов
Изменяется при активации Windows. Я также подозреваю, что он меняется при основных обновлениях Windows или в некоторых других ситуациях.
Предполагая, что это сервер Windows, в базе знаний есть статья о том, как получить его из Win2k: KB224544.
Я не знаю, работает ли LDP.exe так же, но может.
Спасибо за информацию, я ищу GUID, который будет существовать во всех версиях Windows, XP и выше
Я не уверен, что значение GUID, подобное описанному вами, действительно существует. Обычно используется информация об идентификаторе процессора или материнской платы.
Если вы хотите идентифицировать установку Windows, вам может не повезти. В корпоративных средах рабочие станции часто создают образы, а не устанавливают их. Каждый компьютер, собранный из этого образа, будет идентичным.
Самое близкое к тому, что вы описали, это SID машины, однако это не работает по двум причинам:
- Компьютеры Windows XP с образами имеют одинаковый SID, если только вы не запустите для них NewSID, чего многие люди не делают.
- Все контроллеры домена в одном домене используют один и тот же SID компьютера.
Для чего вам нужен этот идентификатор? Лучше всего сгенерировать собственное, если это возможно.
Если после создания образа компьютеры являются системными подготовками, SID будет другим. Если это не так (что часто бывает не так), идентификаторы безопасности будут одинаковыми.
Вы можете попробовать использовать MAC-адрес, который, по крайней мере, должен быть глобально уникальным и постоянным. Это также имело бы приятное преимущество, заключающееся в том, что вы могли бы без особых хлопот получить IP-адрес машины и имя хоста (и это также не будет ограничено Windows). Это не соответствует вашим требованиям по наличию в реестре, но вместо этого вы можете использовать WMI.
Как насчет DriveId системного тома? Вы можете получить идентификатор из класса WMI Win32_Volume, выполнив поиск записей с SystemVolume True.
(Конечно, это можно сделать удаленно.)
Есть SID, используемый Центром обновления Windows, который вы можете использовать. Опять же, нет гарантии, что он каждый раз будет уникальным или что он не изменится.
Я думаю, что наиболее подходящим для вас будет MAC-адрес, однако он может измениться при замене сетевого адаптера.
Лучше всего будет записать свой собственный GUID в реестр и использовать его.
Чтобы подтвердить SID машины на определенной машине, вы можете запустить SysInternals PSGETSID %COMPUTERNAME%$. (SID домена).
EDIT: удалены ссылки на SID машины в реестре, которые могут быть не уникальными (или даже правильными).
Да ладно, если вы собираетесь кого-то модифицировать, по крайней мере, оставьте комментарий и сообщите им, что не так.
@Денис, верно. Поэтому, если он находится в домене: psgetsid.exe %computername%$ создаст уникальный идентификатор.
@Greg: Что, если вы создадите свои рабочие станции из образов? Если вы не запустили newsid, все они будут использовать один и тот же SID компьютера.
Почему бы просто не использовать имя компьютера? Он будет уникальным в пределах вашего домена, он есть во всех установках Windows и изменится только в том случае, если администратор домена изменит его, что никогда не потребуется, если только не будет внесено исправление.
Мне тоже нужно найти способ глобальной уникальной идентификации установок Windows. Во-первых, чтобы правильно классифицировать и идентифицировать резервные копии и определить, какие из них восстанавливаются на каких машинах. Во-вторых, чтобы назвать пары синхронизации для синхронизации файлов и определить, какую пару синхронизации использовать в зависимости от машин, участвующих в синхронизации.
После прочтения нескольких сообщений, в том числе на этом веб-сайте, я пришел к выводу, что не существует простого способа найти глобально уникальный идентификатор установки Windows. Это очень плохо. Как и аппаратное обеспечение, программное обеспечение также должно иметь собственный серийный номер. Ну что ж! Итак, вот мой обходной путь: вместо того, чтобы найти один-единственный глобальный уникальный идентификатор, я создал обобщенное выражение, вдохновленное тем, как Microsoft называет сетевые диски в Windows и как она называет общие папки в Virtual PC: «[WINDOWS ID ПРОДУКТА (как переменная)] Установлен на [СЕРИЙНЫЙ НОМЕР КОМПЬЮТЕРА (как переменная)]." Хотя производственный идентификационный номер Windows уникален только в той мере, в какой уникален соответствующий ключ продукта, он, тем не менее, может быть одинаковым для нескольких установок, особенно на серийно выпускаемых компьютерах с установленной на заводе Windows, но серийный номер уникален и отличается от одной машины к другой.Вышеупомянутая формула — это все, что мне нужно для моих целей; Мне не нужен SID (я предполагаю, что он означает идентификатор безопасности) или что-то еще более сложное, потому что комбинация обеих переменных ссылается именно на установку Windows, которую мне нужно идентифицировать, тогда как каждая отдельная переменная , сам по себе бесполезен для меня. В частности, и во-первых, идентификация продукта Windows идентична на компьютерах одного и того же производителя и в одной и той же линейке продуктов, и мне это не нужно, поскольку у меня есть несколько идентичных машин. Во-вторых, серийный номер недостаточно однозначно идентифицирует, так как у меня есть несколько установок Windows на одном компьютере, к которым серийный номер компьютера не относится. Поэтому я предлагаю свой метод.
Кроме того, и прежде чем вы спросите об этом: я решил не основывать свой метод на имени компьютера. Информация предоставляется пользователями и, следовательно, должна быть инвентаризирована. Однако идентификатор продукта Windows и серийный номер компьютера уже идентифицированы, инвентаризированы и неизменно привязаны к двум конкретным продуктам, что устраняет необходимость их повторной инвентаризации. Я бы также не стал идентифицировать установку Windows с помощью уникального идентификатора жестких дисков, поскольку я могу и вполне склонен переключать их с одной машины на другую, особенно когда емкость дисков находится в состоянии постоянного изменения. Точно так же я бы гораздо реже использовал идентифицирующую номенклатуру центрального процессора или материнской платы, как это было предложено ранее в предыдущем ответе Shoeless. Наконец, я также отвергаю наиболее очевидный вариант идентификации установки Windows (хотя, насколько я вижу, никем еще не упоминался): использование ключа продукта. Хотя она уникальна, это всего лишь лицензия на установку определенной версии Windows; на самом деле он не подключен к конкретной установке Windows и не определяет ее как установленную на конкретном компьютере, даже если лицензия была предоставлена на основании покупки данного компьютера.
В Windows 10 есть много местоположений оболочки, к которым вы можете получить доступ через оболочку. из диалогового окна «Выполнить». Они также известны как «Папки оболочки». Папки оболочки — это объекты ActiveX, реализующие специальную виртуальную папку или виртуальный апплет. В некоторых случаях они предоставляют доступ к физическим папкам на жестком диске или даже к специальным функциям ОС, таким как "Свернуть все окна" или переключатель Alt+Tab.
Вы можете использовать их в различных сценариях, но в общем случае вы можете использовать их для создания ярлыка для определенного апплета Панели управления или функции Windows. Например, следующая команда откроет папку «Сетевые подключения»:
Итак, идентификаторы GUID — это реализация корпорацией Майкрософт универсального уникального идентификатора (UUID) распределенной вычислительной среды (DCE). Библиотеки времени выполнения RPC используют UUID для проверки совместимости между клиентами и серверами и для выбора из нескольких реализаций интерфейса. Функции управления доступом Windows используют идентификаторы GUID для определения типа объекта, который защищает ACE объекта в списке управления доступом (ACL).
Если вам нужно сгенерировать новый GUID в Windows, вы можете использовать как минимум два метода.
Чтобы сгенерировать GUID в Windows 10 с помощью PowerShell,
- Откройте PowerShell. Совет. Вы можете добавить контекстное меню "Открыть PowerShell от имени администратора".
- Введите или скопируйте и вставьте следующую команду: [guid]::NewGuid(). Это создаст новый идентификатор GUID в выходных данных.
- Кроме того, вы можете запустить команду '', чтобы получить новый идентификатор GUID в традиционном формате реестра.
ол>р>
Если вы не можете использовать PowerShell на своем устройстве с Windows 10, вот альтернативное решение. Вы можете использовать бесплатный генератор GUID от Microsoft.
Создайте новый GUID с помощью инструмента "Генератор GUID"
- Загрузите генератор GUID с этой страницы.
- Загрузите EXE-файл и запустите его. Это самораспаковывающийся сжатый EXE-файл. Извлеките его по любому пути, например в папку на рабочем столе, и нажмите "ОК", чтобы продолжить.
- Откройте папку, в которую вы его распаковали, и запустите GUIDGEN.exe .
- Выберите нужный формат, например "Формат реестра".
- Нажмите Копировать, чтобы скопировать GUID в буфер обмена.
ол>р>
Winaero очень рассчитывает на вашу поддержку. Вы можете помочь сайту и дальше предлагать вам интересный и полезный контент и программное обеспечение, используя следующие варианты:
Если вам понравилась эта статья, поделитесь ею с помощью кнопок ниже. Это не потребует от вас многого, но поможет нам расти. Спасибо за вашу поддержку!
Автор: Сергей Ткаченко
Сергей Ткаченко — разработчик программного обеспечения из России, который основал Winaero еще в 2011 году. В этом блоге Сергей пишет обо всем, что связано с Microsoft, Windows и популярным программным обеспечением. Следите за ним в Telegram, Twitter и YouTube. Просмотреть все сообщения Сергея Ткаченко
Автор Сергей Ткаченко Опубликовано 10 апреля 2019 г. 10 апреля 2019 г. Рубрики Windows 10 Tags Windows 10 Generate GUID, Windows 10 GUID
Одна мысль о «Создать GUID в Windows 10 (глобальный уникальный идентификатор)»
Или из командной строки:
powershell -command “[guid]::NewGuid()”
Оставить ответ Отменить ответ
Свяжитесь с нами
Здесь вы можете подписаться на наши каналы. У нас есть Twitter, YouTube и Telegram, а также RSS-канал и информационный бюллетень по электронной почте.
Мы прекратили работу Facebook, чтобы доставлять обновления наших сообщений.
Избранные сообщения
Реклама
Недавно обновлено
Дружественные блоги
Обзор конфиденциальности
Читайте также: