Estou procurando um GUID exclusivo armazenado no registro do Windows que me ajudaria a identificar uma instalação ou PC do Windows.
O GUID deve;
- Sempre existe
- Seja exclusivo para uma instalação específica do Windows, ou seja, nenhum outro computador teria o mesmo ID
- Nunca mude
Muito Obrigado
Respostas:
Você espera que esse número mude ou permaneça o mesmo se a unidade para essa instalação for movida para outro sistema?
Você espera que esse número seja alterado se a instalação for clonada com fantasma ou algo mais? Você pode depender de sistemas clonados sempre sendo sysprep'd seguindo as recomendações da Microsoft? O SID deve ficar bom, se você tiver certeza de que suas instalações nunca serão clonadas.
No caso de um sistema de inicialização múltipla (ou seja, o sistema possui o Windows 7 e o Windows XP instalado), você precisa identificar as duas instalações como únicas, relacionadas ou o quê?
Por que você precisa que isso faça parte da instalação do Windows, e não algo apresentado pelo hardware, talvez o número de série do processador ?
Suponho que você esteja perguntando sobre isso para algum tipo de script ou ferramenta que esteja usando para fins de inventário.
Por que você simplesmente não gera seu próprio número na primeira vez em que executa a ferramenta e a salva na seção de registro LOCAL_MACHINE? Talvez até use um número RFC4122 Tipo 1 e que inclua o endereço de hardware para uma das interfaces de rede. Dessa forma, você pode verificar se o UUID ainda pertence a esse sistema comparando o UUID com os atuais adaptadores de rede.
fonte
Você pode obter o GUID do registro do Windows, por exemplo:
fonte
Você deseja usar o ID do produto Windows. Esse é um número exclusivo gerado (hash) parcialmente da chave do produto instalada e parcialmente da configuração do hardware, incluindo o número de série do processador e o endereço MAC da primeira NIC. Você pode ler sobre isso neste artigo (um pouco datado, mas ainda válido) do TechNet . O ID do produto pode ser encontrado na tela Informações do sistema ou programaticamente através de vários métodos.
fonte
Supondo que seja um servidor Windows, existe um artigo da base de conhecimento que fala sobre como tirá-lo do Win2k: KB224544 .
Não sei se o LDP.exe ainda funciona assim, mas pode.
fonte
Não tenho tanta certeza de que exista um valor GUID como o que você descreve. Uma prática comum é usar informações da CPU ou da placa-mãe.
Aqui está um link para uma postagem do fórum que contém algum código de script WMI relevante: http://www.devnewsgroups.net/group/microsoft.public.dotnet.framework/topic59274.aspx
fonte
Se você deseja identificar uma instalação do Windows, pode estar sem sorte. Em ambientes corporativos, as estações de trabalho geralmente são geradas por imagens e não instaladas. Cada computador criado a partir desta imagem será idêntico.
O mais próximo do que você descreveu é o SID da máquina, mas isso não funciona por dois motivos:
Para que você precisa desse identificador? Sua melhor aposta pode ser gerar a sua própria, se isso for possível.
fonte
Você pode tentar o endereço MAC, que é pelo menos destinado a ser globalmente exclusivo e permanente. Isso também teria a vantagem de poder obter o IP e o nome do host de uma máquina sem muito incômodo (e isso também não seria restrito ao Windows). Ele não atendia ao seu requisito de estar no registro, mas você pode usar o WMI para ele.
Exemplos de scripts aqui: http://www.winforums.com/showthread.php?t=8842
fonte
E o DriveId do volume do sistema? Você pode obter o ID da
Win32_Volume
classe WMI, procurando entradas com SystemVolume True.No PowerShell:
(É claro que isso pode ser remotamente).
fonte
Há um SID usado pelo Windows Update que você pode usar. Novamente, não há garantia de que será único o tempo todo ou que não mudará.
Penso que o mais próximo de atender às suas necessidades seria o endereço MAC, no entanto, isso poderá mudar se a NIC for substituída.
Sua melhor aposta seria escrever seu próprio GUID no registro e usá-lo.
fonte
Para confirmar o SID da máquina em uma máquina específica, você pode executar o SysInternals PSGETSID% COMPUTERNAME% $. (SID do domínio).
http://blogs.msdn.com/aaron_margosis/archive/2009/11/05/machine-sids-and-domain-sids.aspx
EDIT: Removidas referências ao SID da máquina no registro, que podem não ser exclusivas (ou mesmo corretas).
fonte
Por que não usar apenas o nome do computador? Será único no seu domínio, todas as instalações do Windows têm um e só serão alteradas se um administrador de domínio o alterar, o que nunca será necessário, a menos que seja feita uma correção.
fonte
Eu também preciso encontrar uma maneira de identificar globalmente exclusivamente as instalações do Windows. Primeiro, para classificar e identificar adequadamente as imagens de backup e determinar quais são recuperadas em quais máquinas. Em segundo lugar, para nomear pares de sincronização para sincronizar arquivos e determinar qual par de sincronização usar, dependendo das máquinas envolvidas na sincronização.
Depois de ler várias postagens, incluindo as deste site, concluo que não há uma maneira fácil de encontrar um identificador globalmente exclusivo de uma instalação do Windows. Isso é muito mau. Como o hardware, o software também deve ter seu próprio número de série. Ah bem! Portanto, esta é minha solução alternativa: em vez de encontrar um único identificador globalmente exclusivo, criei uma declaração sylized, inspirada na maneira como a Microsoft nomeia unidades de rede no Windows e na maneira como nomeia pastas compartilhadas no Virtual PC: "[WINDOWS ID DO PRODUTO ( como variável )] Instalado em [NÚMERO DE SÉRIE DO COMPUTADOR ( como variável)]. "Embora um número de identificação de produção do Windows seja único apenas na medida em que a chave do produto correspondente é, ele é, no entanto, passível de ser o mesmo em várias instalações, especialmente em computadores produzidos em massa que contêm o Windows instalado de fábrica, mas um número serial. número é único e é diferente de uma máquina para outra.A fórmula acima mencionada é tudo o que preciso para meus propósitos; não preciso do SID (presumo que ele represente o Identificador de Segurança) ou algo mais complexo, porque a combinação de ambas as variáveis faz referência exatamente à instalação do Windows que eu preciso identificar, enquanto que cada variável individual é, por si só, inútil para mim. Especificamente e em primeiro lugar, a identificação do produto Windows é idêntica em computadores fabricados pelo mesmo fabricante e encontrados na mesma linha de produtos e isso não serve para nada, uma vez que possuo várias máquinas idênticas. Em segundo lugar, o número de série não é suficientemente identificável, pois eu tenho várias instalações do Windows em um computador que o número de série do computador não aborda. Eu, portanto, sugiro meu método.
Além disso, e antes que você pergunte: escolhi não basear meu método no nome do computador. As informações são baseadas no usuário e, portanto, precisam ser inventariadas. No entanto, a identificação do produto Windows e o número de série do computador já estão identificados, inventariados e invariavelmente conectados a dois produtos específicos, eliminando assim a necessidade de inventá-los novamente. Eu não escolheria identificar uma instalação do Windows com um identificador exclusivo de discos rígidos, pois sou capaz e bastante apto a alterná-los de uma máquina para outra, especialmente quando as capacidades da unidade estão em um estado de fluxo constante. Da mesma forma, eu usaria muito menos a nomenclatura de identificação da unidade central de processamento ou da placa-mãe, como já foi sugerido em uma resposta anterior da Shoeless. Finalmente, também rejeito a opção mais óbvia de identificar uma instalação do Windows (embora não tenha sido mencionada por mais ninguém pelo que posso ver): usando a chave do produto. Embora seja único, é apenas uma licença para instalar uma determinada versão do Windows; na verdade, ele não está conectado a uma instalação específica do Windows e não o distingue de instalado em uma máquina específica, mesmo que a licença tenha sido concedida em virtude da compra de um determinado computador.
fonte