Introduction
This is a tool which is created using the Active Directory objects in VB.NET. Using this tool, we can communicate with the computers across the network.
Once the form is loaded, it will bring out all the computer names in a TreeView
control. If you click on any computer name from the tree view, it will display the selected item in the right top textbox; it will show the computer name and also the IP address details below.
We have to type the message that we want to send, in the Message to Send box, and if you press the Send button, it will send the message to the selected computer.
In the same way, if we want to send messages to all the computers, if we press the Send to All button, it will send the message to all the computers; we also have a provision to ‘ping’ the selected node.
For sending messages to another computer, we have a ‘Net Send’ command; it is a DOS command. To run any executable program, we have a ‘Shell’ command.
Shell("net send " & txtcomputer.Text & " " & txtmessage.Text)
The above line is part of the code which will send a message to a specified computer.
To Ping the another node, the following is the command:
Shell("PING " & TextBox1.Text)
In the ‘TextBox1
’, we will have the IP address of the selected computer.
To get the IP Address of the computer using the tool, we have a generic function called “GetIPAddress
”.
Function GetIPAddress(ByVal CompName As String) As String
Dim oAddr As System.Net.IPAddress
Dim sAddr As String
Try
With System.Net.Dns.GetHostByName(CompName)
oAddr = New System.Net.IPAddress(.AddressList(0).Address)
sAddr = oAddr.ToString
End With
GetIPAddress = sAddr
Catch Excep As Exception
MsgBox(Excep.Message, MsgBoxStyle.OKOnly, "Lan Messenger")
Finally
End Try
End Function
System.Net.Dns.GetHostByName
Gets the DNS information for a specified DNS host name. Only we have to pass the ‘hostname
’. Returns the host information for the address specified in hostName
.
System.Net.IPAddress
Provides an Internet Protocol (IP) address. The following is the code to list the computers in the network:
Dim childEntry As DirectoryEntry
Dim ParentEntry As New DirectoryEntry()
Try
ParentEntry.Path = "WinNT:"
For Each childEntry In ParentEntry.Children
Dim newNode As New TreeNode(childEntry.Name)
Select Case childEntry.SchemaClassName
Case "Domain"
Dim ParentDomain As New TreeNode(childEntry.Name)
TreeView1.Nodes.AddRange(New TreeNode() {ParentDomain})
Dim SubChildEntry As DirectoryEntry
Dim SubParentEntry As New DirectoryEntry()
SubParentEntry.Path = "WinNT://" & childEntry.Name
For Each SubChildEntry In SubParentEntry.Children
Dim newNode1 As New TreeNode(SubChildEntry.Name)
Select Case SubChildEntry.SchemaClassName
Case "Computer"
ParentDomain.Nodes.Add(newNode1)
End Select
Next
End Select
Next
Catch Excep As Exception
MsgBox("Error While Reading Directories")
Finally
ParentEntry = Nothing
End Try
System.DirectoryServices
The .NET Framework System.DirectoryServices
namespace is a robust and flexible API for querying and manipulating objects in Microsoft's Active Directory.
Active Directory is Microsoft's network operating system (NOS) directory, built on top of Windows 2000 and Windows Server 2003. It enables administrators to manage enterprise-wide information efficiently from a central repository that can be globally distributed.
The two main classes within System.DirectoryServices
are DirectoryEntry
and DirectorySearcher
. The DirectoryEntry
class represents an object in the directory, and can be used to create new objects and manage existing ones.
License
This article has no explicit license attached to it, but may contain usage terms in the article text or the download files themselves. If in doubt, please contact the author via the discussion board below.
A list of licenses authors might use can be found here.
I am J. Franklin Kennedy, Working as a programmer in application software developement.