This Project contains a set of PowerShell 2.0 Scripts for SharePoint 2010.
Using PowerShell, and a Config file to control all the aspects you can automate building a full web structure.
This will save you days, and automates quite a lot of common things, esp for custom apps.
The PowerShell script automates the following tasks:
- Create WebApplications
- Extend WebApplication
- Create Content Databases
- Create Site Collections in the Content Databases
- Create SharePoint Groups in the Site Collections
- Add Users to SharePoint Groups in Site Collections
- Create Document libraries and Lists for Site Collection with Custom Content Types
- Create Sub-Sites
- Add Document Libraries and Lists to Sub-Sites with Custom Content Types
- Create Publishing pages for Site-Collections and Sub-Sites with Custom Page Layouts
- Install Solutions, Solutions with Web resources are installed against All- WebApplications
- Install and Activate Features in a Solution against a site/web
- Remove and De-Activate Features
- Uninstall Solutions
- Add WebParts to Publishing Pages.
All of this is controlled via one siteconfig.xml Configuration file, easy and quite self-explainatory.
Update: I have added some basic information on how to use the scripts under the Documentation section, do have a look if you are not familiar with PowerShell scripts, and XML configuration files.
Update: Added v1.1 with some small fixes, also if you get into any issues with adding webparts on pages in installall, run addwebparts.ps1 after installall, this is something to do with timer job again and am looking into it.
Update: Added 1.2, Now you can create Groups with special permissions, e,g Full Control, Read etc.
Update: Added 1.3, Now you can upgrade your existing IA by re-running the script with the modified siteconfig.xml containing the new pages/webparts, no need for a new siteconfig.xml or heaps of different copies, have just one copy and rerun, remsolns , addsolns , createpages , addwebparts scripts as per your requirement, if a page already exists it will be skipped, if a webpart is already there on a page, it wont be added again.