PowerShell – Notify all site users for outage / maintenance

September 18, 2013

The below PowerShell can be used to email all users of all site collections on your system.   I find this helpful when planning maintenance outages to alert users of the down time, impact, and changes being performed.

 

 

image

View disabled Health Check rules – PowerShell one liner

March 15, 2013

Scripting this was harder than I thought it should be, so I wanted to share this crazy long PowerShell one liner.  If anybody knows of a shorter way, please leave a comment or Tweet me.   First, we get the web applications including a special switch to get Central Admin (which is normally skipped for safety).   Then we get the site collections, but since help collection has one we need to filter those out.  Then we grab the Health Analyzer Rules Definitions list.  Finally, we can filter for disabled items and display as a table.

When working on a new farm that someone else installed.  Or heck, even one I installed but just can’t remember how.  This is a good way to confirm your assumptions about any red or yellow Health warnings you see (or don’t see because they’re suppressed)

 

 

I would also recommend creating a new filtered view in the Central Admin GUI for an easy way to quickly view these going forward.  There are legitimate times when a rule should be disabled, that’s why we have the checkbox.  However, it pays to know what the current settings are and not forget those hidden items.

Once all of the health rules are the way you like, run a quick SPTimerJob refresh to see the outcomes of those rules.  Smile

 

 

image

image

Document Library Site Collections (DLSC)

March 11, 2013

Splitting a large site collection into many can make backups, storage scaling, and even development easier.   This is a pattern I like to call the DLSC or "Document Library Site Collection.”

A site collection starts our small at first, gets popular, explodes in size seemingly overnight, and the SharePoint admins scramble to support it.  Sound familiar?

It can be helpful to peel out a large Document Library into a dedicated site collection.   Then you have more options via PowerShell and SQL to manage backups.   Have five document libraries with 100GB each?  Fine, split them out to 5 site collections in 5 SQL databases.  Very manageable.

 

How To – Split a Document Library into a new Site Collection

1)  Make a new SQL content database (optional).   If you know LOTS of content will be coming, then give it room to grow now.

2)  Make a new blank site collection.   The below PowerShell command can help direct the site creation to a new database.   I like to use STS#1 for “Blank Site” because it has a minimal simple footprint.  Less is more.

3)  Export the source Document Library to CMP format

http://spdeploymentwizard.codeplex.com/  can be used for a friendly safe GUI to export with all the right options.  I like to enable checkboxes for ALL security, ALL versions, and ALL user info.

4)  Import the source Document Library to CMP format

http://spdeploymentwizard.codeplex.com/ can be used for the import too.

5)  Delete the original Document Library.

6)  Update and test navigation.  The biggest challenge with the DLSC model is navigation.  Things must be easy for users so they can’t tell the difference.   Be sure to update Top Link bar navigation.   I like to add a CEWP (Content Editor Web PArt) with a quick JavaScript to redirect folks back to the main “application” site.

Downsides and Caveats

  • Manage two sets of security.  Yes, you’ll have to grant people permissions in two places.  Even using SPGroups won’t help because those are scoped to one site collection.  AD groups can help.  Those would be a great way to grant security to many site collections at once.   All about scale.  With only 2 sites AD groups probably aren’t worth the trouble, but with 20 it sure would help.
  • Sandbox code solutions. These only run in 1 site collection, so if you’re using them to manage documents and move those document libraries you could see issues.   The workaround would probably be to upgrade the code to a Central Admin farm WSP solution.
  • Dependency.   For some migrations you’ll need to copy ALL site collections.  If you copy just 1 then you may have broken links or missing dependencies.

 

Hope  this helps somebody else out there.   Smile

 

image

 

image

 

image

 
Return to Top ▲Return to Top ▲