Tuesday, July 26, 2011

SharePoint Workspace, Property name invalid

I had a number of users receiving a "Property name invalid" error when trying to sync to a SharePoint site in SharePoint Workspace. After numerous attempts at resolving the issue by running repair, un-install and reinstall with no success, I did some more research around the error message and found it was most likely a result of the XML parsing. After some further monitoring and log surfing i came up with the following solution.




  1. Select Start > Run


  2. Type “cmd” and select run


  3. Run the following commands


  4. Regsvr32 c:\windows\system32\msxml3.dll


  5. Regsvr32 c:\windows\system32\msxml6.dll


  6. Restart the computer


The users were all running Windows XP, Office 2007 and SharePoint Workspace 2010

Friday, July 8, 2011

PowerShell to Migrate Files from the File System to a SharePoint Document Library

I had the requirement to copy all files and folders from a fileshare directly into SharePoint. Normally i would have just used explorer view however the terminal server that was being used didn't have the web client installed. I used the following poweshell to get the documents migrated
NOTE: this does not migrate security
NOTE: does not check for invalid charcters
NOTE: must be run on a sharepoint server joined to the farm


function ProcessDirectory($directory, $spfolder){
$directory.GetDirectories() foreach{
#create direcotry
write-host "creating directory" $_.Name
$newfolder = $spfolder.SubFolders.Add($_.Name)
#recurse directory
ProcessDirectory $_ $newfolder
}
$directory.GetFiles() foreach{
#uploadfile
write-host "uploading file" $_.Name
$newfile = $spfolder.Files.Add($_.Name,$_.OpenRead(),$true)
}
}
#you could use a local drive. If migrating from a remote server mount the share
#net use X: \\fileshare\sharename
#change current directory
x:
#get web
$web = get-spweb "http://companyweb"
#get the document library
$list = $web.Lists["TestMigration"]
$rootfolder = $list.RootFolder
#get DirectoryInfo object
$currentfolder = get-item .
#start process
ProcessDirectory $currentfolder $rootfolder

Wednesday, June 8, 2011

Unexpected error occurred while communicating with Administration Service

Ran into the following issue when attempting to access "FAST Search keywords" from the site collection, even though i could access the fast adminstration from Central Administration. After some investigation i found that the web application app pool account had not be added to the FASTSearchAdministrators group on the Administration node of the FAST Farm (as mentioned in the technet article). After adding the account I was still receiving the error, after wading through the ULS logs i found the wcf service was returning with exception: "The trust relationship between the primary domain and the trusted domain failed". There are plenty of blogs out there detailing the exception, long story short it occurs when Principal.Isinrole is called to check permissions and the group used does not exist. I thought the wcf service was probably looking for the optional Security group and when it could not find it locally was going out to the domain, which obviously has issues. My resolution was to create the optional group FASTSearchKeywordAdministrators group (detailed in the technet article). I then added my app pool account to the group and everything started working as it should.

From the article: "The FASTSearchKeywordAdministrators group is not automatically created during installation, but can be created manually if you want to use this level of authorization."