Tuesday, 8 September 2015

SharePoint 2013 Powershell Script for getting all Site collection Users


I had to find all the users of a site collection and write to a file,  to add to another site. I was looking for one but couldn't find any, this script will dump all the users into a file with a semicolumn so it will be a straight copy paste.

Download-
http://1drv.ms/1PYONI8

Add-PSSnapin "Microsoft.SharePoint.PowerShell" -ErrorAction SilentlyContinue

[System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.SharePoint”) > $null
$SiteCollectionURL = "http://You site/collection name"
$site = new-object Microsoft.SharePoint.SPSite($SiteCollectionURL)
$web = $site.openweb()
$siteUsers = $web.SiteUsers

foreach($user in $siteUsers)
{

Write-Host "Site Collection URL:", $SiteCollectionURL
if($user.IsSiteAdmin -eq $true)
{
Write-Host "ADMIN: ", $user.LoginName 
}
else
{

  <# This will append all users on to a Text file 
  Add-Content c:\userlist.txt  $user.LoginName -Append #>

  <# This will append all users on to a Text file with no newline
  $user.LoginName | Out-File c:\userlist.txt   -nonewline #>

  <# Another way to output the file
  Write-output $user.LoginName  | Out-File c:\myfile.txt -Append #>

  <# This will add all the user on a Single line with a semicolumn so that you can directly reuse this with no formatting #>

  $alluserlist +=  $user.LoginName + ";"
}
}

<# Showing the set of userd and writing the users to a txt file #>

  Write-Host $alluserlist
  [system.io.file]::WriteAllText("C:\io.txt", $alluserlist)
$web.Dispose()
$site.Dispose()

Thursday, 30 July 2015

Sorry we can't seem to connect to the sharepoint store

For those who are desperate to fix the SharePoint 2013 SharePoint Store issue, read on -

I had the same issue and i followed the article on the msdn to set up the store, all services started , configured the service application, set up the DNS however still SharePoint store saying "Sorry, we can't seem to connect the SharePoint store, Try again in a bit" .


If you are in the same state and if you are sure you have done everything else then start suspecting the proxy server. In my case the request which was going out from the SharePoint webfront end server was getting denied by the proxy server.

I took a fiddler trace and it started showing, 401 http error stating response header is 401 Unauthorized Header -




To prove and scope this again, give a simple test, Add a RSS webpart and configure an RSS feed on your SharePoint site and see if it is bringing in any results, if you are getting proxy errors then scope the problem more towards proxy server.

I did the same and i got the below error on my RSS webpart -




To resolve the proxy error I did the below things -

1) Add a proxy rule in the Proxy server (Your Server team should help you here) to allow the SharePoint webfront end servers to access Internet unauthenticated -

I added the below rule, this article will help you in configuring -
Proxy Configuration

Configure ISA/TMG to allow unauthenticated traffic to the Internet. Just add a rule which allows the SharePoint frontend server to navigate to the Internet (network External) over port 80.  Rule settings:
Action: Allow

Protocols: HTTP (80)

From / Listener: hostname of your frontend server

To: External (Internet)

Once this is done checked the RSS feed webpart, for me it was still not working.

 So went to the Sharepoint 2013 webfront end servers, Browser > Internet options > Connections > Lan Settings > Unchecked all options to ensure the requests are not going through any proxies on both the servers.

That made it work, the RSS Feed webpart started working now.
I checked the SharePoint store, viola !! it also started working !!

Note: Please make sure you access the SharePoint store from the Site collection level and not from Central Admin as it always gives you error.