Interface Technical Training

Create a Team Site in SharePoint 2010 with PowerShell including Default Security Groups

Many times when testing, or teaching SharePoint 2010 I need to spin up a quick site collection. Of course the fastest way to do this is through PowerShell using the New-SPSite commandlet and passing in a couple of parameters. Recently at one of the AZSharePoint Pros user group meetings I joked about how amazing this was except that then you had to write a bunch more PowerShell commands to get the default groups created. Luckily for me Lester from Neudesic was there and emailed me a quick PowerShell Code Snippet to save me a ton of time. (Thanks Lester!)

I wanted to do a blog post about it so I can always have the snippet handy (I edited it ever so slightly to fit my needs of course).


First I use my initial method



I run a New-SPSite Commandlet passing in the url to the new site collection, the template, the primary and secondary owner alias.



Check the newly created site collection



As soon as I see the URL pop up in the PowerShell window I open up the browser and voilà, there is my new site collection using the Team Site as the top level site of the site collection.



Check the security groups



I go Site Actions> Site Settings > Site Permissions and take a look at the security settings.



Notice the lack of Owners Members Visitors Groups?



I see the primary and secondary site collection administrators as well as the system account and Viewers (SharePoint Group) but no Owners, Members, and Visitors.



Try again adjusting the script



I adjust the script. I create a new site collection, but this time i put it into a variable $sc everything else is the same. After a few moments I type in $sc and get the URL so I open the browser and go to the newly created site collection.



I check the security on the second Site Collection



Once again it's Site Actions > Site Settings > Site Permissions



Still no Default Groups



I knew this was going to happen because putting the Site Collection into a variable was just setting up the next move.



Run 2 more lines of PowerShell



I switch back to PowerShell and create a new variable $w and using the $sc.RootWeb property, put the top level SPWeb object into it, then I use the method CreateDefaultAssociatedGroups and pass in $ and two $null parameters (thanks again Lester!)






I jump back to the browser and hit F5 to refresh the page and there they are in all their glory!!!!



Spike Xavier
SharePoint Instructor – Interface Technical Training
Phoenix, AZ

Share your thoughts...

We encourage people to join in on the discussion. Please keep in mind however, that all comments are moderated according to our comment policy, and all links are nofollow. Do not use keywords in the name field. Let's keep the conversation professional and meaningful.