SharePoint, Office 365, Azure, and Front end JS geek. – Chicago IL
SharePoint, Office 365, Azure, and Front end JS geek. – Chicago IL


Unlock ASMX for easy manual invoke (developers)

For SharePoint development I like to use the .ASMX web services for reading data.  Out of the box default security prohibits manual remote HTTP queries.  A quick edit to “C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions12ISAPIweb.config” for changing <protocols> from “remove” to “add” and then you’ll be able to manually Invoke.

The raw XML returned by a manual invoke is incredibly valuable for developers. 


Before (out of the box)


After (unlocked for development)


Always use CMD files

I rarely use absolutes but CMD files are amazing and you really should always use them.  For anything, no matter how small.

Why bother?  What’s in it for me?

  1. Easy to repeat
  2. Easy to test
  3. Can modify while running

The only cost is time.  It takes a little longer to build a CMD file and plan it out.  However, measure twice and cut once pays off with quality.  Let’s explore the benefits one at a time:

  1. Reusing a CMD file is very easy.  Search replace in Notepad++ can switch scope easily.  Also, input parameters like %1, %2, etc. can make the tool modular for using in a slightly different way quickly next time.
  2. Copy a CMD file to lower environments for practice is quick, easy, and helps mitigate risk.  Before you typo against production, try copying the file to a different server first.
  3. This is awesome and very little known!   While a CMD file is running (after you hit enter) you can still open Notepad.exe and modify the file.  Adding an extra line, commenting out with REM, or removing a line can all be done.  As long as CMD has not made it down to that line already you’re edits will be picked up as it steps down.   Great for real-time adjustments.

Thanks for reading! 


[Microsoft.Office.Server.UserProfiles.Privacy] enumeration ints

Oh yeah, time for fun stuff!  There are only maybe 50 people on the entire planet that care about this but here goes nothing…

The Privacy class has enumerations which are fine for C# IDE coding but if you ever run a direct TSQL select against the SSP database those become hard to read.  [UserMemberships.ItemSecurity] on the Shared Service Provider database stores these raw integer values if you ever need to query Membership data directly.  And here they are:

Contacts 2
Manager 8
Organization 4
Private 16
Public 1


SharePoint admin nirvana: SPDash !!!

I love SharePoint, but servers can drive me crazy.  So many!  So check this out …  Allows lightening fast multiple server management. RDP doesn’t scale. Manage 10 servers easier than 1 with incredible "Grid" scripts that put everything on one page.


  • Do admin tasks faster
  • Scale up beyond RDP
  • Add new servers without fear


  • Pure XML config
  • Auto-detect SharePoint farm (machines + users)
  • Grid output, easy to read
  • Copy and paste to Excel

Real application screen-shots:

DevAdmin is how I think of my work. An administrator that uses development (script/code) to get more done with less. A developer that administers system capacity, performance, and scale. It’s a mix. And it’s a beautiful thing.
SharePoint farms have many servers with various services, applications, traffic patterns, and purposes. Having "grid" scripts like the below sample screen-shots can be a life saver. What’s a "grid"? Simple. I wanted to build a real-time Excel spreadsheet to display ALL configuration without RDP. RDP won’t scale. While great for 1-2 servers, it is awful for 10+ servers. Having confidence in your configs and knowing everything is 100% consistent are BIG steps forward for most admins.

© Copyright 2016
@ SPJeff

Return to Top ▲Return to Top ▲