Replacing the slow WMI?

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hi there

I had been playing around with WMI. Seriously speaking it is very slow when extracing the clients information. Just say to check all machines 1000 PCs if the registry changes, will update me

To take 1 PC information already took me around 1 minutes. Furthermore if i had a slow network, it is even worst

I want something that had performance and speed

Is there any other ways to replace wmi and able to code with .net

Any help please

Thanks.
 
There must be something terribly wrong, so here are some questions:
What kind of info are you querying, and more importantly, how does your code
(query) looks like?
How much time does it takes to retrieve that same info from a local PC?
How much network overhead does it take?
What kind of authentication are you using (AD domain with kerberos or
NTLM?), which account do you use to connect to the remote PC's?
Also, note that WMI (and DCOM for that matter) needs good network
connectivity, so what do you call a slow network?
What about your network connectivity/usage/performance related to other
network services (File/printer services, etc...) ?
Also note that you shouldn't use WMI (or whatever other method) to check
remotely for "registry modification events" on say 1000 client PC's, unless
you don't care about response times.

Willy.

PS: these kind of questions are better asked in WMI specific groups like:
microsoft.public.dotnet.framework.wmi and/or
microsoft.public.win32.programmer.wmi
 
Wow, interesting questions

1) what if i had a slow network, and i do not want touse dcom or wmi? What can i use with .net

2) I am quering info like, the PC background process, services running, to prevent illegal software, make sure no registry changes, etc, etc

3) I think getting over the network is a bit slower than the current PC. I tried in my college network with a domain administrator account.

4) About the AD authenticatin? No idea? Serious. Coz the full time system admin sets it. Does it make a difference

5) If i care about the response time, what should i use to replace wmi? Is it by having an agent running on each client, and use sockets to get information

Thanks WIlly!
 
Inline ***

Willy.

Chua Wen Ching said:
Wow, interesting questions.

1) what if i had a slow network, and i do not want touse dcom or wmi? What
can i use with .net?
*** Difficult to tell as long as you don't know where the time is spent.
2) I am quering info like, the PC background process, services running, to
prevent illegal software, make sure no registry changes, etc, etc.
*** Not sure how you could prevent anything this way, at best you are
discovering the facts, but you aren't preventing them.
3) I think getting over the network is a bit slower than the current PC. I
tried in my college network with a domain administrator account.

*** A bit slower doesn't say that much, It would be hepfull if you could
give some correct figures and show us some code. This is really important,
say that is takes 1min. when executed in a C/S context and 55 sec. when ran
locally, then we could conclude that the network overhead is not the
bottleneck.
4) About the AD authenticatin? No idea? Serious. Coz the full time system
admin sets it. Does it make a difference?
Yes, it could make some difference, but again look at 1)
5) If i care about the response time, what should i use to replace wmi? Is
it by having an agent running on each client, and use sockets to get
information?
*** But WMI is not a network protocol, it's a service oriented architecture,
WMI is only using DCOM as RPC mechanism, running over SMB (which in turn
uses TCP at the transport layer), when used remotely.
So what you are thinking off ,is to replace all this by your own sockect
based architecture, well I would say forget it.
What else would you use to get at the information your are collecting now by
using WMI?
 
Willy Denoyette said:
*** But WMI is not a network protocol, it's a service oriented
architecture, WMI is only using DCOM as RPC mechanism, running over SMB
(which in turn uses TCP at the transport layer), when used remotely.
So what you are thinking off ,is to replace all this by your own sockect
based architecture, well I would say forget it.
What else would you use to get at the information your are collecting now
by using WMI?
WMI doesn't use DCOM, so this "using DCOM as RPC mechanism", should read
"using a DCOM like RPC mechanism".

Willy.
 
Thanks Willy

Any recommended website on WMI with .NET

I had seen a few in codeproject and google

is there any articles by calling async or semi sync wmi calls? I find very few articles on that! Any help

Can i increase my performance by calling async and semi sync? What do you think? Thanks.
 
Back
Top