| So after seeing the option to run CloudFlare as an option in my non SharePoint (I know) hosting panel, I decided to give it a run on a SharePoint site. The potential benefits outweighed the risk of my site being unavailable for any amount of time. If you haven't heard of CloudFlare or perhaps could have gotten in confused with the other cloud services, you should get acquainted here. A quick overview of the plans (Did I say Free) reveals that that a simple DNS change can reap numerous benefits such as leveraging a CDN for static data distribution, interception of malicious users, and in depth site statistics. Well the statistics are better than you get in SharePoint foundation anyways. Rather than sucking down all their content here, take a quick gander to see if it's a fit for what you want to do.
First step is to get started with CloudFlare
-
CloudFlare will do a scan of all the DNS records in your zone and display a short video on the process necessary to set up cloud flare.
Go to your domain registrar and change your NameServer Records from what they are currently to what CloudFlare Suggests Note: This May disrupt service to your website, this is where things can go badly, so proceed with caution.
Now its time to Wait… and keep waiting… and keep waiting.. and verify that your DNS settings have transferred over. Note: IPCONFIG /flushdns can help
Finally, you should see some DNS results similar to below: 
Now while the DNS may tell the truth, sometimes the panel takes some time to update and you'll see something similar
Time to wait some more Note:(As of writing this post, I'm still waiting for the full statistics to display)
While you're waiting, do some testing… Like I did… Site still loads
SharePoint Designer Still Works
Blog Still Works… Ups.. maybe a little CSS sprite went wild
Here are some of the analytics that are displayed in the control panel of CloudFlare  
Now here is the threat control Page 
So far the only thing out of the ordinary has been an excessive amount of credential prompts for logging in, Via the browser, SharePoint Designer, and Word for pulling down blog entries. By Adding a trust rule you could alleviate some of this and actually keep a session open to the server. Type your IP and select Trust to enable head straight on through (Currently Testing).
You will see your trust listed in the trust list
Now this just is the beginning of what you can do to in the CloudFlare portal, and I look forward to discovering more as this "experiment" continues.
So with a pretty simple DNS/Nameserver change I have added
- Global CDN for Static Files
- IP Address Filtering
- Malicious Threat Protection
- Robust Stats
Since this is just the begging of using CloudFlare and SharePoint for my site, I will keep this post updated with my findings.
|
| This weekend I was running down a strange issue which presented itself after a user migration. The overall symptom was that user profile information was not being updated on Site Collections when new data was presented in the User Profile Application. In short old site user data was not being replaced by the user profile application.
The symptom presented in a cross farm scenario where the user profile service application was located in a different farm. Looking at the ULS, I saw the following error:
SharePoint EventID:5555
Category: User Profiles
Failure trying to synch web application {GUID}. ContentDB {GUID} Exception message was System.NullReferenceException: Object reference not set to an instance of an object
I then expanded the messages being logged to include verbose messages in the ULS so I could see the path of the errors being generated. And these are the ones that I received prior to the above error:
Event1: Entering monitored scope (Timer Job Connection to: Production User Profile Application3_ProfSync)
Event2: Constructed a new async cache named Profile Property Cache
Event3: WcfSendRequest: RemoteAddress: 'https://{server}:32844/{guid}ProfilePropertyService.svc' Channel: 'Microsoft.Office.Server.UserProfiles.IProfilePropertyService' Action: 'http://Microsoft.Office.Server.UserProfiles/GetProfileProperties' MessageId: 'urn:uuid:{guid}'
Event4: Exception occured while connecting to WCF endpoint: System.ServiceModel.Security.SecurityAccessDeniedException: Access is denied.
Event5: UserProfileApplicationProxy.InitializePropertyCache: Microsoft.Office.Server.UserProfiles.UserProfileException: System.ServiceModel.Security.SecurityAccessDeniedException
As you can see, along the way the User Profile Service Application is saying "Hey No Way" to this farm's request. So I set about every permutation of permissions that I could based on the User Profile Application on the shared services farm. None of it seemed to work.
What ended up solving the issue was granting the "Full Control" permission on the Permissions tab all the way to the Right. I granted this permission to the Farm account of the farm trying to access the content in the Shared Services farm.
|
| Every once in a while I run into a problem that just makes you go "huh?" I have been chasing down an elusive sharepoint error which surfaced initially as not having access to use the proc_GetTimerJobLastRunTime on the Admin content database. That itself was curious enough, however it soon surfaced that wasn't the real issue. I kept running into Symptoms that just didn't make any sense, first it was:
Symptom: "No available sandboxed code execution server could be found"
Though that finally resulted in some interesting ULS logs in which the user code service would terminate unexpectedly. So then I had this symptom
Symptom: The user Code Service doesn't start or abnormally terminates.
Luckily the ULS Logs revealed some interesting information which lead me to the following article on the Microsoft Support site.
Related Article: The UserCode service does not start, and you receive the following error code: PDH_CSTATUS_NO_MACHINE
http://support.microsoft.com/kb/983081
These are the ULS Screenshots that lead me to this article. The first is a System.ComponentModel error which had me confused but eventually resulted in the solution
( Exception
- Unhandled exception System ComponentModel.Win32Exception: Unknown error (0x800007d0J
at Microsott.SharePoint.Win32.SPPdh.CheckReturnValue(PDH_STATUS status, Boolean
throw0nError)
at Microsoti SharePoint.Utilities.SPPertormanceCounter.Initialize
at Microsoti SharePoint.Utilities.SPPertormanceCounter.NextValue(tnt32 retry, 1nt32 retrylnterval)
at Microsoti SharePoint.UserCode.SPUserCodePertormanceCounterHelper.ctor(String
processName, 1nt32 processlnstanceId thrown white reading perf counters for process
SPUCWorkerProcess'.
The Second finally got me heading in the right direction.
Resolution:
What ended up being the issue was that the account that the sandbox solution was running under didn't have access to monitor the performance counters on the servers which the Sandbox Service was running. Adding the sandbox service account to the Performance Monitoring Users on all of the servers running the user code service had me up and running in no time. This is going on my checklist as one of the most common issues which I run into when deploying the User Code Service. Hopefully this will help someone who keeps running into issues with the Sandbox Solutions service. |
| Somtimes you can't log on locally with the Farm account to run the management interface with the correct permissions. This generally occurs when your account priveliges are restrcited by policies and security. No worries, you can run those powershell scripts as another user which I'm sure you've done before, however I dont want to forget myself so here you go.
Copy the following text in to a powershell script, such as RunAsFarmAccount.ps1 and replace the account with your farm account that you want to use.
runas /noprofile /user:sharepoint\farmccount "C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe -NoExit & ' C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\POWERSHELL\Registration\\sharepoint.ps1' "
Once you're done there you can launch that powershell any way you wish and it will prompt you for the farm account password. Following the account validation you can interact with the farm using powershell as if you were logged in as the farm user.
Short and sweet. |
| Have you registered, or just want to show off your support of the first ever SharePoint Saturday : The Conference coming up in DC? Please feel free to post these images to your website, blog, email signature, the sky is the limit.
We have three styles are they are all available for you to use! Right click on the image and click "save picture as" or a similar option dependent on your browser.
256 Pixels Wide
Black and White
Orange Sunset
White Background
The complete list of images is available below if you're looking for something in a different size or resolution.
|
| I had to write a quick script for backing up a SharePoint farm and didn't want to write two separate scripts to accomplish essentially the same thing. So I just added a little PowerShell script to change the backup type based on the day of the week. So we run full backups on Sundays and differential backups during the week. Nothing magical and I thought I would share the script love.
# Standard Load of the SharePoint plugin for PowerShell, nothing special here
$snapin
= (Get-PSSnapin
-name
Microsoft.SharePoint.PowerShell -EA SilentlyContinue)
IF ($snapin
-ne
$null){write-host
"SharePoint Snap-in is loaded"}
ELSE { write-host
"SharePoint Snap-in not found... Loading now"
Add-PSSnapin
Microsoft.SharePoint.PowerShell
write-host
"SharePoint Snap-in is loaded"
}
# END Loading SharePoint Snapin
# Lets get the day of the week using the DateTime object
([system.datetime]$date
= $([system.datetime]::now))
$dayofweek
=
$date.DayOfWeek
#set the location where you want to backup the farm
$backupDirectory
=
"\\server\folder\subfolder"
#If its Sunday let's do a full backup instead of a differental
if($dayofweek
-eq
"Sunday")
{
write-host
"$dayofweek - Full Backup being Executed"
Backup-SPFarm
-Directory
$backupDirectory
-BackupMethod
Full
}
else
{
#Its not Sunday, so let's just do a differential backup
Write-Host
"$dayofweek - Differential Backup Being Executed"
Backup-SPFarm
-Directory
$backupDirectory
-BackupMethod
Differential
}
|
| Much like the SharePoint Saturdays that have become a well-known favorite, the DMV MUG [District of Columbia Maryland Virginia Management User Group] is hosting two events in the Washington DC Area. The events will happen in the Microsoft offices in both Reston, VA and Chevy Chase, MD and they're even providing food!. Topics will include upgrading to the latest Configuration Manager, SharePoint Management Pack for Operations Center, among other great topics. Below you'll find the agenda as well as the dates for the events. More information can also be found on the DMV MUG webpage at http://www.dmvmug.com/prod/
Agenda
Time Slot | Content | 8:30 – 9:00 | Registration [Continental Breakfast]
| 9:00 – 9:30 | KEYNOTE System Center Suite Integration | 9:45 – 10:30 | SESSION 1
Baseline Images for OS Deployment
Upgrading to ConfigMgr R3 from ConfigMgr SP2
Effective Server Management--Applications in the Cloud and on the Premise
| 10:45 – 11:30 | SESSION 2
SRSS for ConfigMgr and OpsMgr
Super Server Farm Management Tips with SCVMM
Exploring Microsoft Certifications for Systems Center | 11:30 – 12:30 | LUNCH Provided/Networking/Sponsor Displays/Ask the Experts | 12:45 – 1:30 | SESSION 3
SharePoint Management Pack for Ops Mgr
Software Update Management in ConfigMgr
Single Instance Storage: Consolidating Multiple Images into a Single Image | 1:45 - 2:30 | SESSION 4
Windows 2008 R2 SQL Management Pack for OpsMgr
The Right Touch (OS Deployment LTI or ZTI)
| 2:45 – 3:30
| Birds of Feather
ConfigMgr
OpsMgr
Operating
System Deployment
|
|
| Do you find yourself writing the same scripts over and over? Me too, so I'm committing this one here for public record. I needed to change the site image for a given site collection, and given the numerous ways to do this, I found PowerShell the easiest and quickest. First script is to display all the site logo information, and the second is to change the site logo for all of the sites.
Display the site image for all the sites in a SiteCollection
$sitename=
"http://isstith-w500"
$site=new-object
Microsoft.SharePoint.SPSite($sitename)
foreach($web
in
$site.Allwebs) {
write-host
$web.SiteLogoUrl
}
$site.Dispose()
Change the site image for all sites in a given SiteCollection
$sitename=
"http://isstith-w500"
$sitelogo=
"http://isstith-w500/shared documents/sitelogo2.png"
$site=new-object
Microsoft.SharePoint.SPSite($sitename)
foreach($web
in
$site.Allwebs) {
$web.SiteLogoUrl=$sitelogo
$web.Update()
}
$site.Dispose()
Good luck and happy SharePointing |
| Updated: With Jeff Deverters Blog Post
A couple weeks ago I was looking for a list of shared hosting plans for SharePoint 2010, this is a data dump of what I found and was current as of 9/31. With the popularity of 2010 there are significantly more competitors in the hosting space. While this is not a comprehensive list, it's a good start in the right direction. There are some vendors that do not publish pricing information, and I urge customers to consider them as well(see update). This does not constitute an endorsement by myself or my employer. If you are interested in hosting reviews, I will be setting up a list for reviewing hosting vendors in the future.
The great thing about using a SharePoint list is that you can sort and filter the data pretty much any way you want, and share the information with colleagues. Here are a couple to get you started:
Let me know what you think!
Update:Jeff has published a great blog post about whats in a hosting environment. You can find the article here: http://www.social-point.com/are-all-sharepoint-hosters-created-equal . RackSpace and FPWeb provide invaluable support to the SharePoint community as a whole, supporting user groups and SharePoint Saturday events. This post wasn't meant to detract from their hosting capabilities, merely as a data dump for use in comparisons. Please take this information with a grain of salt, as the suport/experience from hosting companies such as RackSpace and FpWeb are hard to place a dollar value on.
|
|
I have been playing around with the Sandboxed Solution capability in SharePoint 2010. It's quite powerful and I have been trying to test the limits in regards to practical solutions. While deploying a new Sandboxed Solution to my farm, I ran into the following error:
The error says "Unhandled exception was thrown by the sandboxed code wrapper's Execute method in the partial trust app domain: The UserCodeToken is invalid". While this error message is very descriptive, it wasn't very helpful in determining a solution. No events in the error
Update: Sandboxed solutions not working, try restarting the service in powershell "Restart-Service SPUsercodeV4" |
|
|
|
|
|
|
|
Welcome to SharePoint Blogs. Use this space to provide a brief message about this blog or blog authors. To edit this content, select "Edit Page" from the "Site Actions" menu.
|
|
|
|
|