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).
I run a New-SPSite Commandlet passing in the url to the new site collection, the template, the primary and secondary owner alias.
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.
I go Site Actions> Site Settings > Site Permissions and take a look at the security settings.
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.
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.
Once again it's Site Actions > Site Settings > Site Permissions
I knew this was going to happen because putting the Site Collection into a variable was just setting up the next move.
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 $w.site.owner 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!!!!