[Script] VBScript para testar a conexão local com arquivo de saída em log

Scripts diversos para automatizar tarefas em servidores ou auxilio com tarefas administrativas.
Avatar do usuário
marceloleaes
Administrator
Administrator
Mensagens: 1516
Registrado em: 10 Jun 2013 12:45
Localização: Novo Hamburgo
Idade: 41
Contato:
Status: Offline

[Script] VBScript para testar a conexão local com arquivo de saída em log

Mensagem por marceloleaes »

Segue VBS para teste da conexão local e coleta dos testes em arquivo txt. O segundo script é um opcional para validar a conexão com a internet, ambos passando informações ao usuário para facilitar um pouco a tarefa de suporte. Bom proveito !  ;)

** Para ambos, salvar com a extensão .vbs e depois é só rodar


Teste de Conectividade Local

Código: Selecionar todos

' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
' Teste de conexão e coleta de resultados em VBScript
' Autor James Wright - http://www.techrepublic.com
' Traduzido por Marcelo Leães - [email protected]
' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

On Error Resume Next

  Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject") 
  Dim WSHShell : Set WSHShell = wscript.CreateObject("wscript.shell") 
  Dim strLogFile
  strLogFile  = "Teste_de_Conectividade_Resultados.txt"
  Const ForReading = 1
  Const ForWriting = 2
  Const ForAppending = 8
  Dim strPingResponse 
  strPingResponse = "Variable Not Set"
  Dim strComputer
  strComputer = "."
 
  If objFSO.FileExists(strLogFile) Then
     objFSO.DeleteFile(strLogFile), TRUE
  End If
  
  Dim objWMIService : Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
  Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration Where IPEnabled = True",,48)
      For Each objItem in colItems
		If objFSO.FileExists(strLogFile) Then
			Set objFile = objFSO.OpenTextFile(strLogFile, ForAppending)
			objFile.WriteLine "================================================================================================================"
			objFile.WriteLine
		Else
			Set objFile = objFSO.CreateTextFile(strLogFile)
			objFile.Close
			Set objFile = objFSO.OpenTextFile(strLogFile, ForWriting)  
			objFile.WriteLine "================================================================================================================"
			objFile.WriteLine ""
			objfile.WriteLine "Teste de Conectividade de Rede" & vbcrlf & ""
 			objfile.WriteLine "Executado em: " & now
			objFile.WriteLine
			objFile.WriteLine "================================================================================================================"
			objFile.WriteLine
		End If
	
       If Not isNull(objItem.DNSHostName) Then
       
strHostName =  objItem.DNSHostname
 	strDescript = "Interface: " & objItem.Description
	    strLocalIP = Split(Join(objItem.IPAddress, ","), ",")(0)
     	'retorna ipv4 e ipv6 precisa melhorar isto ping não aceita vírgulas
		'strLocalIP = Join(objItem.IPAddress, ",")
       	strSubNet = Join(objItem.IPSubnet, ",")
       	strDefGateway = Join(objItem.DefaultIPGateway, ",")
       	strDNSSrchOrd = Join(objItem.DNSServerSearchOrder, ",")
       	strDomain = objItem.DNSDomain
       	strPrimWins = objItem.WINSPrimaryServer
       	strSecWins = objItem.WINSSecondaryServer

	objFile.WriteLine "Info: " & objItem.Description
    objFile.WriteLine "Computador: " & strHostName & "." & strDomain
	objFile.WriteLine strDescript
	objFile.WriteLine "IPv4: " & strLocalIP & " / Sub-rede: " & strSubNet
	strPing = strLocalIP
	objFile.WriteLine "================================================================================================================"
	objFile.WriteLine "Pingando IP local" &  "(" & strLocalIP & ")"
	UpCheck(strPing)
	objFile.WriteLine "Gateway: " & strDefGateway
	strPing = strDefGateway
	objFile.WriteLine "================================================================================================================"
	objFile.WriteLine "Pingando o Gateway" & "(" & strDefGateway & ")"
	UpCheck(strPing)
	objFile.WriteLine "Ordem de busca do DNS: " & strDNSSrchOrd
		
	arrDNS = Split(strDNSSrchOrd, ",", -1, 1)
		For x = LBound(arrDNS) to UBound (arrDNS)
			strPrimDNS = arrDNS(0)
		Next

		If Not isNull(strPrimDNS) Then
		     strPing = strPrimDNS
		     objFile.WriteLine "================================================================================================================"
	   	     objFile.WriteLine "Pingando os servidores DNS configurados" & "(" & strPrimDNS & ")"
		     UpCheck(strPing)
		Else
			objFile.WriteLine "Nenhum servidor DNS encontrado"
		End If

		objFile.WriteLine "Servidor WINS primario: " & strPrimWins
		If Not isNull(strPrimWins) Then
			strPing = strPrimWins
			objFile.WriteLine "================================================================================================================"
			objFile.WriteLine "Pingando o servidor WINS primario" & "(" & strPrimWINS & ")"
			UpCheck(strPing)
		Else
			objFile.WriteLine "Nenhum servidor WINS encontrado"
		End If
		objFile.WriteLine "Servidor WINS secundario: " & strSecWins
		If Not isNull(strSecWins) Then
			strPing = strSecWins
			objFile.WriteLine "================================================================================================================"
			objFile.WriteLine "Pingando o servidor WINS secundario" & "(" & strSecWINS & ")"
			UpCheck(strPing)
		Else
			objFile.WriteLine "Nenhum servidor WINS encontrado"
		End If
		objFile.WriteLine "================================================================================================================"
		objFile.Close
      End If 
     Next 

  Sub UpCheck(strPing)
  
	Dim strPingResults
	Dim pingExec : Set pingExec = WSHShell.Exec("ping " & strPing & " -n 3 -w 3000")
	strPingResults = LCase(pingExec.StdOut.ReadAll)
	objFile.WriteLine strPingResults
  End Sub

Wscript.Echo "Acabamos de coletar tudo que precisavamos" & vbcrlf & "Por favor abra o arquivo Teste_de_Conectividade_Resultados.txt"
Wscript.Quit

Teste de Conectividade Internet

Código: Selecionar todos

' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
' Teste de conexão com a Internet em VBScript
' Por Marcelo Leães - [email protected]
' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Dim target
Dim result

target= "www.google.com"

Set shell = WScript.CreateObject("WScript.Shell")
Set shellexec = shell.Exec("ping " & target) 

result = LCase(shellexec.StdOut.ReadAll)

If InStr(result , "resposta de") Then
  WScript.Echo "Sua internet esta funcionando corretamente =)"
Else
  WScript.Echo "Existe um problema de conectividade com a Internet " & vbcrlf & "Contate o suporte para verificar este problema"
End If


"Transportai um punhado de terra todos os dias e fareis uma montanha." Confúcio

Voltar para “Scripts”