Категории: ОСиСети и серверы

Как узнать и изменить UUID/GUID компьютера?

Каждый компьютер в сети должен иметь уникальный идентификатор UUID или GUID (в терминологии Microsoft). Он позволяет на базе этого ID аутентифицировать и активировать (при необходимости активации лицензий) компьютер.

Чтобы узнать GUID Windows компьютера, выполните команду Powershell на локальном компьютере:

get-wmiobject Win32_ComputerSystemProduct  | Select-Object -ExpandProperty UUID

или удаленно:

get-wmiobject Win32_ComputerSystemProduct -computername PC_NAME | Select-Object -ExpandProperty UUID

Это же значение содержится в реестре в ветке HKLM\SOFTWARE\Microsoft\Cryptography\MachineGuid.

Однако, если речь идет о виртуальных машинах, Vmware технически позволяет создать (или клонировать) машины, сохраняя идентичный UUID, что конечно плохо. UUID основан на пути к конфигурационному файлу VM и он генерируется, когда вы первый раз включаете машину или ресетите (сбрасываете до изначального состояния) её. Эта информация записывается в SMBIOS файл конфигурации виртуальной машины — *.vmx. Файл текстовый, его можно редактировать в текстовом редакторе.

Нужная вам строка будет выглядеть примерно так: uuid.bios = «00 11 22 33 44 55 66 77-88 99 aa bb cc dd ee ff»

Соответственно, вы можете поменять значение на уникальное. Все действия необходимо производить на выключенной виртуальной машине.

Больше информации в статье Vmware.

Альтернативно, вы можете изменить UUID группы виртуальных машин, если они расположены на ESXi, через PowerCLI, используя скрипт на Powershell.

Для запуска скрипта вам нужно указать IP адрес ESX хоста в качестве аргумента, где находится виртуалка. Например, changeUUID.ps1 192.168.0.10.

if ($args[0].length -gt 0) { 
    connect-viserver $args[0]
    $VMs = get-vm
    foreach ($vm in $VMs){
        $date = get-date -format “dd hh mm ss”
        $newUuid = “56 4d 50 2e 9e df e5 e4-a7 f4 21 3b ” + $date
        echo “VM: ” $VM.name “New UUID: ” $newuuid
        $spec = New-Object VMware.Vim.VirtualMachineConfigSpec
        $spec.uuid = $newUuid
        $vm.Extensiondata.ReconfigVM_Task($spec)
        start-sleep -s 2
    }
}
else {Echo “Must supply IP address of ESX host. e.g. .changeUUID.ps1 192.168.0.10”}

[Посещений: 17 939, из них сегодня: 2]

Свежие посты

Процессы зомби, демоны и сироты в Linux

Процессы и программы Программа в Unix — это последовательность исполняемых инструкций на диске. Вы можете…

12 октября 2024

Изучаем сертификаты, приватные ключи и keystore

Существует большое разнообразие форматов, в которых создаются сертификаты и приватные ключи для них. Часто они…

20 июля 2024

Восстановление доступа к Docker Hub

Все известно, что Докерхаб закрыл доступ для пользователей из санкционных стран, включая РФ и РБ.…

30 мая 2024

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

Зачастую бывает необходимо проверить, а какой SSL сертификат отдает тот или иной хост на определенном…

21 февраля 2024

Использование choco через прокси

Choco - лучший пакетный менеджер для Windows. Чтобы использовать его в корпоративной среде за прокси,…

21 февраля 2024

Обзор SSD диска XrayDisk

В России становится все больше малоизвестных китайских товаров, поэтому сегодня у нас на обзоре китайский…

3 декабря 2023