Dejo script para comprobar algunos puertos de AD, necesita tener en la misma carpeta portqry:
'**************************************************************************************** '* Programa: ComprobacionPuertosDA.vbs * '* Descripcion: Script que comprueba conectividad con PortQry de los puertos de DA. * '* * '* Autor: Alberto Dominguez * '**************************************************************************************** '*************************** '* Constantes * '*************************** Const ESCRITURA = 2 '*************************** '* Variables * '*************************** Dim oWSH : Set oWSH = CreateObject( "WScript.Shell" ) Dim t, objFSO, objFichero Set objFSO = CreateObject("scripting.filesystemobject") Dim arrPuertosTCP(4) Dim arrPuertosUDP(0) Dim arrPuertosAnalizados() Dim nombreFicheroPuertosFallando Dim wshNetwork, computerName '*************************** '* Programa Principal * '*************************** Set wshNetwork = CreateObject("WScript.Network") computerName = wshNetwork.ComputerName arrPuertosTCP(0) = "389" arrPuertosTCP(1) = "636" arrPuertosTCP(2) = "3268" arrPuertosTCP(3) = "135" arrPuertosTCP(4) = "53" arrPuertosUDP(0) = "123" servidor=WScript.Arguments.Unnamed(0) WScript.Echo "Comprobando puertos... " WScript.Echo t=0 For Each puerto in arrPuertosTCP 'Se necesita tener ubicada la aplicacion PortQry en el server desde el que se lance este script. nRet = oWSH.Run( "PortQry.exe -n " & servidor & " -p tcp -e " & puerto, 0, True ) If (nRet = 0) Then ReDim Preserve arrPuertosAnalizados(t) arrPuertosAnalizados(t) = "OK (LISTENING): Puerto "&puerto&" TCP desde "& computerName &" hacia "& servidor WScript.Echo "OK (LISTENING): Puerto "&puerto&" TCP desde "& computerName &" hacia "& servidor t = t + 1 ElseIf (nRet =2) Then ReDim Preserve arrPuertosAnalizados(t) arrPuertosAnalizados(t) = "OK (LISTENING OR FILTERED): Puerto "&puerto&" TCP desde "& computerName &" hacia "& servidor WScript.Echo "OK (LISTENING OR FILTERED): Puerto "&puerto&" TCP desde "& computerName &" hacia "& servidor t = t + 1 ElseIf (nRet =1) Then ReDim Preserve arrPuertosAnalizados(t) arrPuertosAnalizados(t) = "FALLO (NOT LISTENING): Puerto "&puerto&" TCP desde "& computerName &" hacia "& servidor WScript.Echo "FALLO (NOT LISTENING): Puerto "&puerto&" TCP desde "& computerName &" hacia "& servidor t = t + 1 Else ReDim Preserve arrPuertosAnalizados(t) arrPuertosAnalizados(t) = "INDETERMINADO: Puerto "&puerto&" TCP desde "& computerName &" hacia "& servidor WScript.Echo "INDETERMINADO: Puerto "&puerto&" TCP desde "& computerName &" hacia "& servidor t = t + 1 End If Next For Each puerto in arrPuertosUDP 'Se necesita tener ubicada la aplicacion PortQry en el server desde el que se lance este script. nRet = oWSH.Run( "PortQry.exe -n " & servidor & " -p udp -e " & puerto, 0, True ) If (nRet = 0) Then ReDim Preserve arrPuertosAnalizados(t) arrPuertosAnalizados(t) = "OK (LISTENING): Puerto "&puerto&" UDP desde "& computerName &" hacia "& servidor WScript.Echo "OK (LISTENING): Puerto "&puerto&" UDP desde "& computerName &" hacia "& servidor t = t + 1 ElseIf (nRet =2) Then ReDim Preserve arrPuertosAnalizados(t) arrPuertosAnalizados(t) = "OK (LISTENING OR FILTERED): Puerto "&puerto&" UDP desde "& computerName &" hacia "& servidor WScript.Echo "OK (LISTENING OR FILTERED): Puerto "&puerto&" UDP desde "& computerName &" hacia "& servidor t = t + 1 ElseIf (nRet =1) Then ReDim Preserve arrPuertosAnalizados(t) arrPuertosAnalizados(t) = "FALLO (NOT LISTENING): Puerto "&puerto&" UDP desde "& computerName &" hacia "& servidor WScript.Echo "FALLO (NOT LISTENING): Puerto "&puerto&" UDP desde "& computerName &" hacia "& servidor t = t + 1 Else ReDim Preserve arrPuertosAnalizados(t) arrPuertosAnalizados(t) = "INDETERMINADO: Puerto "&puerto&" UDP desde "& computerName &" hacia "& servidor WScript.Echo "INDETERMINADO: Puerto "&puerto&" UDP desde "& computerName &" hacia "& servidor t = t + 1 End If Next nombreFicheroPuertosFallando="Analisis_Puertos_Desde_"&computerName&"_Hacia_"&servidor&".txt" Set objFichero = objFSO.opentextfile(nombreFicheroPuertosFallando, ESCRITURA, True) For Each puerto in arrPuertosAnalizados objFichero.WriteLine(puerto) Next objFichero.Close WScript.Quit