Freeware – SharePoint Field Diff And Copy Utility

Just want to the app?

Download here:

Recently at a client I was charged with investigating an application that dealt with incoming / outgoing requests. The data that built up the request objects was being stored as SPListItem’s within their respective SPList objects. After investigation, I was directed to keep the very loosely coupled and inefficient data storage scheme that was actually composed of three lists, rather than well designed metadata, the same. Since I was going to be augmenting the lists, it was necessary for me to have a utility that would allow me to source a list, and copy the relevant SPField objects regardless of base type to a destination list. As a result, I ended up writing my own little utility to automate this task.

The application itself is simple, one form, very few controls.

Start the application:

Give it a URL, get the lists:

This is my source SPList, it has a example fields of all the built-in types:

This is my destination SPList, it has a whole lot of nothing:

Doing the diff, obviously there are a lot of differences:

Then if you begin the copy operation, it will mimic the source list:

Have fun. The source is available on the codeplex site.


Freeware – SharePoint Security Scanner

Just want to the app?

Download here:

I recently was at a client doing an audit on the SharePoint environment, and the question of how to do continual scanning on the site for possible system/ web service / and list WebForm exposure. Mimicking and automating this behavior is no big deal, since you are essentially just dispatching requests to various static URLs. The SPList object SPFormCollections can be exposed through the SPList.Forms property, and via web services rather than using the Forms web service you are sorta relegated learning on the SPList content type methods to get access to all customized forms. The SPWeb related ones are better to keep in a mutable file that can be managed.

So da da da! Here is a simple SharePoint security scanner. The composition of the application is actually pretty straightforward; it’s only about three forms. To abstract SharePoint explicit reference requirements the OM and web service assemblies are dynamically loaded at runtime so that SharePoint references are only required when doing OM connection types. Web service ones it shouldn’t really matter.

There are about three steps to get it going:

Start the application:

Click Open Connection:

And choose the connection type, and credential specifications:

When done hit connect, and you will return to the main form. Fill in whether you want to iterate SPList objects:

You can manage the web related urls, since the SPFormCollections are automated, through the Manage Web Inclusion List:

Scan the site, then you can view the results:


So it’s not very fancy, but gets the job done. Have hacky SharePoint fun!



SharePoint Kerberos Buddy Update – Release Created On CodePlex

Whoops. Sorry folks! I had just uploaded the .MSI and related setup files to the CodePlex site source control. I forgot to created a release with them which made it a pain to download. I should probably zip up the files so it’s one download but the MSI and setup.exe are now sorta easily available.