Thursday, October 27, 2011

SharePoint 2010: Tip of the Day - Finding what level of SharePoint 2010 is installed?

This is a quick tip bought to by SharePoint Six!

Tip 1: To quickly find out the build level of SharePoint 2010 using Powershell, use the following commands:
$farm = Get-SPFarm
$farm.BuildVersion


Tip 2: For a list of build numbers, go to Joe's blog: http://blogs.technet.com/b/sharepointjoe/archive/2011/02/01/sp2010-sharepoint-2010-build-level-and-version-numbers.aspx

Tip 3: For the latest patches, go to this site: http://technet.microsoft.com/en-us/sharepoint/ff800847.aspx

Tuesday, August 02, 2011

SharePoint: I'm presenting at SharePoint Saturday Sydney 2011

I'm so excited! I'm presenting at SharePoint Saturday Sydney 2011!



I'll be discussing about "Applying Content Type Hubs and Managed Metadata To Improve Document Management in the real world". Hope to see you all there on the day for a fruitful session!

The abstract for the session is below:
"SharePoint 2010 offers a suite of new and enhanced capabilities, which if utilised effectively in select business scenarios can bring enormous value to organisations. Document Management is one area where SharePoint 2010 offers many new features and benefits. This session covers two new document management capabilities: The Content Type Hub and Managed Metadata. Douglas will walk through the anatomy of Content Type Hubs and Managed Metadata, recommended approaches, constraints and how to best work around these constraints. A number of typical document management scenarios will be used throughout the session to demonstrate the concepts and keep it real. If time permits, he will also share some C# code snippets which support the scenarios described."
For more information:
http://www.sharepointsaturday.org/sydney/Pages/meetings.aspx

Thursday, April 14, 2011

SharePoint 2010: PSConfiguration issues with GetUserPropertyFromAD call

Problem
As I was installing SharePoint 2010 at client site, I came across an error I've never seen previously. During the SharePoint 2010 "Configuration Wizard Step 3 - creating configuration database",  the operation failed.


Symptoms
The error in the Configuration Wizard was:
Failed to create the configuration database.
An exception of type System.Collections.Generic.KeyNotFoundException was thrown. Additional exception information: The given key was not present in the dictionary.
System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
Matching Error in the installation logs was:

04/14/2011 10:51:06  9  ERR                    Task configdb has failed with an unknown exception
04/14/2011 10:51:06  9  ERR                    Exception: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.   at System.ThrowHelper.ThrowKeyNotFoundException()   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)   at Microsoft.SharePoint.Utilities.SPUtility.GetUserPropertyFromAD(SPWebApplication webApplicaiton, String loginName, String propertyName)
   at Microsoft.SharePoint.Administration.SPManagedAccount.GetUserAccountControl(String username)   at Microsoft.SharePoint.Administration.SPManagedAccount.Update()   at Microsoft.SharePoint.Administration.SPProcessIdentity.Update()   at Microsoft.SharePoint.Administration.SPApplicationPool.Update()   at Microsoft.SharePoint.Administration.SPWebApplication.CreateDefaultInstance(SPWebService service, Guid id, String applicationPoolId, SPProcessAccount processAccount, String iisServerComment, Boolean secureSocketsLayer, String iisHostHeader, Int32 iisPort, Boolean iisAllowAnonymous, DirectoryInfo iisRootDirectory, Uri defaultZoneUri, Boolean iisEnsureNTLM, Boolean createDatabase, String databaseServer, String databaseName, String databaseUsername, String databasePassword, SPSearchServiceInstance searchServiceInstance, Boolean autoActivateFeatures)   at Microsoft.SharePoint.Administration.SPWebApplication.CreateDefaultInstance(SPWebService service, Guid id, String applicationPoolId, IdentityType identityType, String applicationPoolUsername, SecureString applicationPoolPassword, String iisServerComment, Boolean secureSocketsLayer, String iisHostHeader, Int32 iisPort, Boolean iisAllowAnonymous, DirectoryInfo iisRootDirectory, Uri defaultZoneUri, Boolean iisEnsureNTLM, Boolean createDatabase, String databaseServer, String databaseName, String databaseUsername, String databasePassword, SPSearchServiceInstance searchServiceInstance, Boolean autoActivateFeatures)   at Microsoft.SharePoint.Administration.SPAdministrationWebApplication.CreateDefaultInstance(SqlConnectionStringBuilder administrationContentDatabase, SPWebService adminService, IdentityType identityType, String farmUser, SecureString farmPassword)   at Microsoft.SharePoint.Administration.SPFarm.CreateAdministrationWebService(SqlConnectionStringBuilder administrationContentDatabase, IdentityType identityType, String farmUser, SecureString farmPassword)   at Microsoft.SharePoint.Administration.SPFarm.CreateBasicServices(SqlConnectionStringBuilder administrationContentDatabase, IdentityType identityType, String farmUser, SecureString farmPassword)   at Microsoft.SharePoint.Administration.SPFarm.Create(SqlConnectionStringBuilder configurationDatabase, SqlConnectionStringBuilder administrationContentDatabase, IdentityType identityType, String farmUser, SecureString farmPassword, SecureString masterPassphrase)   at Microsoft.SharePoint.Administration.SPFarm.Create(SqlConnectionStringBuilder configurationDatabase, SqlConnectionStringBuilder administrationContentDatabase, String farmUser, SecureString farmPassword, SecureString masterPassphrase)   at Microsoft.SharePoint.PostSetupConfiguration.ConfigurationDatabaseTask.CreateOrConnectConfigDb()   at Microsoft.SharePoint.PostSetupConfiguration.ConfigurationDatabaseTask.Run()   at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask()

The cure 
I checked the permissions for the SharePoint installation account on the MS SQL Database - it seemed to already have the correct security roles assigned (dbcreator and securityadmin).


I then noticed this line in the error logs: "Microsoft.SharePoint.Utilities.SPUtility.GetUserPropertyFromAD"


It's now apparent that psconfig is failing when trying to read a User Property from Active Directory. It turned out the domain had been setup so that domain accounts do not have access to read AD Properties. I simply gave the "Setup Administrator" and "Farm Account" accounts read permissions.