1 / 23

SharePoint 2010 Administration using PowerShell

SharePoint 2010 Administration using PowerShell. Brian Caauwe Senior Consultant – SharePoint – MCTS March 20, 2010. Session Agenda. Introduction PowerShell Basics PowerShell & SharePoint 2010 Demo Q&A. Who am I?. Brian Caauwe Consultant & Speaker Email: bcaauwe@inetium.com

Download Presentation

SharePoint 2010 Administration using PowerShell

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SharePoint 2010 Administration using PowerShell Brian Caauwe Senior Consultant – SharePoint – MCTS March 20, 2010

  2. Session Agenda • Introduction • PowerShell Basics • PowerShell & SharePoint 2010 • Demo • Q&A

  3. Who am I? • Brian Caauwe • Consultant & Speaker • Email: bcaauwe@inetium.com • Blog: http://blogs.inetium.com/blogs/bcaauwe • MCTS - SharePoint v3

  4. Minnesota SharePoint User Group • 2nd Wednesday of the Month • 9:00 – 11:30 AM • SharePoint resources and links • Meeting Schedule • Past User Group Presentations • This Presentation • Next Meeting – 4/14 • Business Process and Digital Forms 2007 / 2010 www.sharepointmn.com

  5. PowerShell Basics

  6. Getting Started • More than just a command prompt • Not Exclusive to SharePoint • Exchange 2007 • SQL 2008 • More… • Get PowerShell • Windows Server 2003 (KB926139) • Windows Server 2008 (Activate Feature) • Tab is your friend (auto-complete)

  7. More PowerShell Information • Use .NET objects • System.String • System.Int32 • Etc. • Access Registry • cd HKLM:\System • cd HKCU:\Software • Store Variables • $myArray = “value1”,”value2”,”value3” • Supports Complex operations • Loops (For, While) • If / Else • Switch • Supports Functions • Function Get-Information([string]$arg)

  8. Even More PowerShell Information • Syntax differences • Operators • -lt is Less than (<) • -le is Less than or Equal To (<=) • -eq is Equivalent (==) • -gt is Greater than (>) • -ge is Greater than or Equal to (>=) • -ne is Not Equal (!=) • -or is Logical Or (||) • -and is Logical And (&&) • ? is Where (Where-Object) • Enums and Static Methods • [System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.SharePoint”)

  9. PowerShell Scripts • File Extension (.ps1) • Running Scripts • Call using .\script.ps1 • ExecutionPolicy minimum RemoteSigned

  10. PowerShell Output • Output to Console (Write-Host) • Output to File (Out-File)

  11. PowerShell Help • Get-Help • Get-Member

  12. Powershell & SP 2010

  13. SharePoint 2010 • Uses PowerShell v2.0 • Allows Remote Access • Microsoft.SharePoint.PowerShell namespace • Get-Command -pssnapin “Microsoft.SharePoint.PowerShell” | more • Beta2 = ~535cmdlets • Download Help files (.chm) from my Blog • SharePoint 2010 Management Shell • *Run as Administrator

  14. SharePoint Shell Administrator • SharePoint_Shell_Access SQL Server Role • Get-SPShellAdmin • Add-SPShellAdmin • Need to be a local admin to run this cmdlet • Adds user to WSS_Admin_WPG • Remove-SPShellAdmin

  15. SharePoint 2010 Cmdlet Basics • All Cmdlets are Object Model Based • SPSite • SPWeb • Etc… • Start-SPAssignment / Stop-SPAssignment • Garbage Collector for Disposable objects • Can be used on variables or globally • Use the -WhatIF parameter to see what “would” happen

  16. Helpful Cmdlets • New-SPConfigurationDatabase (replacing psconfig) • Add-SPSolution / Deploy-SPSolution • New-SPLogFile • Get-SPLogEvent -StartTime(Get-Date).AddHours(-2)-EndTime (Get-Date).AddMinutes(-10)

  17. Advanced Cmdlets • Using the Pipe (|) • Joins statements together • Get-SPWebApplicationhttp://portal.company.com | Get-SPSite -Limit All | Get-SPWeb -Limit All • Get-SPSitehttp://portal.company.com| Set-SPSite -SecondaryOwnerAliasDOMAIN\username

  18. More Advanced Cmdlets • Querying Objects • Get-SPWeb-Filter {$_.Template -eq“Blog"} • Get-SPLogEvent -StartTime (Get-Date).AddHours(-1)| ?{$_.Correlation -eq$guid} | Select Timestamp, Category, Message • Get-SPSitehttp://portal.company.com/dept/*| foreach{New-SPWeb -Url ($_.Url + "/blog") -Template Blog#0} • Get-SPWebApplicationhttp://portal.company.com | Get-SPSite -Limit All | Get-SPWeb -Limit All | ?{$_.WebTemplate –eq“Blog”} | Select Url, Title, WebTemplateId

  19. Remote Scripting • Run Commands on SharePoint servers • Enable-PSRemoting –force • Enable-WSManCredSSP –role Server –force • Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 1000 • Run Commands on local machine • Enable-PSRemoting -force • Enable-WSManCredSSP –role Client –DelegateComputer “*.domain.com or COMPUTERNAME” –force • Shared SPModule (\\servername\spmodule) • Zach Rosenfields’s Blog http://sharepoint.microsoft.com/blogs/zach/Lists/Posts/Post.aspx?ID=54 • Store Credentials in a variable • $cred = Get-Credential • Load Modules • $env:PSModulePath = \\servername\spmodule; + $env:PSModulePath • Import-Module SPModule.misc • Import-Module SPModule.setup

  20. Demo

  21. Q & A

  22. References • TechNet – Windows PowerShell for SharePoint Server 2010 • http://technet.microsoft.com/en-us/library/ee662539(office.14).aspx • TechNet – Getting Started: Windows PowerShell for SharePoint 2010 Administrators • http://technet.microsoft.com/en-us/sharepoint/ee518673.aspx • Zach Rosenfield’s Blog • http://sharepoint.microsoft.com/blogs/zach/Lists/Categories/Category.aspx?Name=PowerShell • Brian Caauwe’s Blog • http://blogs.inetium.com/blogs/bcaauwe

More Related