Information about users store

user483
  • Information about users store user483

    Where is information about users associated with specific SharePoint site stored?

    I guess information is stored in relational database.

    To be more specific i want to ask if it is possible to query this database and get list of all users which have access to site mysubdomain.mydomain.com/sites/xyz where xyz is set of sites and to complicate it more, there is also abc which represents sub-sites which have different set of members and visitors group and there is also another group with different permission level.

    As example lets have mysubdomain.mydomain.com/sites/aaa/bb and than mysubdomain.mydomain.com/sites/aaa/cc and this two sub sites have different set of user. So to summarize my question. I want to get as result of SQL query table with username (NT\login) with information about sites/sub-site and permission level.

    My question is: Is this possible? Another question: Is there any method how to get this information without installing anything on server side of SharePoint farm? I have list of sites and sub-sites with URL's.

    More details:

    Let me describe one solution I have now. I’ve found tool Data Juggler (http://www.djuggler.com/) which can automate repetitive web tasks. This means that I’ve prepared list of all sites/sub-sites in my scope. As a source I use spreadsheet with all details about sites/sub-sites input.xlsx this is only one part of process maintained manually. It was big effort to take all data together, but once this was done, it is easier to maintain, as new sites/sub-sites are created occasionally Information in this spreadsheet are in this order:

    • URL to Members group (users with Read/Write access)
    • URL to Visitors group (users with Read Only access)
    • REGION
    • Site/Sub-site URL
    • Site Name
    • Sub-site Name
    • Site owner

    Ok that’s introduction, now how it works:

    • After loading scrip to Djuggler it pops up a window asking you to browse to input spreadsheet (input.xlsx)
    • Then it pops up window asking you for number of records in spreadsheet (this step could be possibly omitted if I will tweak the script, but I made this solution in one night learning from examples and building script)
    • After that it loads all the information from spreadsheet to Djuggler’s temporary grid and start loading values from columns to variables
    • First it loads URL to Members group and rest of columns except URL to Visitors group and uses its internal browser to load page from URL to Members group
    • Application start searching in html source of loaded site and looking for specific html tags account=”something” and email=”something” and stores something into variable, than store new row into another grid with all details Account, Email, REGION, Site/Sub-site URL, Site Name, Sub-site Name, Site owner and loops through whole html source, than it jump in loop to another URL to Members group and loops again trough html source and this continue, till loop trough URL to Members group will run for x times, where x is number of rows submitted in second step
    • After this loop jump to second column with URL to Visitors group and whole process with loops is repeated.
    • At the end application store temporary grid with results from loops into spreadsheet and opens this spreadsheet.

    I know that email address and NT\login is pretty the same information so email could be omitted to avoid redundancy of information. And rest of information like region, site name, sub-site name and site owner could be added in second step. For me it is more logical to have just information pulled from site Site/sub-site URL, NT\login of user and permission level (contribute, read, …) So for now I have some solution, but it is “like scraping your head behind left ear with right hand from back of your head…” I am looking for something more elegant.

  • SharePoint's Web Services can help with this. Take a look at my jQuery Library for SharePoint Web Services and the Web Services documentation on MSDN. (I have links to the MSDN docs for all the Web Services and operations I have "wrapped" on the library site.) If you'll need operations that I haven't wrapped yet, let me know and I'll get 'em in there for you.

    You'll need to do some iterating through things, but I think everything you are describing is possible, and there's zero required server-side.

    Also, it's possible that you could do this with a Data View Web Part (DVWP) with DataSourceMode="Webs".

    Bottom line is that you have some options, and I think it's possible.

  • The data is stored in SQL Server, but you cannot access it directly from the database in any supported way. You need to use one of the many existing methods i.e. the SharePoint API (Microsoft.SharePoint.dll) or the built-in web services, an example of which is the 'Webs' web service at site/_vti_bin/webs.asmx.

    As Marc has stated you could use some client side code to access the web services, but you'll need to ensure that the user accessing the web services has appropriate permissions on all the sub-sites.

  • Assuming that this question is real and not just spam for that DataJuggler thing, there is a pretty easy way to get the info you want assuming you have a copy of Microsoft Access 2007 handy.

    • Open up a new Access DB, and go to the External Data tab
    • Click "SharePoint List" on the Import section, put in the URL to your site, and click the "Link to external data" option
    • Pick any of the lists (it doesn't really matter which one)
    • When Access pulls in your list info, it will also show you a table called "User Information List"

    The user information list is one that is normally sort of hidden from the SharePoint UI, but it basically has all the users who have ever been to your site collection or been selected in a people picker somewhere in the site collection. You should be able to export this from Access to anywhere else you care to deal with it, and it will work for as many site collections as you need. Note that it is a read-only view; you will not be able to edit the values in the user information list directly this way.

Related questions and answers
  • a support section for customers requiring a login Contact Us one web page with contact details The top-level sections in my hierarchy, i.e. Home, Company, Products, Support, Contact Us would share.../subsites/site collections. My initial thoughts is to have a site collection where the top-level site for the collection is the public-facing publishing side of things. But then I'm not sure whether...I am developing a company website/portal in SharePoint, and am trying to figure out the best way to organise it into site collections, sites and subsites -- I'm confused by the terminology I think

  • and set Domain Users as Site Collection Members. When one of these users tries to take the survey, the see a list of questions up to the question with branching. After selecting their answers and clicking the "Next" button, they receive an Access Denied error. Thinking that the branching may have been causing an issue, I removed it. The users can now see the whole survey at one time, but when... possible. Can anyone tell me what I may have misconfigured or need to change? Update I've worked with the problem a little more. If I just create a survey with one question using only a yes

  • "publishing portal" for the site collection. I have also enabled anonymous access. Now the basic function is fine, except that I do not know how to change the first front page (i.e. the page showed to end users who have not logged in yet) of the site. Here is a screen snapshot. Any ideas how to edit this page? Publishing home page http://i33.tinypic.com/2hex08j.png BTW: I have tried to edit the default.aspx after login but anonymous users could still see content like in the following list. How do I remove this for an anonymous user? Enable anonymous access You must enable anonymous access

  • that the App pool user for your content web application does not have write access to the Config database, you can't create new TimerJobDefinitions from code that runs in your content web app. A bad... the Central Admin app pool account can write to the config database But then we lose the whole point - I want my site collection administrators to be able to manage the schedule! The only alternative solution...I have run into a problem several times now where I have developed a custom timer job, and I want my site collection administrators to manage the schedule of this job with a custom application page

  • \xA0]+$)/g, ''); }; One would like to think that this page would always represent the currently logged in user, but sometimes it represents the prior user. Not good. UPDATE 3: I may have come up...In some instances of WSS or MOSS when you use the "Sign in as Different User" option, the new login doesn't "take". Is there any known issue here? Usually logging out and then logging back... in SPServices sometimes returns the previous user. All I'm doing in that function is loading the _layouts/userdisp.aspx?Force=True page and pulling the Name from the page. It's the column

  • different user access levels (admins, managers and users). Every business process will have at least one screen, but most probably more than just one. For instance I will have something similar...I'm about to start developing a custom business application on top of Sharepoint 2010. I haven't done anything on this product but client insists on it so I don't have a choice. Application info I... on the BCS level within Sharepoint then, but I'd still need my rich custom controls, that would display data in unusual ways. What about sandboxed solutions? Is this something I should use

  • This is an old issue I thought this was a bug in an specific environment after reading a couple of blogs it has made me think again... The issue is that SharePoint site collections and sites... post Infrastructure Update - in my situation it was applying SP2 but it might have been one of the culmlative updates after IU A search pre-SP2 using contentclass:STS_Site as a filter will list all... only site collections/sites using non-publishing templates. All other content is availble e.g. documents, lists Has anyone else come across this? UPDATE 08/05/10: I have been doing some further

  • Symptoms: You develop a browser-compatible InfoPath form with managed code for business logic. You use ContactSelector ActiveX control to look up and resolve users from the SharePoint site Users lists (UserInfo table in the Content database). You then validate list of resolved users and copy some of them to another node in the primary data source. The field displays copied contacts... with Firefox and other level 2 browsers. When you begin resolving for the first time you are presented a picker window for the first empty node, which you have to delete. The first occurrence of a given

  • it that way due to SO encoding, but you hopefully get my drift). This latter means the xsl:apply-templates for the hit highlighting stuff is not able to process the XML, since it's really a string rather than a tree. I've verified that it isn't the later steps of loading into a DataTable/obtaining XML/transforming which is the issue - it's coming back from the search API like this. Any ideas why...; resultTables = keywordQuery.Execute(); } After this, I load into a DataTable and eventually get XML to transform. Currently I'm using the default XSL from the CoreResultsWebPart

Data information