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

Как узнать и изменить 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”}

[Посещений: 16 839, из них сегодня: 5]

Свежие посты

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

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

21 февраля 2024

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

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

21 февраля 2024

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

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

3 декабря 2023

Linux: как переместить файлы папки с заменой?

Команда mv не перемещает с перезаписью поверх папки, если таковые уже существуют, поэтому часто вместо…

15 ноября 2023

Ремонт блока питания Dell OptiPlex 7010

В Dell Optiplex 7010 в корпусе SFF устанавливается фирменный блок питания одной из модификаций H240AS-00…

14 ноября 2023

Где хранятся файлы Telegram и других программ на Android?

Файловая система Android является разновидностью Linux-подобных систем и потому унаследовала многие элементы файловой структуры и…

13 ноября 2023