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

Posted in SharePoint | Posted in , , , | Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">