CREATE CURSOR Resources (Name C(5), User C(20), Path C(100), LockCount I) lcComputer = "SERVERNAME" oFileService = GETOBJECT("WinNT://" + lcComputer + "/lanmanserver") FOR EACH oFileShare IN oFileService.Resources m.Name = oFileShare.Name m.User = oFileShare.User m.Path = oFileShare.Path m.LockCount = oFileShare.LockCount INSERT INTO Resources FROM MEMVAR ENDFORFrom this cursor, you can run an SQL select to get all the files that a user has open, or all of the users that have a certain file open. Enumerating server resources from a client machine with ADSI, remember, imposes the same security limitations that any other method would. IOW, a normal user account will get access denied errors when trying to use this. If you want just any client machine to be able to get at this information, you'll have to put it in an Out-of-proc exe, and let that COM exe impersonate an account with rights to view this information. You can then call this exe from any client machine via DCOM.