Como verificar os números de série do HWID no CMD e PowerShell do Windows
Veja como verificar os números de série do HWID no CMD e PowerShell: UUID SMBIOS, placa-mãe, BIOS, disco, RAM, ProcessorId da CPU, MAC e MachineGuid, com exemplos e causas de alteração.
HWID Checker · 4 de setembro de 2026 · 22 min de leitura
Não existe um único comando que mostre “o seu HWID”. Essa é a primeira coisa que você precisa entender antes de abrir uma janela preta e começar a digitar. O Windows não armazena apenas um ID de hardware. Ele expõe cerca de uma dúzia de identificadores separados — um UUID do firmware, um número de série da placa-mãe, um número de série do BIOS, um número por disco, um por módulo de memória, uma assinatura da CPU, um endereço MAC por adaptador de rede e alguns GUIDs gerados por software — e cada programa que menciona “o seu HWID” escolhe um subconjunto desses valores e os combina à sua maneira.
Portanto, quando alguém pesquisa como verificar os números de série do HWID no CMD, o que realmente precisa é de uma lista que mostre quais números de série existem, o comando que lê cada um, como é a saída e o que faz esse valor mudar. É exatamente isso que este guia oferece. Ele abrange tanto o Prompt de Comando clássico (cmd.exe) quanto o PowerShell, porque nas versões atuais do Windows você precisa dos dois: vários dos antigos comandos do CMD dependiam do wmic, que a Microsoft removeu das instalações padrão do Windows 11, e os substitutos compatíveis são cmdlets do PowerShell.
Tudo aqui é somente leitura. Os comandos consultam valores que o Windows e o seu firmware já expõem; nada abaixo modifica, randomiza ou falsifica qualquer identificador. Os comandos foram conferidos com a documentação da Microsoft para o Windows 10 22H2 e o Windows 11 24H2/25H2 em 4 de setembro de 2026.
Resposta rápida: a tabela completa
Se você quer apenas os comandos, aqui estão eles. Cada linha corresponde a um identificador. A coluna “CMD legado” mostra a antiga sintaxe do wmic como referência, pois ela ainda aparece em publicações de fóruns; a coluna PowerShell é a que você deve usar atualmente.
| Identificador | Onde fica armazenado | PowerShell (recomendado) | CMD legado (pode não existir no Windows 11) |
|---|---|---|---|
| UUID do sistema SMBIOS | Firmware da placa-mãe | (Get-CimInstance Win32_ComputerSystemProduct).UUID | wmic csproduct get uuid |
| Número de série do sistema | Firmware (OEM) | (Get-CimInstance Win32_ComputerSystemProduct).IdentifyingNumber | wmic csproduct get identifyingnumber |
| Número de série do BIOS | Firmware | (Get-CimInstance Win32_BIOS).SerialNumber | wmic bios get serialnumber |
| Número de série da placa-mãe | Tabela do firmware da placa-base | (Get-CimInstance Win32_BaseBoard).SerialNumber | wmic baseboard get serialnumber |
| Número de série do chassi | Tabela do firmware do gabinete | (Get-CimInstance Win32_SystemEnclosure).SerialNumber | wmic systemenclosure get serialnumber |
| Números de série dos discos físicos | Firmware da unidade | Get-PhysicalDisk | Select-Object FriendlyName, SerialNumber | wmic diskdrive get model,serialnumber |
| Número de série do volume (não é hardware) | Cabeçalho do sistema de arquivos | (Get-CimInstance Win32_LogicalDisk -Filter "DeviceID='C:'").VolumeSerialNumber | vol C: |
| Números de série dos módulos de RAM | Chip SPD do DIMM | Get-CimInstance Win32_PhysicalMemory | Select-Object DeviceLocator, SerialNumber | wmic memorychip get devicelocator,serialnumber |
| ProcessorId da CPU | Instrução CPUID | (Get-CimInstance Win32_Processor).ProcessorId | wmic cpu get processorid |
| Endereços MAC | Firmware/driver do adaptador de rede | Get-NetAdapter | Select-Object Name, MacAddress, Status | getmac /v |
| Número de série do monitor (EDID) | Firmware da tela | consulte a seção sobre monitores | nenhum |
| MachineGuid | Registro, definido na instalação do Windows | (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Cryptography').MachineGuid | reg query HKLM\SOFTWARE\Microsoft\Cryptography /v MachineGuid |
| ID do Produto Windows | Registro/licenciamento | (Get-CimInstance Win32_OperatingSystem).SerialNumber | wmic os get serialnumber |
| ComputerHardwareIds | Registro, derivados do SMBIOS | (Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\SystemInformation').ComputerHardwareIds | reg query "HKLM\SYSTEM\CurrentControlSet\Control\SystemInformation" /v ComputerHardwareIds |
O restante deste artigo examina cada linha: o que é o valor, como é um resultado normal, como é um resultado inválido e quais ações o alteram. Se você for ler apenas uma seção, leia a que explica quais números de série realmente compõem um “HWID”.
CMD ou PowerShell? Por que a mesma janela preta usa duas linguagens
Tanto o cmd.exe quanto o PowerShell são consoles de texto e, no Windows 11, os dois normalmente abrem dentro do mesmo aplicativo Windows Terminal. Por isso, é fácil supor que os comandos sejam intercambiáveis. Não são.
cmd.exeexecuta comandos no estilo de arquivos em lote:dir,reg,vol,getmac,systeminfoe — historicamente —wmic. Ele não tem pipeline de objetos; a saída é texto simples.- PowerShell (o Windows PowerShell 5.1 vem com o Windows; o PowerShell 7 é instalado separadamente) executa cmdlets como
Get-CimInstanceeGet-PhysicalDisk. A saída contém objetos que você pode filtrar comSelect-Object.
Essa diferença é importante para consultas de HWID por causa do wmic.exe. Quase todo tutorial sobre “como verificar o HWID no CMD” escrito antes de 2024 usa wmic csproduct get uuid, wmic bios get serialnumber e comandos semelhantes. O WMIC foi descontinuado em 2016, tornou-se um “Recurso sob Demanda” opcional e desativado por padrão no Windows 11 24H2 e está sendo removido por completo. Em uma instalação nova do Windows 11, você normalmente verá:
'wmic' is not recognized as an internal or external command,
operable program or batch file.
As classes WMI subjacentes (Win32_BIOS, Win32_BaseBoard e assim por diante) continuam disponíveis. Apenas o antigo cliente de linha de comando desapareceu. É por isso que todos os comandos PowerShell deste artigo usam Get-CimInstance: ele lê as mesmas classes por meio da interface CIM compatível. Se você ainda precisa usar wmic em um script existente, o guia de solução de problemas do WMIC explica detalhadamente como fazer a migração.
Você não precisa sair do CMD para usar comandos do PowerShell. Qualquer comando PowerShell de uma linha deste artigo pode ser executado no Prompt de Comando ou em um arquivo .bat se você o envolver desta forma:
powershell -NoProfile -Command "(Get-CimInstance Win32_BaseBoard).SerialNumber"
É exatamente assim que funciona o nosso script BAT para download: um arquivo em lote de texto simples que chama o PowerShell uma vez por identificador, para que você possa ler cada linha antes de executá-lo.
É necessário ser administrador? Para tudo neste artigo: não. A leitura das tabelas SMBIOS, dos números de série dos discos, dos dados SPD da memória, do CPUID e das chaves de Registro envolvidas funciona em uma sessão de usuário padrão. Se um comando retornar Access denied, é quase certo que você está executando a consulta em uma máquina remota ou sob uma política corporativa restritiva, e não diante de uma barreira normal de permissões.
UUID do sistema SMBIOS
O que é. Um identificador de 128 bits armazenado pelo fabricante da placa-mãe na tabela System Information do SMBIOS (tipo 1). Esse é o valor que as pessoas mais costumam querer dizer quando mencionam “o HWID” sem qualquer qualificação, pois ele pertence ao firmware, sobrevive a reinstalações do sistema operacional e é fácil de ler.
(Get-CimInstance Win32_ComputerSystemProduct).UUID
Saída típica:
4C4C4544-0034-5A10-8047-B8C04F4E3232
Como interpretar. Em máquinas Dell, como no exemplo acima, o UUID deriva parcialmente da etiqueta de serviço; portanto, dois computadores Dell nunca compartilham o mesmo valor. Em muitas placas para o consumidor, ele é um valor aleatório gravado na fábrica. De qualquer forma, não é secreto — qualquer pessoa com acesso local pode lê-lo — nem é criptografado.
Resultados inválidos e o que significam.
00000000-0000-0000-0000-000000000000ouFFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF— o firmware não preencheu o campo. Isso é comum em algumas placas de baixo custo, em máquinas que tiveram o chip do BIOS substituído e em certas máquinas virtuais com configuração SMBIOS mínima.03000200-0400-0500-0006-000700080009— um conhecido valor padrão de um BIOS de referência. Ele não é único; milhares de placas retornam esse valor.- Em branco — normalmente indica uma plataforma de virtualização que não expõe UUID.
O que o altera. Substituir a placa-mãe. Atualizar o BIOS normalmente o preserva, mas uma redefinição completa do CMOS/NVRAM em algumas placas ou a troca da placa por uma assistência técnica pode gerar um novo valor. Reinstalar o Windows não o altera. Em uma VM, o hipervisor o define, e clonar uma VM pode ou não gerar outro UUID, dependendo da plataforma.
Ainda nessa classe, IdentifyingNumber é o número de série do sistema atribuído pelo OEM — a mesma sequência impressa na etiqueta da parte inferior de um notebook:
Get-CimInstance Win32_ComputerSystemProduct |
Select-Object Vendor, Name, IdentifyingNumber, UUID
Número de série do BIOS
O que é. O número de série informado pela tabela System Information do SMBIOS por meio da classe Win32_BIOS. Em PCs montados de fábrica e notebooks, ele quase sempre é idêntico ao IdentifyingNumber acima. Em desktops montados pelo próprio usuário, ele contém o que o fabricante da placa gravou, o que muitas vezes não é nada útil.
(Get-CimInstance Win32_BIOS).SerialNumber
Saídas típicas, da útil à inútil:
5CG1234XYZ ← HP laptop, real serial
To Be Filled By O.E.M. ← common on ASRock/ASUS retail boards
Default string ← common on MSI/Gigabyte retail boards
System Serial Number ← another placeholder
As três últimas não são erros. Placas-mãe vendidas no varejo são feitas para serem montadas por outra pessoa; por isso, o fabricante deixa o número de série do “sistema” para o integrador preencher — e ninguém o faz. Qualquer software que use o número de série do BIOS como chave exclusiva tratará todas essas máquinas como o mesmo computador, uma causa real de falsos alertas de “hardware duplicado”.
O que o altera. O mesmo que altera o UUID: a troca da placa. Em circunstâncias normais, atualizações do BIOS não o modificam.
Número de série da placa-mãe (placa-base)
O que é. O número de série da tabela Baseboard do SMBIOS (tipo 2). Ao contrário do número de série do BIOS/sistema, esse campo geralmente é preenchido nas placas vendidas no varejo, pois identifica a própria placa, e não o sistema montado.
Get-CimInstance Win32_BaseBoard |
Select-Object Manufacturer, Product, SerialNumber
Saída típica:
Manufacturer Product SerialNumber
------------ ------- ------------
ASUSTeK COMPUTER INC. ROG STRIX B650-A 230412345678901
Resultados inválidos. To Be Filled By O.E.M., Default string, None ou um número de série formado apenas por zeros. É menos comum que no número de série do BIOS, mas acontece, especialmente em placas muito baratas e em alguns modelos da Gigabyte cujo número aparece como Default string até que o firmware seja atualizado.
O que o altera. Apenas a substituição da placa. É por isso que o número de série da placa-mãe, junto com o UUID SMBIOS, é o identificador ao qual a maioria dos sistemas antitrapaça e de licenciamento atribui maior peso.
Número de série do chassi (gabinete do sistema)
O que é. O número de série da tabela Chassis do SMBIOS (tipo 3). Em notebooks e desktops OEM, normalmente é igual ao número de série do sistema. Em PCs montados pelo usuário, quase sempre é um valor padrão, pois o gabinete não tem firmware e o fabricante da placa não sabe qual gabinete você comprou.
(Get-CimInstance Win32_SystemEnclosure).SerialNumber
Você pode considerar esse valor secundário sem problemas. Ele está incluído porque algumas ferramentas de HWID o leem, e você não deve se surpreender se ele mostrar Default string.
Números de série dos discos físicos — e por que vol não mostra um deles
É aqui que existe mais confusão, porque o Windows expõe duas coisas completamente diferentes que as pessoas chamam de “número de série do disco”.
Número de série do hardware (o que você procura)
Cada SSD e HDD tem um número de série atribuído pelo fabricante e armazenado no firmware da unidade. Ele está impresso na etiqueta do disco e é informado por comandos de identificação SATA ou NVMe.
A maneira mais confiável de lê-lo nas versões atuais do Windows é por meio do módulo Storage:
Get-PhysicalDisk | Select-Object DeviceId, FriendlyName, MediaType, SerialNumber
Saída típica:
DeviceId FriendlyName MediaType SerialNumber
-------- ------------ --------- ------------
0 Samsung SSD 990 PRO 2TB SSD S6Z2NJ0T123456A
1 WDC WD40EZAZ-00SF3B0 HDD WD-WX12D34ABCDE
A classe WMI clássica também funciona e é a mesma que o antigo comando wmic diskdrive usava:
Get-CimInstance Win32_DiskDrive | Select-Object Model, SerialNumber
Peculiaridades que você encontrará.
- Espaços no início ou no fim. Alguns drivers preenchem o número de série com espaços até atingir um tamanho fixo. Compare os valores usando
.Trim()ou você encontrará falsas diferenças. - Hexadecimal com bytes invertidos em sistemas antigos. No Windows 7 e em versões anteriores,
Win32_PhysicalMediaretornava o número de série como hexadecimal, com cada par de caracteres invertido. As versões atuais do Windows retornam uma sequência normal, mas se você a comparar com um valor registrado anos atrás, esse é o motivo de ela parecer embaralhada. - Em branco para USB, RAID ou algumas unidades NVMe. Unidades conectadas por um controlador RAID informam o disco virtual do controlador, não a unidade física; gabinetes USB às vezes ocultam o número de série interno.
Get-PhysicalDiskgeralmente funciona melhor do queWin32_DiskDrivenesses casos, mas nenhum dos dois consegue enxergar além de um RAID por hardware. - Máquinas virtuais. Hipervisores atribuem números de série sintéticos que mudam quando o disco virtual é recriado.
O que o altera. Apenas substituir a unidade. Formatar, reparticionar, clonar para um novo disco (o clone tem o número de série da nova unidade) e reinstalar o Windows não o modificam. Atualizações de firmware também não.
Número de série do volume (normalmente não é o que você procura)
vol C:
Volume in drive C is Windows
Volume Serial Number is 8A3F-1C2B
Esse valor de 8 dígitos hexadecimais é gravado no cabeçalho do sistema de arquivos quando o volume é formatado. Ele não fica armazenado no firmware da unidade e não tem nenhuma relação com o hardware. Reformate a partição e você receberá um novo. Clone um disco setor por setor e o clone manterá o mesmo número de série de volume do original.
Sistemas de licenciamento antigos — alguns das décadas de 1990 e 2000 — de fato usavam o número de série do volume C:, por isso ele ainda aparece em discussões sobre HWID. Sistemas modernos de DRM e antitrapaça normalmente o ignoram justamente porque é muito fácil alterá-lo. Se uma ferramenta mostrar como “número de série do disco” algo parecido com 8A3F-1C2B, ela está lendo o número de série do volume, não o da unidade.
O equivalente em PowerShell, caso você precise usá-lo em um script:
(Get-CimInstance Win32_LogicalDisk -Filter "DeviceID='C:'").VolumeSerialNumber
Esse comando retorna 8A3F1C2B sem o hífen.
Números de série dos módulos de RAM
O que é. Cada módulo de memória possui um chip SPD (Serial Presence Detect) que contém o código da peça, o fabricante e — na maioria dos módulos — um número de série. O Windows expõe esses dados por meio de Win32_PhysicalMemory.
Get-CimInstance Win32_PhysicalMemory |
Select-Object DeviceLocator, Manufacturer, PartNumber, SerialNumber
Saída típica:
DeviceLocator Manufacturer PartNumber SerialNumber
------------- ------------ ---------- ------------
DIMM_A2 Corsair CMK32GX5M2B5600C36 00000000
DIMM_B2 Corsair CMK32GX5M2B5600C36 00000000
Observe os números de série. 00000000, um valor em branco ou o mesmo valor em todos os módulos são extremamente comuns em memórias para o consumidor. Alguns fabricantes não programam um número de série; algumas placas não repassam o campo de número de série do SPD ao SMBIOS. Memórias para servidores e estações de trabalho têm uma probabilidade muito maior de informar números de série reais e exclusivos.
O que os altera. Adicionar, remover ou trocar módulos. Alterar perfis XMP/EXPO não os modifica. Observe também que DeviceLocator (o nome do slot) é específico da placa; portanto, mover os mesmos módulos para slots diferentes muda a associação entre slot e número de série, embora os números em si permaneçam iguais — um detalhe que confunde implementações simplistas de HWID.
ProcessorId da CPU — o valor que não é um número de série
O que é. Um valor de 16 dígitos hexadecimais que o Windows constrói a partir da instrução CPUID: a assinatura do processador (família, modelo e revisão) e os indicadores de recursos.
Get-CimInstance Win32_Processor | Select-Object Name, ProcessorId
Name ProcessorId
---- -----------
AMD Ryzen 7 7800X3D 8-Core Processor 178BFBFF00A60F12
Aqui está o ponto que quase todos os tutoriais de HWID explicam de forma errada: o ProcessorId não é exclusivo do seu chip. Todo Ryzen 7 7800X3D com a mesma revisão e o mesmo conjunto de recursos visíveis pelo microcódigo retorna o mesmo 178BFBFF00A60F12. A Intel removeu do CPUID o número de série individual do processador (PSN) depois do Pentium III, em 2000, devido a preocupações com a privacidade, e a AMD nunca implementou um. O que o Windows informa hoje é um identificador de modelo, não de unidade.
Isso não significa que ele seja inútil. Ele é um componente estável de um hash composto — não muda a menos que você troque a CPU por um modelo diferente — e ajuda a distinguir a configuração geral de uma máquina. Apenas não consegue, sozinho, identificar um computador entre todos os outros que usam o mesmo processador.
O que o altera. Trocar a CPU por outro modelo ou outra revisão. Uma atualização de microcódigo que altere os indicadores de recursos informados pode, em teoria, modificar os bits inferiores, embora isso seja raro na prática.
Endereços MAC
O que é. Um endereço de 48 bits gravado em cada adaptador de rede, exibido como seis pares hexadecimais. Os adaptadores de Ethernet com fio, Wi-Fi e Bluetooth têm endereços próprios.
O comando exclusivo do CMD continua funcionando e vale a pena conhecê-lo:
getmac /v /fo list
O PowerShell mostra o nome e o estado do adaptador em uma única exibição:
Get-NetAdapter | Select-Object Name, InterfaceDescription, MacAddress, Status
Name InterfaceDescription MacAddress Status
---- -------------------- ---------- ------
Ethernet Realtek Gaming 2.5GbE Family Controller 04-42-1A-9B-3C-7D Up
Wi-Fi Intel(R) Wi-Fi 6E AX211 160MHz A0-B1-C2-D3-E4-F5 Up
Peculiaridades importantes para o HWID.
- Adaptadores virtuais. Clientes de VPN, Hyper-V, VMware, WSL2 e Docker adicionam adaptadores virtuais com endereços MAC próprios. Eles aparecem e desaparecem conforme programas são instalados; por isso, um HWID que inclua “todos os endereços MAC” é instável. Filtre apenas os adaptadores físicos com
Get-NetAdapter -Physical. - Endereços de hardware aleatórios. O Windows 10 e 11 podem randomizar o MAC do Wi-Fi para cada rede (Configurações → Rede e Internet → Wi-Fi → Endereços de hardware aleatórios). Quando esse recurso está ativado, o MAC que você vê em uma rede Wi-Fi é diferente do mostrado em outra. Adaptadores com fio não são afetados por essa configuração.
- Alterável pelo administrador. A maioria dos drivers permite substituir o MAC em Gerenciador de Dispositivos → Avançado → Endereço de rede. Esse é um recurso legítimo e documentado, não uma invasão — e é o principal motivo pelo qual o MAC sozinho é um identificador fraco.
O que os altera. Substituir o adaptador, ativar a randomização do Wi-Fi, definir uma substituição no driver ou adicionar/remover software de virtualização (no caso dos adaptadores virtuais).
Números de série dos monitores obtidos pelo EDID
A maioria dos guias sobre HWID ignora esse identificador, mas alguns sistemas antitrapaça o leem, portanto ele deve fazer parte de uma lista completa. Cada monitor envia à placa de vídeo um bloco EDID que o descreve; esse bloco inclui um código do fabricante e, normalmente, um número de série.
Get-CimInstance -Namespace root\wmi -ClassName WmiMonitorID | ForEach-Object {
[PSCustomObject]@{
Manufacturer = -join [char[]]($_.ManufacturerName -ne 0)
Model = -join [char[]]($_.UserFriendlyName -ne 0)
Serial = -join [char[]]($_.SerialNumberID -ne 0)
}
}
Manufacturer Model Serial
------------ ----- ------
DEL DELL S2721DGF 9X2Y3Z4
Os campos são matrizes de bytes preenchidas com zeros, por isso o trecho os converte em caracteres e remove os zeros. Alguns monitores — especialmente os mais baratos — informam um número de série 0 ou um valor compartilhado por todo o lote de produção.
O que o altera. Trocar o monitor. Mudar o cabo ou a porta não o modifica.
MachineGuid — o ID de software que sobrevive a trocas de hardware
O que é. Um GUID gerado pelo Windows durante a instalação e armazenado em HKLM\SOFTWARE\Microsoft\Cryptography\MachineGuid. Não é hardware. É o “identificador de máquina” mais utilizado em softwares para Windows, pois é muito fácil de ler e permanece igual independentemente dos componentes que você troca.
CMD puro:
reg query HKLM\SOFTWARE\Microsoft\Cryptography /v MachineGuid
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography
MachineGuid REG_SZ 7e3a1b2c-4d5e-4f60-9a7b-8c9d0e1f2a3b
PowerShell:
(Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Cryptography').MachineGuid
O que o altera. Reinstalar o Windows (uma instalação limpa, não uma atualização no mesmo sistema nem uma Redefinição que preserve o hive do Registro). Restaurar uma imagem de disco em outra máquina leva o mesmo MachineGuid para o novo hardware — por isso, organizações que implantam sistemas a partir de imagens às vezes encontram centenas de máquinas “idênticas” em softwares que usam apenas esse valor como chave.
Como muda na reinstalação, mas não com alterações de hardware, o MachineGuid se comporta de maneira oposta a um UUID de firmware. Implementações sérias de HWID usam os dois, para que nem uma reinstalação nem a troca de um componente produzam, isoladamente, uma “nova” máquina.
ID do Produto Windows
O que é. A sequência no formato xxxxx-xxxxx-xxxxx-AAOEM exibida em Configurações → Sistema → Sobre. Ela identifica o canal de licença e a instalação do Windows, não o hardware.
(Get-CimInstance Win32_OperatingSystem).SerialNumber
Ela está aqui porque wmic os get serialnumber aparece em muitos arquivos em lote que prometem “verificar o seu HWID”, e as pessoas a confundem com um número de série de hardware. Não é; ela muda em uma reinstalação e, às vezes, na mudança de edição ou em uma nova ativação.
ComputerHardwareIds — o ID de hardware da própria Microsoft
Esse identificador raramente é mencionado fora dos círculos de desenvolvimento de drivers e é o mais próximo que o Windows tem de um “HWID” oficial.
O Windows Update usa um conjunto de GUIDs chamados Computer Hardware IDs para direcionar pacotes de firmware e drivers a sistemas específicos. Eles são calculados por meio do hash de diferentes combinações de campos SMBIOS — fabricante, nome do produto, SKU, família, fornecedor e versão do BIOS, informações da placa-base — e armazenados no Registro:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\SystemInformation" /v ComputerHardwareIds
(Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\SystemInformation').ComputerHardwareIds
{a8b1c2d3-e4f5-5a6b-9c8d-7e6f5a4b3c2d}
{b9c2d3e4-f5a6-5b7c-8d9e-6f5a4b3c2d1e}
{c0d3e4f5-a6b7-5c8d-9e0f-5a4b3c2d1e0f}
...
Esses identificadores correspondem ao modelo, não à unidade: dois notebooks idênticos com a mesma versão do BIOS produzem o mesmo conjunto. No entanto, eles são uma verificação de coerência útil quando os outros valores parecem campos padrão, pois derivam das mesmas sequências de firmware que uma ferramenta de HWID também leria. Se várias máquinas compartilham todos os ComputerHardwareIds, é quase certo que também compartilham o problema do UUID SMBIOS ou do To Be Filled By O.E.M. descrito acima.
O Windows Driver Kit inclui o ComputerHardwareIds.exe, que mostra a mesma lista junto com os campos SMBIOS exatos usados em cada hash — útil se você quiser entender precisamente quais sequências de firmware o seu sistema expõe.
Quais números de série realmente compõem um “HWID”?
Agora chegamos à pergunta por trás das duas pesquisas. Você leu cerca de uma dúzia de valores. Qual deles é o HWID?
Nenhum deles individualmente. Um HWID usado por sistemas antitrapaça, servidores de licenciamento e ferramentas de gerenciamento de dispositivos é um hash de vários dos valores acima, e cada fornecedor escolhe um conjunto e um método de hash diferentes. É por isso que existe o guia de formatos de HWID e que um valor de um programa não pode ser comparado ao valor de outro.
Com base em documentação pública e em relatórios de engenharia reversa, podemos estimar aproximadamente o peso atribuído aos valores:
| Identificador | Peso típico | Motivo |
|---|---|---|
| Número de série da placa-mãe, UUID SMBIOS | Alto | Sobrevivem à reinstalação do sistema e só mudam com a troca da placa |
| Número de série do disco físico (unidade do sistema) | Alto | Estável, exclusivo e fácil de ler |
| MachineGuid | Médio a alto | Detecta reinstalações, mas imagens clonadas o compartilham |
| ProcessorId da CPU | Médio | Estável, mas compartilhado por todos os chips do mesmo modelo |
| Endereço MAC físico | Baixo a médio | Fácil de substituir, randomização no Wi-Fi |
| Números de série da RAM | Baixo | Frequentemente são zero ou duplicados em memórias para o consumidor |
| Número de série EDID do monitor | Baixo | Lido por alguns sistemas antitrapaça; periféricos mudam com frequência |
| Número de série do volume | Muito baixo | Muda em cada formatação |
| Número de série do BIOS/chassi | Depende | Excelente em máquinas OEM, valor padrão em placas vendidas no varejo |
Duas consequências práticas:
- Trocar apenas um componente raramente muda o seu HWID para um sistema bem projetado. A maioria das implementações tolera certo número de campos alterados antes de considerar que é uma nova máquina. Trocar uma GPU — que, vale observar, não aparece em nenhuma parte deste artigo porque as GPUs não expõem número de série por WMI — normalmente não muda nada.
- Reinstalar o Windows altera o MachineGuid e o número de série do volume, mas não muda nada no firmware. Se você está tentando entender por que um banimento ou bloqueio de licença persistiu após uma reinstalação, essa é a resposta: a placa-mãe, o disco e o UUID continuaram iguais. O guia sobre banimentos por HWID explica o que isso significa na prática.
Como ler tudo de uma só vez
Executar quatorze comandos manualmente é aceitável uma vez. Se você quiser um único relatório para salvar ou comparar mais tarde, há três opções, todas somente leitura.
Um bloco PowerShell que você pode colar. Ele mostra os valores de maior peso e mantém os valores padrão visíveis, para que você veja o que o firmware realmente informa:
$csp = Get-CimInstance Win32_ComputerSystemProduct
$bb = Get-CimInstance Win32_BaseBoard
[PSCustomObject]@{
SmbiosUuid = $csp.UUID
SystemSerial = $csp.IdentifyingNumber
BiosSerial = (Get-CimInstance Win32_BIOS).SerialNumber
BoardSerial = $bb.SerialNumber
BoardProduct = $bb.Product
DiskSerials = (Get-PhysicalDisk | ForEach-Object { $_.SerialNumber.Trim() }) -join ', '
CpuId = (Get-CimInstance Win32_Processor).ProcessorId
PhysicalMacs = (Get-NetAdapter -Physical | ForEach-Object MacAddress) -join ', '
MachineGuid = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Cryptography').MachineGuid
} | Format-List
O script BAT. Se preferir inspecionar um arquivo antes de executá-lo, o arquivo .bat para download é um arquivo em lote de texto simples que faz uma consulta PowerShell por identificador e pausa no final. Ele não usa wmic, não calcula nenhum hash e não grava nada no disco.
O EXE. O HWID Checker para Windows lê os mesmos identificadores, além dos números de série da RAM e dos volumes, mostra todos eles e também calcula um SHA-256 sobre os campos estáveis, para que você tenha uma única sequência a comparar ao longo do tempo. É um aplicativo portátil de console — dê dois cliques, leia e pressione Enter — e o hash é o nosso valor composto, não um valor usado por qualquer jogo ou servidor de licenciamento. É uma ferramenta para verificar se a sua própria máquina retorna os mesmos dados que retornava no mês passado, e não para prever o que o software de outra pessoa calculará. O SHA-256 do próprio executável é publicado na página de download, para que você possa verificar o arquivo antes de executá-lo.
Perguntas frequentes
Por que obtenho um resultado diferente do mostrado pela ferramenta de “HWID checker” de um amigo? Porque não existe um padrão. A ferramenta dele calculou o hash de outro conjunto de campos. Compare os valores brutos deste artigo, e não os hashes.
Os números de série da minha placa-mãe e do meu BIOS mostram To Be Filled By O.E.M. — há algo errado?
Não. Você tem uma placa-mãe vendida no varejo e o integrador do sistema (você) nunca preencheu os campos OEM. Alguns fabricantes de placas fornecem uma ferramenta de edição de DMI capaz de defini-los, mas normalmente não há motivo para isso.
Posso verificar esses valores em uma máquina à qual não tenho acesso físico?
Sim, com as permissões adequadas: Get-CimInstance -ComputerName <name> Win32_BaseBoard funciona por WinRM ou DCOM. Todos os comandos deste artigo que usam Get-CimInstance aceitam -ComputerName ou -CimSession.
O systeminfo mostra números de série de HWID?
Não. Ele mostra fabricante, modelo, versão do BIOS e ID do Produto Windows, mas nenhum número de série de hardware. É um contexto útil, não uma consulta de número de série.
Quais deles posso alterar? Este artigo não explica como alterar identificadores, e o HWID Checker não modifica nada. O MAC e o número de série do volume podem ser alterados pelo usuário por definição; os valores de firmware não foram feitos para isso, e modificá-los em uma placa que pertence a você é uma questão para o fornecedor do firmware, não para o Windows.
Algum desses dados é enviado quando executo os comandos? Não. Cada comando lê tabelas do firmware local, drivers de dispositivos locais ou o Registro local. Nada neste guia entra em contato com uma rede — inclusive o EXE e o BAT para download, que não contêm código de rede.
Se você tem um identificador de algum programa e quer saber com qual dos valores acima ele mais se parece, o verificador de formatos de HWID online reconhece UUIDs, endereços MAC, hashes hexadecimais e padrões comuns de números de série, além de explicar a estrutura deles — no seu navegador, sem enviar o valor a lugar algum.