E aí pessoal,
Estou trabalhando em uma forma de automatizar o inventário dos equipamentos e serviços da Empresa. Sabemos que hoje existem diversos softwares e serviços que fazem isso, tanto proprietários quanto OpenSource, mas muitas vezes são caros demais ou levam tempo para se adaptar ao que cada Empresa precisa, então, estou criando o meu, com as minhas necessidades.
Nesse processo, uma das tarefas é obter o Service Tag da Dell, tendo em vista que meu parque é todo desta Empresa e tenho mais de 100 máquinas em diversos sites.
Fui atrás e encontrei uma forma com Visual Basic Script (VBS) linguagem de scripting utilizada para desenvolver códigos para ambientes Microsoft e muito utilizado em conjunto com GPO’s (Global Policy Objects) no Active Directory.
Esse código não é só para quem está em desenvolvimento de um software de inventário, serve para inúmeras coisas, o ideal é que você pegue a ideia do código e aplique nas suas necessidades, mas se quiser usar na íntegra, copie o código, cole no bloco de notas e salve com a extensão vbs entre aspas duplas, ex.: “st_dell.vbs”.
Ao executar o arquivo, ele vai solicitar um nome de máquina (Netbios) e retornará a service tag do mesmo. A service tag é encontrada no na BIOS do sistema e acessada na linha 4.
Caso você trabalhe diretamente com GPO, por exemplo, você poderia substituir o inputBox() da linha 1 por “.” (com as aspas) que o script obtém os dados da máquina local. Além disso outras tarefas podem ser feitas, como salvar os dados em um disco, por exemplo. Mas isso é papo para mais artigos…
strComputer = InputBox("Digite o nome do computador no qual queres saber a ST","Hostname"," ") on error resume next Set objWMIservice = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") set colitems = objWMIservice.ExecQuery("Select * from Win32_BIOS",,48) For each objitem in colitems Wscript.echo "Dell Service Tag: " & objitem.serialnumber Next
Explicação do Script
- Linha 1: Pergunta ao usuário um nome de máquina (no caso de utilização remota) e salva na variável strComputer
- Linha 2: Tratamento de erros
- Linha 3: Instancia o objeto em objWMIservice
- Linha 4: Obtém a coleção conforme a query executada na classe da BIOS do sistema
- Linha 5: Inicia o laço para percorrer a coleção
- Linha 6: Exibe na tela a mensagem com a Service Tag.
Muito útil 😉
Fino demais, cara! Realmente o que eu precisava, pois logar em cada maquina e executar o comando era horrível!!! Salvou demais…valeu!
Obrigado Bruno, fico feliz em saber que o blog está cumprindo com o seu papel de ajudar os colegas.
Grande abraço.
Prezado, então, tenho a seguinte condição, preciso que o script identifique o service tag do computador em questão e troque o nome da máquina pelo service tag, será que isso seria possível?
Oi Kaio, tudo certo? Obrigado por aparecer por aqui. Respondendo à tua pergunta, tem sim! Dá uma olhada nesse link e aí é só fazer um script conforme a necessidade que tu passastes.
http://www.purainfo.com.br/windows/mudando-o-nome-do-computador-e-grupo-de-trabalho-com-powershell/
Grande abraço.