SharePoint 2010 & 2013 Auditing & Site Content Administration using PowerShell

Introduction

This one day class is designed for SharePoint 2010 and 2013 server administrators and auditors who need to query just about anything in SharePoint. The class handout is effectively a cheat sheet with over 175 PowerShell scripts plus the general patterns to create own scripts such as:

  • Use the SharePoint Management Shell and the ISE
  • General tips for counting, reformatting and exporting results;
  • Understand and drill up and down the SharePoint object model
  • Get lists / inventories of servers, services web applications, sites, webs, lists, libraries, items, fields, content types, users and much more
  • Find lists by template type, content type and types of content
  • Find files by user, content type, file extension, checked out status, size and age
  • Find inactive sites
  • Find and change SharePoint Designer settings, find and reset customized pages
  • Inventory and manage features
  • Delete and recycle files and list items
  • Inventory users and user permissions and find out “who can access what”
  • Create sites, lists and libraries
  • Upload and download files

Audience

This course is intended for SharePoint server administrators, SharePoint auditors and is also valuable for SharePoint developers.

Prerequisites

Before attending this course, participants should have:

  • Very good knowledge of SharePoint and its features.
  • Good experience using PowerShell 2 or later or recent completion of a PowerShell class

At course completion

After completing this course, participants will be able to:
 

  • Use PowerShell to query just about anything inside of SharePoint
  • Understand the core SharePoint object model and object hierarchy as seen from PowerShell
  • Format PowerShell output in to reports
  • Manage resources to limit the impact on production servers
  • Create and delete Site Collections, subsites, lists, libraries and content

Exams

N/A

Course outline

Module 1: SharePoint and PowerShell

This module provides an introduction to the topics covered in the class, introduces SharePoint PowerShell terminology and provides a review of important PowerShell features.

 
  • Lesson 1: History of PowerShell in SharePoint
  • Lesson 2: PowerShell vs. Search
  • Lesson 3: PowerShell, SharePoint Management Shell and cmdlets
  • Lesson 4: Security and Permissions Needed
  • Lesson 5: Getting Started with PowerShell: Counting Items, Custom Columns, Reformatting Numbers, Saving Results to a File
  • Lesson 6: Changing and Updating Content: Creating SharePoint Objects, Changing Objects

Module 2: Working with SharePoint CMDLETs and Objects

This module introduces the SharePoint object model and some important terminology.

 
  • Lesson 1: GUIDs
  • Lesson 2: Sites vs. Webs
  • Lesson 3: The SharePoint Object Hierarchy

Module 3: Managing Memory and Limiting Performance Impact

This explores limiting impact on server memory usage and performance.
 

  • Lesson 1: Memory Management and Disposing Objects
  • Lesson 2: Limiting Impact on Production Servers

Module 4: Working with Content

This module explores SharePoint using PowerShell from the Farm down to individual list items.
 

  • Lesson 1: Getting Farm Information: version, services, services, features
  • Lesson 2: Getting Web Application information
  • Lesson 3: Exploring Site Collections: retrieve Site Collections, Site Collection Administrators, quotas
  • Lesson 4: Working with the Recycle Bins: finding items, getting file counts and bytes, deleted sites
  • Lesson 5: Exploring Webs: web templates, finding webs, finding webs based on template, Quick Launch and Top Link Bar navigation
  • Lesson 6: Exploring Lists and Libraries: finding all lists, lists by type, lists by Content Type, columns/fields, document count by web or library
  • Lesson 7: Exploring Content Types
  • Lesson 8: Finding documents: by a word in the title, file type, content type, size, date age, checked out status, approval status and many more…
  • Lesson 9: Deleting content
  • Lesson 10: Downloading and uploading files

Module 5: Users and Security

This module covers the use of PowerShell to explore and document SharePoint permissions.

 
  • Lesson 1: Users: find a user, get a list of all users, working with Active Directory groups
  • Lesson 2: SharePoint groups: Get lists of groups, get the members of a group, find all groups a user belongs to, find the groups associated with a web
  • Lesson 3: Expanding users lists that include Active Directory groups
  • Lesson 4: Documenting Broken Inheritance / Unique Permissions: webs, lists, libraries, folders, items
  • Lesson 5: Working with Role Assignments

Module 6: Managing Sites

This module explorers Site Collection and Web management from PowerShell.

  • Lesson 1: Finding Inactive Webs
  • Lesson 2: Creating and Deleting Site Collections
  • Lesson 3: Getting Site Collection Data
  • Lesson 4: Creating and Deleting Subsites
  • Lesson 5: Working With SharePoint Designer Settings