Listing shares on a Computer with C#
I was trying to search for info on how to do this and came up with this . It uses a couple of classes .
First off we need to use the System.management namespace to retrieve these classes . So if your building a project make sure you add this namespace and also have a using statement .
using System.management;
The classes that are used are :
ManagementPath
ConnectionOptions
ManagementClass
Management Scope
ManagementObjectCollection
Here is the whole piece of code :
try
{
//New instance of the management path so we can use its properties
ManagementPath path = new ManagementPath();
//Set the Servername
path.Server = ServerName;
//Set the WMI namespace
path.NamespacePath = @"root\cimv2";
//Here we are using the default connections but we can also use different.
//Username and password if we need to.
ConnectionOptions oConn = new ConnectionOptions();
//Set the Scope ...Computername and WMI namespace
ManagementScope scope = new ManagementScope(path, oConn);
//Set the WMI Class
path.RelativePath = "Win32_Share";
//Set shares to null
ManagementClass Shares = null;
//Here we are connecting using the Servername and WMI Namespace/Class
using (Shares = new ManagementClass(scope, path, null))
{
//Return a collection of Shares here
ManagementObjectCollection moc = Shares.GetInstances();
//Go thru each share and display its name property in the list box.
foreach (ManagementObject mo in moc)
{
lstShares.Items.Add(mo["Name"]);
}
}
}
foreach (ManagementObject mo in moc)
{
lstShares.Items.Add(mo["Name"]);
}
}
}
catch (Exception) //catch any exceptions we might have .
{
MessageBox.Show("Unable to return sharenames . Please make share Servername is correct.");
}
}
{
MessageBox.Show("Unable to return sharenames . Please make share Servername is correct.");
}
}
I will explain more in a later Blog . Busy Day . This basically will return all shares (even Hidden Shares ) of a computer/Server. You can see that I'm putting the result in a listbox called lstShares.
No comments:
Post a Comment
Note: only a member of this blog may post a comment.