FUNCAO WMI TRAVA

CAIO.FR.SP 09/02/2012 15:53:58
#394346
Ola galera, Blz

galera estou tento um problema com uma função que criei para pegar informações de maquinas da rede via wmi

a função faz a consulta no computador remoto e me devolve um valor especifico ou apenas um valor em branco.

o problema é que as vezes a função trava no foreach, parece que a consulta expira e o laço fica eterno.

a função é a seguinte:



public string GetInfoWMI(string IP, string Info)
{
ManagementObjectSearcher query;
ManagementObjectCollection queryCollection;
System.Management.ObjectQuery oq;
string _result = [Ô][Ô];

System.Management.ManagementScope ms = new System.Management.ManagementScope(@[Ô]\\[Ô] + IP + @[Ô]oot\cimv2[Ô]);

try
{
//machine info
oq = new System.Management.ObjectQuery([Ô]SELECT * FROM Win32_ComputerSystem[Ô]);
query = new ManagementObjectSearcher(ms, oq);
queryCollection = query.Get();

foreach (ManagementObject mo in queryCollection) // a função para aqui
{
_result = mo[Info].ToString().ToUpper();
}
}
catch
{
_result = [Ô][Ô];
}

return _result;
}


em anexo o print do erro
CAIO.FR.SP 11/02/2012 07:44:56
#394473
ALEVALE, eu realizo o ping antes de executar essa função, meu projeto esta com a seguinte estrutura:

ele pinga o ip ->
se retornar success, ele busca o mac adress ->
ele busca o host name ->
se devolver um nome, ele busca o domínio e o usuário logado (wmi)
senão ele já pinga o próximo ip.

só preciso tratar esse erro que esta acontecendo de forma que a função não trave ali.
CAIO.FR.SP 11/02/2012 12:30:31
#394485
Sim,
O projeto é o seguinte
Trabalho na secretaria de educação de franca.
La temos muitos problemas com a rede, por falta de planejamento a parte da estrutura de rede é falha, e tem muitos comflitos de ip (não tem dhcp), dominios que estao sendo desativados...
Entao para ajudar nessa parte, estou desenvolvendo esse software.

a ideia é a seguinte
Varrer toda a faixa de ip da rede
procurar pelos ips que estao respondendo
nesses ips, pegar o mac, e o nome do host
se me retornar um nome de host entao é possivelmente é um pc,
entao busco o dominio, e o usuario logado
senao eu intendo sendo uma impressora, ou outro equipamento mais basico
nos ips que nao respondem eu marco como nao usado
depois desse levantamento eu salvo em um xml.
esse xml vai sendo comparado a cada nova varredura, caso um ip que nao havia respondido responda o registro é alterado

essa varredura vai ser executada durante todo o dia em intervalo de minutos
dai depois de alguns dias rodando eu tenho no xml, a lista dos ips que estao livre, os dominios que estao sendo usado...

depois vou postar o projeto.
CAIO.FR.SP 15/02/2012 15:02:51
#394818
Galera em anexo o projeto, para voces analizarem e se possivel me ajudarem a melhora-lo.
CAIO.FR.SP 15/02/2012 18:07:16
#394836
anexado novamente.
ULTRASOFT 15/02/2012 19:01:40
#394838
Caro Caio
testei ele aki onde estou estamos implantando uma rede em Cat 6 rodando giga nao deu nenhum erro, cheguei no hotel onde estou e aki a rede e wirelles e ele travou uma 3 vezez mas tbm funcionou, isso pode ser problema com a rede esta em alto trafego pelo meu ver

Página 1 de 2 [17 registro(s)]
Tópico encerrado , respostas não são mais permitidas