Executing all SharePoint 2010 Health Analyzer Jobs
One of the most useful lines of PowerShell script (as far as SharePoint 2010 goes) has to be the ability to kick off all of the SharePoint Health Analyzer timer jobs in one shot. This single-line of PowerShell is something you should always have in your back pocket, whether you’re validating a newly built farm or performing post-maintenance testing. Once you’ve loaded the SharePoint snapin, simply execute the following line of PowerShell, then surf over to Central Administration to check the farm health.
Get-SPTimerJob | Where {$_.Name -like "*Health*" -and $_.Name -like "*-all-*"} | Start-SPTimerJob
Delivering SharePoint Success
We just finished wrapping up a great event with the Triangle SharePoint User Group focused on the project management side of SharePoint adoption and deployment. Special thanks to Dux Raymond Sy (@meetdux) for coming down to Raleigh for this special event. The Triangle SharePoint User Group meets on the first Tuesday of every month, and additional details about meeting topics and group information can be found on our website, or via our LinkedIn group.
Understanding Objects, Properties and Methods
As I said in the first post of the series, we will be using PowerShell to interact with SharePoint object model, so we do need to spend a few minutes talking about the differences between an object, a property and a method.
In simple terms, a method can be thought of as a subroutine or a function. Many objects in the SharePoint object model have “precanned” methods attached to them, we’ll come back to this in a later post in more detail.
An object is an element within the object model. Objects are comprised of one or more objects and/or properties. I have always found it useful to conceptually relate objects and properties to XML—objects would be nodes of your XML, and properties would be individual attributes on your nodes. If you were to apply this concept to the photo below:
- The house is an object
- The color of the house (blue) could be a property of the house
- The number of windows (3) could be a property of the house
- The door could be an object of the house
- The color of the door (blue) could be a property of the door
An Introduction to PowerShell
This marks the first post in a new series on using Windows PowerShell with SharePoint 2010 (possibly the best marriage of concepts since Hewlett and Packard—a befitting reference given all of the mention of WebOS in the news this week).
In order to take advantage of the true power of PowerShell (no pun intended), you need to have at least a little bit of background on how to get started. While we will be using the SharePoint 2010 object model with PowerShell, you don’t need to be a true developer to take advantage of (some of) the powerful capabilities contained within the beast. As we progress toward the path of writing our own cmdlets and such, the discussion will inevitably turn more dev-focused, but for now let’s focus on the basics.
PowerShell as a Technology
Windows PowerShell is just that, a “Windows” product. In fact, it’s the native Windows management shell, not a technology that’s unique to SharePoint. The nice thing about this is that we can use PowerShell to interact with Windows components, such as services and operating system configuration, in addition to Active Directory, SQL, and other products (including SharePoint).
PowerShell vs. SharePoint Management Shell
If you’ve been poking around on your SharePoint server, you may have noticed that you have two separate shell’s on your system—PowerShell itself, and the SharePoint Management Shell . Aesthetically, the only difference between the two is that the SharePoint Management Shell is black (which gives it more of a command prompt look), and the PowerShell console is actually blue. Both consoles are technically PowerShell, and I’ve got no idea why the SharePoint one is black—unless it was simply to ease the transition from STSADM to PowerShell.


You can open the SharePoint Management Shell from the “Microsoft SharePoint 2010 Products” folder in the start menu. Native Windows PowerShell can be opened either via the PowerShell icon on the task bar, or by navigating to “Accessories” -> “Windows PowerShell” from the start menu.
Functionally, there are a few differences under the covers. When you load the SharePoint Management Shell, it will automatically load the necessary SharePoint components without you having to do any additional steps. In short, you can open it up and fire away. The native PowerShell console won’t (by default) load the SharePoint components, so if I were to open PowerShell and execute something like a simple Get-SPSite command, I’d be greeted with a big red error message saying that it doesn’t know what the Get-SPSite cmdlet is.
So what are these “components” that are being loaded? PowerShell components are broken into two categories: Snapins and Modules. Snapins can be easily loaded by executing Add-PSSnapin and Modules can be loaded by using Import-Module. You can load a snapin anytime you need to, or you can build a custom profile for PowerShell that’ll automatically execute every time you load the console—loading the snapins and modules you frequently use (such as the SharePoint snapin).
Unveiling: New Branding
With some slight change of direction planned for my blog, I figured it was time to do a bit of rebranding. In line with my previous rumblings about personal brand awareness and About.me, I did a full ground-up rebranding including a complete theme refresh, navigation refresh, and re-categorization of every legacy post. I’ve also branded my Twitter and About.me profiles to match.
SharePoint for Public Facing Government Sites
Tasha (@TashasEv) re-tweeted a post by @TopSharePoint this morning with a list of public facing government sites built on SharePoint 2010. The list comprises of government sites from around the world, and while some of them aren’t terribly new it is still a great showcase of major organizations and agencies leaning on SharePoint for their public site needs.
Custom Flickr Map
For years I’ve struggled with the fact that the native Flickr map functionality refuses to show you all of your photos on one map. Perhaps this is a limitation of the Yahoo map integration (Flickr is after-all, a product of Yahoo), or maybe it’s just an oversight. I’m an avid Flickr user, but I’ve always wanted that capability of displaying all of my photos on a single map–even if it’s just for a high-level view of everywhere I’ve taken pictures.
Over the last couple weeks I’ve been perfecting my own integration of Flickr with Google Maps, and I think it’s finally time to reveal it. You can play around with it above, or view it in full screen (which is far, far better than that little window). First things first, let’s understand what is actually going on here. I’m using the Flickr API to load data for geo-tagged photos into a local MySQL database (which updates nightly). That data is then returned and parsed into Google Maps. I’m doing a little query magic to put images from the same location on the same marker and information popup, and a little bit of customization to the way the map actually functions. When the map loads, the extremes (called ‘bounds’ in the Google Maps API) are determined by finding the most northern, eastern, southern and western photo in the database, and zooming the map to fit that area. This ensures that when the map initially loads, all markers are visible and that boundary is centered in the map. I’ve also developed a little additional navigation that allows me to specify buttons to specific countries or regions of my liking. Clicking one of those buttons will determine the most northern, eastern, southern and western photos in that particular region, and zoom the map to that area. For those of you technical folks, there’s a more technical overview below.
Skype Acquired by Microsoft

The internet is alive this morning with news of Microsoft’s acquisition of the popular communications platform Skype. The $8.5 billion cash deal may not be much of a surprise this morning after rumors last week that the company was in talks with Microsoft, Facebook, and of course Google. The company reported a net loss last year of almost $7 million, on revenue of almost $860 million; you can’t help but wonder if the value Skype brings to the game is worth the $8.5 billion Microsoft shed for the acquisition. Obviously there’s a fair amount of IP to come along with the deal, and hopefully we’ll see Skype help Microsoft to better compete against the likes of Google (particularly in the Google Voice market). Skype will operate as a new business unit under Microsoft and will continue to be run by Skype CEO Tony Bates; Bates will report directly to Steve Ballmer.













