Luiz Fernando Posted April 13, 2019 Report Share Posted April 13, 2019 Colegas preciso monitorar um servidor de um cliente por um dia, tipo qdo ocorrer uma lentidão na rede, o usuário ira me informar a hora e minuto, dai preciso ver o que estava sendo processado no servidor naquele momento, será que é possível gravar o SHOW FULL PROCESSLIST Obg Quote Link to comment Share on other sites More sharing options...
Jmsilva Posted April 15, 2019 Report Share Posted April 15, 2019 Seria isso que vc precisa ? **========================================================== Function DadosdaMaquina() **========================================================== LOCAL oDatos, oSrv, oJob, i,cCorpo LOCAL nFree:= "" LOCAL oLoc:= CreateObject( "wbemScripting.SwbemLocator" ) LOCAL objWMI:= oLoc:ConnectServer() LOCAL oSistema:= objWMI:ExecQuery("Select * from Win32_PhysicalMedia") LOCAL oDisco:= objWMI:ExecQuery("Select * from Win32_LogicalDisk") LOCAL oParti:= objWMI:ExecQuery("Select * from CIM_DiskPartition") LOCAL oDisket:= objWMI:ExecQuery("Select * From Win32_LogicalDisk Where DeviceID = ‘A:’") LOCAL objUnd:= objWMI:ExecQuery("Select * from Win32_MappedLogicalDisk") LOCAL oUnd:= objWMI:ExecQuery("Select * from Win32_CDROMDrive") LOCAL oResolu:= objWMI:ExecQuery("Select * from Win32_DesktopMonitor") LOCAL oSistem:= objWMI:ExecQuery("Select * from Win32_OperatingSystem") LOCAL oUsers:= objWMI:ExecQuery("Select * from Win32_Account") LOCAL oServ:= objWMI:ExecQuery("Select * from Win32_Service Where Name = ‘Themes’") LOCAL oTime:= objWMI:ExecQuery("Select * from Win32_LocalTime") LOCAL oProc:= objWMI:ExecQuery("Select * from Win32_Processor") LOCAL oJbs:= objWMI:ExecQuery("SELECT Product, SerialNumber FROM Win32_BaseBoard") LOCAL oIpSet:= objWMI:ExecQuery("SELECT IPAddress FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE") LOCAL oList := objWMI:ExecQuery("Select * from Win32_ComputerSystem") //oDlgRun:cMsg:="Captura de Dados da Maquina Local …";oDlgRun:Refresh() //Return(Nil) objWMI:= oLoc:ConnectServer() oJbs := objWMI:ExecQuery( "select * from Win32_BaseBoard" ) //oSrv:ExecQuery( "SELECT * FROM Win32_BaseBoard" ) cCorpo:="Alguns dados da Maquina :"+CRLF FOR Each oDatos In oSistema cCorpo+="Serial de fabrica: " + ALLTRIM(cValToChar(oDatos:SerialNumber))+CRLF NEXT FOR Each oDatos In oDisco cCorpo+="Unidade: " + ALLTRIM(cValToChar(oDatos:Name)) + "\ Serial: " + ALLTRIM(cValToChar(oDatos:VolumeSerialNumber))+CRLF NEXT FOR Each oDatos in oParti cCorpo+="Partição: "+ALLTRIM(cValToChar(oDatos:Name)) + " – Tamanho: " +ALLTRIM(cValToChar(oDatos:Size)) + " Em: " + ALLTRIM(cValToChar(oDatos:SystemName)) + " – Tipo: " + ALLTRIM(cValToChar(oDatos:TYPE))+CRLF NEXT FOR Each oDatos in oDisket nFree:= oDatos:FreeSpace IF VALTYPE(nFree) = "U" cCorpo+="Não Existe um Drive de Disquete na Unidade A:\"+CRLF ELSE cCorpo+="Existe um Drive de Disquete na Unidade A:\"+CRLF ENDIF NEXT FOR Each oDatos In objUnd cCorpo+="Unidade Mapeada|Dispositivo ID: " + oDatos:DeviceID +" Nome: " + oDatos:Name +" Espaço Livre: " + cValtoChar(oDatos:FreeSpace) + " Tamanho: " + cValtoChar(oDatos:Size)+CRLF NEXT FOR Each oDatos in oUnd cCorpo+="Unidade de Cd\Dvd : " + oDatos:Drive + " " + "Nome: " + oDatos:Caption+CRLF NEXT FOR Each oDatos in oResolu cCorpo+="Resolução:"+cValToChar(oDatos:ScreenWidth)+" x "+cValToChar(oDatos:ScreenHeight)+CRLF NEXT FOR Each oDatos in oUsers cCorpo+="Usuarios:"+cValToChar(oDatos:Name) + " – " + cValToChar(oDatos:Caption)+CRLF NEXT FOR EACH oDatos IN oProc cCorpo+="Nome do Processador :"+Alltrim(cValtoChar(oDatos:Name))+CRLF cCorpo+="Velocidade Atual:"+Alltrim(cValtoChar(oDatos:CurrentClockSpeed)) + " Mghz"+CRLF cCorpo+="Velocidade Maxima:"+Alltrim(cValtoChar(oDatos:MaxClockSpeed)) + " Mghz"+CRLF NEXT FOR EACH oDatos IN oJbs cCorpo+="Tipo da Placa Mãe: "+Alltrim(cValtoChar(oDatos:Product))+CRLF cCorpo+="Numero de Serie da Placa Mãe:"+Alltrim(cValtoChar(oDatos:SerialNumber))+CRLF NEXT FOR EACH oDatos IN oIpSet cCorpo+="Endereço de Ip: " + Alltrim(cValtoChar(oDatos:IPAddress(0)))+CRLF cCorpo+="MacAdress: " + Alltrim(cValtoChar(oDatos:IPAddress(1)))+CRLF NEXT FOR EACH oDatos IN oList If oDatos:PartOfDomain cCorpo+="Dominio: " + oDatos:Domain+CRLF Else cCorpo+="Grupo de Trabalho: " + oDatos:Domain+CRLF EndIf Next Return cCorpo Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.