Tuesday 24 July 2012

How to reinstall SharePoint 2010 on previous uninstalled SharePoint 2010 server


Voilà, I finaly succeded to join the farm with my server.


But now, the story, and how did I solved my issues :


At the begining, the Service Farm had 2 virtual servers.
I was asked to move a physical server from our Collaboration Farm to our Service Farm.

So, as recommended by Microsoft, I've removed the SharePoint 2010 server from the Collab Farm, and tried to join the new farm.... without any success.

I made several attemps, and all were unsuccessful.

Then, I removed completely all the SharePoint 2010 products, patch, CU, registry keys, with always the same punishment : 

“The install progress conflicts with a previously installed Microsoft Office 2010 Server product”



I google for this error, and I found this first blog, from Chad Schultz :



So, I checked again and again, and I still had the Setup Error message box :




I continue my research on google, and found academicjargon's site, with a reference to Chad's post.
Really interresting, as Chad's solution didn't solved his problem, as mine.

The solution was to do Chad's changes, and this one too :
Turns out, you should also do this: Delete the Registries for "WebApps" that appear here:
HKEY_CLASSES_ROOT\Installer\Products\


I  re-run the Prereq, and the install of SharePoint 2010 was started with success.

... Yes, was started ... as I has some patch missing on all 3 servers of my Farm :

KB2512800
KB2553048
KB2553050

Of course, my 2 original servers are patched at level 14.0.6117.5002, as all my other servers in the other farms located in Production and Development domains (near 15 servers).




So, yesterday, I solved KB2512800 and KB2553050 by executing the Microsoft patch on the new server.

Applying the last KB was still unsuccessful for me:






So, this morning, I decide to knock-out this KB-issue.

After more google-ing, I found a strange procedure concerning “Known issues when you install Office 2010 SP1 and SharePoint 2010 SP1”, and concerning the “User Profile” service that must be started:


Quick check on my Central Admin GUI, and I started the User Profile Sync Service, that was stopped.
I execute the KB2553048 patch, and in the “Configuration Wizard” interface, I saw the errors removed after pressing the refresh button : YES !



KB2553048 patch was also executed on my remaining server, and the install procedure follow its way as expected.

By the way, I had another error in the step 3 of the installation : “Cannot connect to the database” ….
Little run to the SQL Team, check of the access rights, and all is ok for my install account.


As mentioned into the error window, I decide to plunge into the .log to find out the problem :

 ******************************************************************************************
07/24/2012 09:48:59  10  ERR                              Failed to connect to the configuration database.
An exception of type System.FormatException was thrown.  Additional exception information: Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
System.FormatException: Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
   at System.Guid..ctor(String g)
   at Microsoft.SharePoint.Administration.SPFarm.GetInstalledProductIds()
   at Microsoft.SharePoint.Administration.SPFarm.EnsureCurrentServerProductsMatchFarmProducts()
   at Microsoft.SharePoint.Administration.SPFarm.Join()
   at Microsoft.SharePoint.PostSetupConfiguration.ConfigurationDatabaseTask.CreateOrConnectConfigDb()
   at Microsoft.SharePoint.PostSetupConfiguration.ConfigurationDatabaseTask.Run()
   at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask()
 ****************************************************************************************** 


So, Google save me again, and I found the solution into Patrick Lamber blog.

Check of the registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server extensions\14.0\WSS\InstalledProducts ,

and I had the same entries, and the most interesting one, is the last with value ‘0’.



I checked if I had any Office Web Apps installed binaries (none were present on my server), and I simply deleted the ‘0’ key.

nb : I think that this key, on my server, was the remaining of the previous SharePoint 2010 install. A forgotten key left there by the uninstall.


Then, launch again the Configuration Wizard, and I was able to join with success the Farm.



Now, I’ve my 3 servers into my Service Farm.
Need to setup this new server.




That's all folks.


Monday 9 July 2012

How to list all the Site Collection Admins into a specific Web Application in Shp2007


Hi all,

Today’s challenge, is to list all the SCA’s of a Web App.

With google, I found a nice simple post on "The Frog Pond of Technology" with a little powershell script.
Then, I found a link to the Brian T. Jackett TechNet Script Repository , and tested his script, with a little change, explained by Tasha’s feedback in the first link (I got the same blank names).

So, hereunder is the script that I’m now using to grab all the SCA’s in the needed WA.

########################################################### #SP_Display-SiteCollectionAdmins1.ps1 -URL # #Author: Brian T. Jackett #Last Modified Date: Mar. 25, 2011 # #Display all site collection admins for all site collections # within a web application. ########################################################### [void][System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SharePoint') #DECLARE VARIABLES [string]$siteUrl = $args[0] function GetMissingParameter { $script:siteUrl = Read-Host "Enter Site URL" } ############ # MAIN ############ #IF MISSING PARM FOR SITE URL, ASK FOR INPUT TO FILL if($args.length -eq 0) { GetMissingParameter } $rootSite = New-Object Microsoft.SharePoint.SPSite($siteUrl) $spWebApp = $rootSite.WebApplication foreach($site in $spWebApp.Sites) { foreach($siteAdmin in $site.RootWeb.SiteAdministrators) { Write-Host "$($siteAdmin.ParentWeb.Url) - $($siteAdmin.Name)" Write-Output "$($siteAdmin.ParentWeb.Url) - $($siteAdmin.Name)" |Out-File -encoding default -append } $site.Dispose() } $rootSite.Dispose()


nb: added the output to a file



I didn’t test this script in SharePoint 2010, but it is said that this script in object model will work for 2007 and 2010.


That's all folks.