Ir ao conteúdo
  • Cadastre-se

Visual Basic Teste de conectividade com VBScript


Banys

Posts recomendados

Olá a todos,

estou estudando o VBScript, "pre-iniciante", e no momento estou precisando de um script sem interação para adaptar em algo que estou criando, ele servirá para testar se o micro esta na rede e escrever um TXT com o status, se sim escreve apenas "OK" ou se não "FAIL", em caso de existir o arquivo do status TXT apenas sobresvreva mantendo apenas a mais recente informação. A entreda do nome do micro e do local onde salvará o status será definida em forma de parâmetro, ex.:

cscript teste.vbs "hostname" c:\temp\ping.txt

Encontrei algo quase pronto na nuvem, os créditos é do cridor Vicente Sloboda que disponibilizou o código, segue:

 
dim v_machine() repetir = 1 sempre = false ms = false repeticao = 1 intervalo = 1000 pacote = " and buffersize=32" datahora=false j=0 For i = 0 to wscript.arguments.count - 1     strFlag = Left(wscript.arguments.item(i), 3)     Select Case LCase(strFlag)         Case "/t:" 'ficar repetindo até ser interrompido 		sempre=true         Case "/m:" 'mostrar apenas o tempo em ms 		ms=true         Case "/d:" 'mostrar data e hora 		datahora=true         Case "/r:" 'Numero de repetições         	repetir = int(mid(wscript.arguments.item(i),4))         Case "/i:" 'intervalo entre repetições         	intervalo = int(mid(wscript.arguments.item(i),4))*1000         Case "/f:" 'arquivo         	arquivo = mid(wscript.arguments.item(i),4)         	Dim FSO,DataFileStream 		Set FSO = CreateObject("Scripting.FileSystemObject") 		Set DataFileStream = FSO.OpenTextFile(arquivo, 1) 		Do While Not(DataFileStream.AtEndOfStream) 			redim preserve v_machine(j) 			v_machine(j) = DataFileStream.ReadLine 			j = j + 1 		Loop         Case "/s:" 'tamanho do pacote         	pacote = " and buffersize=" & int(mid(wscript.arguments.item(i),4))         Case else         	redim preserve v_machine(j) 		v_machine(j) = wscript.arguments.item(i) 		j = j + 1     End Select Next  do while (repeticao <= repetir or sempre=true) 	for i = 0 to ubound(v_machine) 		Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * from Win32_PingStatus where address = '" & v_machine(i) & "'" & pacote) 		For Each objStatus in objPing 			if ms=false then	 				If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then  					WScript.Echo("FAIL")  				else 					wscript.stdout.write("OK") 					wscript.echo 				End If 			end if 		Next 	Next 	if ms=true then 		wscript.echo 	else 		if ubound(v_machine) <> 0 then 			wscript.echo 		end if 	 	end if 	repeticao = repeticao + 1 	wscript.sleep(intervalo) loop
Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...