![]() |
Languages »
VB.NET »
General
Intermediate
Build Simple Network BrowserBy aleksisaBuild Simple Network Browser to Enumerate Computers and Users on the Local Network |
VB, Windows, .NET, Visual Studio, Dev
|
||||||||
|
Advanced Search Add to IE Search |
|
|
|
||||||||||||||||
While working on SQL Server management tool for mobile devices - Siccolo, I created a simple applet to be able to browse computers on the local network within a domain and retrieve additional information (such as list of users, services).
See more at Articles from Siccolo!
The code presented allows to build simple network browser
.NET allows to retrieve almost any information about local network by using WMI - Windows Management Instrumentation - service with ManagementObjectSearcher class and in conjunction with Active Directory Service Interfaces (ADSI) - Active Directory hierarchy.
The code is broken into several methods:
// VB.NET //
...
Public Function GetLocalComputerInfo() As Boolean
Dim query As <CODE>ManagementObjectSearcher
Dim queryCollection As ManagementObjectCollection
Dim query_command As String = "SELECT * FROM Win32_ComputerSystem"
Dim msc As ManagementScope = New ManagementScope("root\cimv2")
Dim select_query As SelectQuery = New SelectQuery(query_command)
query = New ManagementObjectSearcher(msc, select_query)
queryCollection = query.Get()
Dim management_object As ManagementObject
For Each management_object In queryCollection
m_local_domain_name = management_object("Domain")
m_local_computer_name = management_object("Name")
Next management_object
Return True
End Function
...
where:
// VB.NET //
...
Public Function GetComputersInfoCollection(ByVal domain As String) _
As DirectoryEntry
Dim domainEntry As DirectoryEntry = New DirectoryEntry("WinNT://" _
+ domain)
domainEntry.Children.SchemaFilter.Add("computer")
Return domainEntry
End Function
...
where:
// VB.NET //
...
Public Function GetUsersInfoCollection(ByVal domain As String) _
As ManagementObjectCollection
Dim query As ManagementObjectSearcher
Dim queryCollection As ManagementObjectCollection
Dim msc As ManagementScope = New ManagementScope("root\cimv2")
Dim query_command As String = _
"SELECT * FROM Win32_UserAccount WHERE Domain=" & _
Chr(34).ToString() & domain & Chr(34).ToString()
'Win32_UserAccount:
'see http://msdn.microsoft.com/library/default.asp?
'url=/library/en-us/wmisdk/wmi/win32_useraccount.asp
'class Win32_UserAccount : Win32_Account
'{
' uint32 AccountType;
' string Caption;
' string Description;
' boolean Disabled;
' string Domain;
' string FullName;
' datetime InstallDate;
' boolean LocalAccount;
' boolean Lockout;
' string Name;
' boolean PasswordChangeable;
' boolean PasswordExpires;
' boolean PasswordRequired;
' string SID;
' uint8 SIDType;
' string Status;
'};
'
Dim select_query As SelectQuery = New SelectQuery(query_command)
query = New ManagementObjectSearcher(msc, select_query)
queryCollection = query.Get()
Return queryCollection
End Function
...
// VB.NET //
...
Public Function GetServicesInfoCollection(ByVal computer_name _
As String) _
As ManagementObjectCollection
Dim query As ManagementObjectSearcher
Dim queryCollection As ManagementObjectCollection
Dim msc As ManagementScope = New ManagementScope("\\" &_
computer_name & "\root\cimv2")
Dim query_command As String = "SELECT * FROM Win32_Service"
'Win32_UserAccount:
'see http://msdn.microsoft.com/library/en-us/wmisdk/wmi/
'win32_service.asp?frame=true
'
' class Win32_Service : Win32_BaseService
'{
' boolean AcceptPause;
' boolean AcceptStop;
' string Caption;
' uint32 CheckPoint;
' string CreationClassName;
' string Description;
' boolean DesktopInteract;
' string DisplayName;
' string ErrorControl;
' uint32 ExitCode;
' datetime InstallDate;
' string Name;
' string PathName;
' uint32 ProcessId;
' uint32 ServiceSpecificExitCode;
' string ServiceType;
' boolean Started;
' string StartMode;
' string StartName;
' string State;
' string Status;
' string SystemCreationClassName;
' string SystemName;
' uint32 TagId;
' uint32 WaitHint;
'};
Dim select_query As SelectQuery = New SelectQuery(query_command)
query = New ManagementObjectSearcher(msc, select_query)
queryCollection = query.Get()
Return queryCollection
End Function
...
If you would like to read more - please take a look at Siccolo - Free Mobile Management Tool For SQL Server and more articles at Development Articles from Siccolo!
no improvements so far. nearly perfect.
| You must Sign In to use this message board. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 9 Jan 2007 Editor: |
Copyright 2007 by aleksisa Everything else Copyright © CodeProject, 1999-2009 Web20 | Advertise on the Code Project |