VBScript (acrónimo de Microsoft's Visual Basic Scripting Edition) é um sub-sistema do Visual Basic usado em Active Server Pages em Windows Scripting Host como uma linguagem de aplicação universal (general-purpose). O VBScript é frequentemente usado em substituição dos batch files DOS.
VBScript é interpretado por um script engine, seja um ASP num ambiente web, wscript.exe num ambiente Windows, e cscript.exe num ambiente de linha de comando.
Fonte: Wikipedia
Agora que você já sabe o que é um vbs, vamos ao que interessa, eu precisava levantar rapidamente as configurações das máquinas para criar um inventário de hardware, todo mundo já fez isso e sabe que é um inferno, passar de máquina em máquina vendo as configurações, anotando, depois monta a planilha ou banco de dados, enfim sem chances.
Poderia também montar um servidor para isso, usando o OCS Inventory NG ou o Cacic, mas lembre-se eu precisava levantar rapidamente as configurações, e ae o que fazer? A solução foi um vbs.
Através do Blog do Vinicius Canto, achei o post no fórum Technet-br, excelente script gera um relatório em html com sumário, exibe as informações em sessões, maravilha; Só que ele te pergunta de qual computador você quer gerar as informações
e depois algumas opções de geração de relatório.
Ae pensei, pô mas se eu pudesse gerar esse cara via script de login, ae sim seria perfeito, não que é que o Anthony já tinha pensado nisso!! Só que o dele gerava um arquivo .xml, fiz algumas adaptações para gerar só as informações que realmente me interessavam, removi as tags xml e gerei um .txt. Depois ficou fácil gerar uma planilha com as informações.
Segue abaixo o meu script baseado nos acima:
hardware.vbs
' Modificaçao para o arquivo gerado ter o nome do computador.
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_ComputerSystem",,48)
For Each objItem in colItems
NomeComputador = objItem.Caption
Next
'----------------------------- Cria o arquivo
Dim fso, txtfile
Set fso = CreateObject("Scripting.FileSystemObject")
Set txtfile = fso.CreateTextFile("\\IP\NOME_DO_COMPARTILHAMENTO\" & NomeComputador & ".txt", True)
txtfile.Write ("Relatório de Hardware:")
txtfile.WriteBlankLines(3)
'--------------- Software
strComputer = "."
strProperties = "*"'"CSName, Caption, OSType, Version, OSProductSuite, BuildNumber, ProductType, OSLanguage, CSDVersion, InstallDate, RegisteredUser, Organization, SerialNumber, WindowsDirectory, SystemDirectory"
objClass = "Win32_OperatingSystem"
strQuery = "SELECT " & strProperties & " FROM " & objClass
Set colOS = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
For Each objItem in colOS
txtfile.write ("Nome:")
txtfile.WriteBlankLines(1)
txtfile.write (objItem.CSName)
txtfile.WriteBlankLines(1)
txtfile.write ("S.O.:")
txtfile.WriteBlankLines(1)
txtfile.write (objItem.Caption)
txtfile.WriteBlankLines(1)
If SO_Type = 16 Then
SO_Name = "Microsoft Windows 95"
ElseIf SO_Type = 17 Then
SO_Name = "Microsoft Windows 98"
End If
If SO_ProdType = 1 Then
SO_ProdType = "Estação de Trabalho"
ElseIf SO_ProdType = 2 Then
SO_ProdType = "Controlador de Domínio"
ElseIf SO_ProdType = 3 Then
SO_ProdType = "Servidor"
End If
If SO_Language = 1033 Then
SO_Language = "Inglês - Estados Unidos"
ElseIf SO_Language = 1046 Then
SO_Language = "Português - Brasil"
Else
SO_Language = "Outro idioma"
End If
If SO_Suite = 1 Then
SO_Suite = "Small Business"
ElseIf SO_Suite = 2 Then
SO_Suite = "Enterprise"
ElseIf SO_Suite = 4 Then
SO_Suite = "Backoffice"
ElseIf SO_Suite = 8 Then
SO_Suite = "Communication Server"
ElseIf SO_Suite = 16 Then
SO_Suite = "Terminal Server"
ElseIf SO_Suite = 18 Then
SO_Suite = "Enterprise e Terminal Server"
ElseIf SO_Suite = 32 Then
SO_Suite = "Small Business (Restrito)"
ElseIf SO_Suite = 64 Then
SO_Suite = "Embedded NT"
ElseIf SO_Suite = 128 Then
SO_Suite = "Data Center"
ElseIf SO_Suite = 256 Then
SO_Suite = "Single User"
ElseIf SO_Suite = 512 Then
SO_Suite = "Personal"
ElseIf SO_Suite = 1024 Then
SO_Suite = "Blade"
End If
Next
'------------------------------------------------------ Usuario----
txtfile.WriteBlankLines(1)
txtfile.write ("Usuário:")
txtfile.WriteBlankLines(1)
objClass = "Win32_ComputerSystem"
strQuery = "SELECT " & strProperties & " FROM " & objClass
Set colSys = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
For Each objItem in colSys
txtfile.write (objItem.UserName)
txtfile.WriteBlankLines(1)
Next
'-------------------------------Processador
txtfile.write("Processador:")
txtfile.WriteBlankLines(1)
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_Processor",,48)
For Each objItem in colItems
'------------------------------------------------- Nome do processador
txtfile.write (objItem.name)
txtfile.WriteBlankLines(1)
'------------------------------------------------- Clock
txtfile.write ("Clock:")
txtfile.WriteBlankLines(1)
txtfile.write (objItem.CurrentClockSpeed & " MHZ")
txtfile.WriteBlankLines(1)
Next
'----------------------------------Memoria
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_physicalmemory",,48)
For Each objItem in colItems
'------------------------------------------------- Nome do Banco
txtfile.write ("Memória:")
'------------------------------------------------- Capacidade
txtfile.write ("Capacidade:")
txtfile.WriteBlankLines(1)
txtfile.write (objItem.capacity/1048576)
txtfile.WriteBlankLines(1)
Next
'---------------------------------- hd
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_diskdrive",,48)
For Each objItem in colItems
'------------------------------------------------- modelo do disco
txtfile.write ("Disco:")
txtfile.WriteBlankLines(1)
txtfile.write (objItem.caption)
txtfile.WriteBlankLines(1)
'----------------------------------------------------- Interface
txtfile.write ("Interface:")
txtfile.WriteBlankLines(1)
txtfile.write (objItem.interfacetype)
txtfile.WriteBlankLines(1)
'----------------------------------------------------- Tamanho
txtfile.write ("Tamanho:")
txtfile.WriteBlankLines(1)
txtfile.write (int(objItem.size/1073741824) & " GB")
txtfile.WriteBlankLines(1)
Next
'------------------------------------------------- Nome do adaptador
strComputer = "."
strProperties = "Description, MACAddress, IPAddress, IPSubnet, DefaultIPGateway, DNSServerSearchOrder, DNSDomain, DNSDomainSuffixSearchOrder, DHCPEnabled, DHCPServer, WINSPrimaryServer, WINSSecondaryServer, ServiceName"
objClass = "Win32_NetworkAdapterConfiguration"
strQuery = "SELECT " & strProperties & " FROM " & objClass & " WHERE IPEnabled = True AND ServiceName <> 'AsyncMac' AND ServiceName <> 'VMnetx' AND ServiceName <> 'VMnetadapter' AND ServiceName <> 'Rasl2tp' AND ServiceName <> 'PptpMiniport' AND ServiceName <> 'Raspti' AND ServiceName <> 'NDISWan' AND ServiceName <> 'RasPppoe' AND ServiceName <> 'NdisIP' AND ServiceName <> ''"
Set colAdapters = objWMIService.ExecQuery(strQuery, , wbemFlagReturnImmediately + wbemFlagForwardOnly)
'--------------------------------------------------------rede
For Each objItem in colAdapters
'For Each objItem in colItems
txtfile.write ("Adaptador:")
txtfile.WriteBlankLines(1)
txtfile.write (objItem.Description)
txtfile.WriteBlankLines(1)
'------------------------------------------------- IP
txtfile.write ("IP:")
txtfile.WriteBlankLines(1)
IP_Address = objItem.IPAddress
txtfile.write (IP_Address(i))
txtfile.WriteBlankLines(1)
Next
quarta-feira, 30 de julho de 2008
terça-feira, 22 de julho de 2008
Descobrindo a senha de Adm do XP e do VISTA (Isso mesmo Descobrindo!!!)
Fonte:
Ophcrack
Todo Administrador de Redes está acostumado com Live CD de Linux que são usados para zerar a senha de adm do Windows XP e Vista, como por exemplo o Hiren's Boot CD, mas a proposta do Ophcrack é diferente, ele não zera a senha, ele lê a SAM e exibe todos os usuários locais e qual a senha deles.
Prático não? Se você tiver acesso fisíco a máquina basta iniciar com este Live CD, descobrir a senha de adm da máquina, usar para seus propósitos e depois deslogar ;-)
Obs: As informações contidas neste post são para Administradores de Rede, não me resposabilizo pelo uso indevido da ferramenta.
Ophcrack
Todo Administrador de Redes está acostumado com Live CD de Linux que são usados para zerar a senha de adm do Windows XP e Vista, como por exemplo o Hiren's Boot CD, mas a proposta do Ophcrack é diferente, ele não zera a senha, ele lê a SAM e exibe todos os usuários locais e qual a senha deles.
Prático não? Se você tiver acesso fisíco a máquina basta iniciar com este Live CD, descobrir a senha de adm da máquina, usar para seus propósitos e depois deslogar ;-)
Obs: As informações contidas neste post são para Administradores de Rede, não me resposabilizo pelo uso indevido da ferramenta.
Marcadores:
Administrador de Redes,
Open Source,
Segurança,
Software Livre,
SysAdmin
Assinar:
Postagens (Atom)