473,385 Members | 1,429 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

REPOST: Error Using WMI to Get List of Shared Folders on the Server

Sorry for the repost. I must have done something wrong when I tried to post
my reply (I can't seem to find it).

Anyway, I'd really appreciate any help that anyone could provide. My issue
is quickly becoming more and more urgent.

Thanks for the thoughts Bruce. However, we can't do #1 (we must use
Integrated Windows Authentication). And, can't do #2 (the server will be,
for the most part, a stand-alone server just for our intranet application).
And, we need impersonation = "true" in #3.

So, any other thoughts/ideas?

Anyone?
I've tried the code below using the server's local Administrator user name
and password. This gets me past the Access denied error but gives me a User
credentials cannot be used for local connections error.

ManagementScope ms;
ManagementClass mc;

ms = new ManagementScope();
ms.Options.Username = "username";
ms.Options.Password = "password";
ms.Options.Authentication = Authentication.PacketPrivacy;
ms.Path = new ManagementPath("//server/root/CIMv2");

mc = new ManagementClass(ms, new ManagementPath("Win32_Share"), null);
Maybe another thought... Should I not use WMI to try to get a list of
shared folders on the server? Should I use something else? If so, what?

"bruce barker (sqlwork.com)" <b_*************************@sqlwork.com> wrote
in message news:eU**************@TK2MSFTNGP04.phx.gbl...
this setup won't work. the web service is running with a secondary credital, so it can not access a network resource (one hop rule). you have three
options

1) set the web site to basic authenication
2) switch to activce directory and kerberos.
3) remove <identity impersonate="true"/> and give the app pool an account
with network permissions.

-- bruce (sqlwork.com)

"lecnac" <no****@company.com> wrote in message
news:%2******************@TK2MSFTNGP02.phx.gbl...
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>
<authentication mode="Windows"/>
<identity impersonate="true"/>
</system.web>
.aspx.cs snippet (from Page_Load event)
using (System.Management.ManagementClass exportedShares = new
System.Management.ManagementClass("Win32_Share"))
{
System.Management.ManagementObjectCollection shares =
exportedShares.GetInstances();

foreach (System.Management.ManagementObject 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.Management.ManagementObjectCollection shares = exportedShares.GetInstances();. The exception details are:
System.Management.ManagementException: 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).



Apr 24 '06 #1
1 2033
#3 should work. Just run the site under a sufficient user account.

Why do you need impersonate?

Jeff

"lecnac" <no****@company.com> wrote in message
news:OB****************@TK2MSFTNGP02.phx.gbl...
Sorry for the repost. I must have done something wrong when I tried to
post
my reply (I can't seem to find it).

Anyway, I'd really appreciate any help that anyone could provide. My
issue
is quickly becoming more and more urgent.

Thanks for the thoughts Bruce. However, we can't do #1 (we must use
Integrated Windows Authentication). And, can't do #2 (the server will be,
for the most part, a stand-alone server just for our intranet
application).
And, we need impersonation = "true" in #3.

So, any other thoughts/ideas?

Anyone?
I've tried the code below using the server's local Administrator user name
and password. This gets me past the Access denied error but gives me a
User
credentials cannot be used for local connections error.

ManagementScope ms;
ManagementClass mc;

ms = new ManagementScope();
ms.Options.Username = "username";
ms.Options.Password = "password";
ms.Options.Authentication = Authentication.PacketPrivacy;
ms.Path = new ManagementPath("//server/root/CIMv2");

mc = new ManagementClass(ms, new ManagementPath("Win32_Share"), null);
Maybe another thought... Should I not use WMI to try to get a list of
shared folders on the server? Should I use something else? If so, what?

"bruce barker (sqlwork.com)" <b_*************************@sqlwork.com>
wrote
in message news:eU**************@TK2MSFTNGP04.phx.gbl...
this setup won't work. the web service is running with a secondary

credital,
so it can not access a network resource (one hop rule). you have three
options

1) set the web site to basic authenication
2) switch to activce directory and kerberos.
3) remove <identity impersonate="true"/> and give the app pool an account
with network permissions.

-- bruce (sqlwork.com)

"lecnac" <no****@company.com> wrote in message
news:%2******************@TK2MSFTNGP02.phx.gbl...
> 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>
> <authentication mode="Windows"/>
> <identity impersonate="true"/>
> </system.web>
>
>
> .aspx.cs snippet (from Page_Load event)
> using (System.Management.ManagementClass exportedShares = new
> System.Management.ManagementClass("Win32_Share"))
> {
> System.Management.ManagementObjectCollection shares =
> exportedShares.GetInstances();
>
> foreach (System.Management.ManagementObject 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.Management.ManagementObjectCollection shares = > exportedShares.GetInstances();. The exception details are:
> System.Management.ManagementException: 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).
>
>
>



Apr 24 '06 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Morten Gulbrandsen | last post by:
mysql> USE company; Database changed mysql> mysql> DROP TABLE IF EXISTS EMPLOYEE; -------------- DROP TABLE IF EXISTS EMPLOYEE -------------- Query OK, 0 rows affected (0.00 sec)
1
by: Miller | last post by:
Hi everybody! These messages have been found in the System log of the Event Viewer application. These error messages have been generated after each logon attempt. Although dial-in client have been...
6
by: Peter Frost | last post by:
Please help I don't know if this is possible but what I would really like to do is to use On Error Goto to capture the code that is being executed when an error occurs. Any help would be much...
0
by: Doug | last post by:
This is a repost of an item that I still cannot resolve. I have 3 combo boxes. The first leads to the second to the third. When I have selected a value in the second box, the third box shows...
8
by: Razak | last post by:
Hi, I have a class which basically do Impersonation in my web application. From MS KB sample:- ++++++++++++++++++++code starts Dim impersonationContext As...
2
by: Kevin R. | last post by:
I have been ignoring this problem for a few weeks now, but it's becoming a bit annoying not to mention unproductive. Here it goes: I compile my project with no errors. Then after I debug/run it,...
1
by: lecnac | last post by:
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...
1
by: lecnac | last post by:
Sorry for the repost. I must have done something wrong when I tried to post my reply (I can't seem to find it). Anyway, I'd really appreciate any help that anyone could provide. My issue is...
1
by: JordanRieger | last post by:
Here is a nasty issue that has been giving me grief for the last couple days. This requires good knowledge of IIS, MSXML, and Windows/NTFS permissions. We have an existing ASP (VBScript) app...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.