PowerShell is a scripting language and command-line shell that can be used to automate administration tasks and rapidly prototype solutions for SharePoint. It provides commands to create and interact with SharePoint sites, lists, and libraries. PowerShell scripts can be used to automate repetitive tasks like building test environments or deploying updates. Custom PowerShell cmdlets can also be created to extend its capabilities with SharePoint.
3. Automated build and deploy Rapid prototyping Exploring “What If” scenarios Developer onboarding Administration automation Why PowerShell for SharePoint?
4. When you want to make your team more agile Automation, automation, automation When developing, your daily build is like the projects heartbeat PowerShell can be the pacemaker Testing Use the PowerShell scripts to stand up an environment for running tests When use PowerShell?
5. What do you know about a command line? DIR How about $a = DIR What is $a? .NET Object use gm or get-member to query properites Array $a[0] PowerShell Basics
7. Cmd, notepad PowerShell Command Windows PowerShell Integrated Scripting Environment (ISE) Import-Module ServerManager; Add-WindowsFeaturePowerShell-ISE PowerGUI Download from powergui.org Tools
8. # for comment Verb-Noun convention for commandlets Write-Host “Hello World” Set-ExecutionPolicyUnrestricted .criptname to execute More Basics
9. Comes with PowerShell Commandlets Get-SPSite New-SPSite New-SPWeb If you are running from standard PowerShell Add-PSSnapinmicrosoft.sharepoint.powershell-ErrorActionSilentlyContinue SharePoint 2010
10. Get-SPSite Parameter: url New-SPSite Parameters: url, name, ownerAlias, template New-SPWeb Parameters: url, name, description, template… Other params: -AddToTopNav or -UseParentTopNav -AddToQuickLaunch Create Site Collections and Sites
11. Your friend STSADM is still there You can call STSADM or any command line tool from PowerShell You can write your own command line tools with .NET Better yet, you can write your own PowerShell Commandlets! Inherit from Cmdletor PSCmdlet Gary Lapointe has WSS and MOSS Cmdlets! http://stsadm.blogspot.com/2009/02/downloads.html What about MOSS 2007 or WSS?
12. When creating non-persistent tasks (i.e. get info) use: SPCmdlet When objects persist between commands, use: SPRemoveCmdletBase SPNewCmdletBase SPSetCmdletBase SPGetCmdletBase For more info, see Gary Lapointe’s blog post: http://stsadm.blogspot.com/2009/10/creating-custom-sharepoint-2010-cmdlets.html Creating SharePoint 2010 Cmdlets
14. Series of scripts to build your site Cleanup script to destroy site Edit script, run cleanup, run script, view site Repeat Strategy
15. Build2010.ps1 Calls other scripts Build2010_site_structure.ps1 Sets up the basic site structure and content types Build2010_upload_file.ps1 Uploads sample files to the site Build2010_set_logo.ps1 Adds site logo Build2010_add_users.ps1 Adds users to local machine and/or SharePoint groups Demo – series of scripts
17. Upload File Takes in 1 or more files Has 3 blocks Begin Process End Process is executed for each file gci 'C:ploadfilesamplesegal' | .uild2010_upload_file.ps1 -Location "shared/legal" -DocLib "Documents" -ContentType "Document" -MetaDataField "Dept" -MetaDataValue "Legal" Iteration Style Scripts
18. How to: Build a SharePoint 2010 PowerShell Cmdlet http://silverlight.sys-con.com/node/1370916 Other References