WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

wNT
plus

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

WntAccessList DFS share

 Keywords: WntAccessList DFS Share 530 Access Denied  

Question:

I have a problem with:
wntAccessList('iv.local','\\iv.local\iv\projects\Project001',300,0)
*** error 530: access denied.
I am logged-in as a user with enough rights to change permissions on the map with the gui. If I try it some time later, it works as expected (?) I don't understand this, any ideas? Actually, it is a DFS-share

Answer:

OK... it looks like none of the DFS links have multiple target folders associated with them, so we don't have to worry about tracking down multiple servers and checking up on your permissions on each of them.

As a test, try changing the call to wntAccessList() so that it directly uses the DFS Link's target folder UNC path: wntAccessList('MFS-PA01','\\MFS-PA01\Projects$\Project001',300,0)

Let me know how that works. I'm fairly certain that it will work properly.

User reply:

Yes, you are right, no more 'access denied'.Is this a DFS issue?

Answer:

It is a limitation in the Win32 Network extender w/respect to any & all of the wntAccess*() and wntAudit*() functions that get involved in converting between SID values and account names. There's no awareness of DFS name spaces & links coded into the extender, and when it tries to do a conversion between SID values and account names, it simply takes the host portion of the UNC path and assumes that it can contact the LSA on that host to do the account and/or SID look-up operations. Since the DFS link actually has a target folder that is really a share on some other server, the operation fails since it was directed to the wrong computer. It would take something of a major refactoring of the wntAccess*() and wntAudit*() functions to give them full DFS awareness.

Take a look at the wntDfs*() functions in the Win32 Network extender. You can use them to enumerate all DFS links under a name space and to resolve a DFS link and find its target. You could pretty much write a UDF to "scrub" a UNC path to determine if it goes through a DFS name space, and if it does, resolve the link and generate a new UNC path that refers directly to the target folder followed by the remainder of the path information that followed the DFS link in the original UNC path.


Article ID:   W18000
Filename:   WntAccessList  DFS share.txt
File Created: 2010:11:02:10:18:44
Last Updated: 2010:11:02:10:18:44