I have observed a very growing requirement is to find out which user has deployed a solution or updated in sharepoint. This is of high importance when there are many administrators assigned to do such activities in sharepoint farm. So upon some research I found a way that is very useful in this regard.
In this article I am defining the steps based on a feature definition and a wsp file. Here are the steps needs to be followed:
- Login to the database.
- Go to the config database and select new query.
- Now we will find out the information about a solution solution1.wsp so we will execute this query:
- Select * From Objects With(NoLock)where Name = 'solution1.wsp'
- In the result returned our focus will be on the column "Properties" .
- Copy the contents and paste it somewhere in notepad. There are many properties exposed through this however we will focus on these 3:
<sFld type="String" name="m_LastUpdatedUser">
<sFld type="String" name="m_LastUpdatedMachine">
<sFld type="DateTime" name="m_LastUpdatedTime">
As their names are already clear the first one shows the user name who has last updated it.The second one is the server where it was last updated. The third one shows the time when it was last updated. The last two information is available through UI as well.
In case of feature definitions we need to know the guid of the same. So this can be taken from the feature.xml file under the features folder. Then the following query can be executed:
Select * From Objects With(NoLock) where ID='Guid'
The output and next steps can be followed in the same way.
This works in both MOSS 2007 and SPS 2010