Here's some details:
Server and workstation both in the same workgroup
Logged into server as local Administrator
Logged into workstation as a local user that is only in the Users group
The local user on the workstation is also defined with same name and
password on the server (and only in the Users group on the server)
Server is Windows Server 2003 running IIS 6.0
Workstation is Windows XP Professional
ASP.NET 2.0 (C#) web site
Web.config snippet
<system.web>
<authenticati on mode="Windows"/>
<identity impersonate="tr ue"/>
</system.web>
..aspx.cs snippet (from Page_Load event)
using (System.Managem ent.ManagementC lass exportedShares = new
System.Manageme nt.ManagementCl ass("Win32_Shar e"))
{
System.Manageme nt.ManagementOb jectCollection shares =
exportedShares. GetInstances();
foreach (System.Managem ent.ManagementO bject share in shares)
{
// Get shared folder information, for example
Response.Write( "Name: " + share["Name"].ToString());
}
}
Open IE and navigate to the web site on the server (using
http://servername/website). I get an access denied error. The exception is
thrown on the line: System.Manageme nt.ManagementOb jectCollection shares =
exportedShares. GetInstances(); . The exception details are:
System.Manageme nt.ManagementEx ception: Access denied
What I'm trying to do is list all the shared folders on the server on a
page. However, when I run this application from a different computer, I get
the access denied error.
** How can I get a list of shared folders on the server no matter what
computer is accessing the ASP.NET application?
** What do I need to do differently to get the above code and scenario to
work?
** Is there a better way of doing this than WMI? If so, what?
P.S., On the server, I tried give the local user full WMI permissions
through Computer Management, and it didn't work (nothing changed; I still
got the access denied error).