<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tech Tips, News and Tribal Knowledge &#187; SharePoint</title>
	<atom:link href="http://www.os.com/blog/category/windows/sharepoint/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.os.com</link>
	<description>A technology blog about news, systems, gadgets, websites, software and productivity tools</description>
	<lastBuildDate>Tue, 07 Sep 2010 23:29:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Quest Security Explorer for SharePoint &#8211; Invalid Pointer</title>
		<link>http://www.os.com/blog/quest-security-explorer-invalid-pointer/</link>
		<comments>http://www.os.com/blog/quest-security-explorer-invalid-pointer/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 17:02:05 +0000</pubDate>
		<dc:creator>Craig Shrimpton</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Quest]]></category>
		<category><![CDATA[ScriptLogic]]></category>
		<category><![CDATA[Security Explorer]]></category>

		<guid isPermaLink="false">http://www.os.com/?p=53</guid>
		<description><![CDATA[I found a bug today in the Quest Security Explorer 7.0.0 for SharePoint 2007.  If you create a document library with a forward slash in the name, the application will prompt for a logon and after several unsuccessful tries, it will return a message box stating &#8220;Error: Invalid Pointer.&#8221;  At this point, you will need [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal">I found a bug today in the Quest Security Explorer 7.0.0 for SharePoint 2007.  If you create a document library with a forward slash in the name, the application will prompt for a logon and after several unsuccessful tries, it will return a message box stating &#8220;Error: Invalid Pointer.&#8221;  At this point, you will need to click on the root site and hit F5 to refresh the perms.</p>
<p class="MsoNormal">You will also have difficulty if you attempt to backup permissions of any site that has a document library, or probably any securable object, that has a forward slash in the path.  The backup will proceed normally until it hits the errent object.  It will then ask you for authentication and finally give up the ghost with the error:</p>
<p class="MsoNormal"><em>&#8220;[-2146233088] Exception of type &#8216;ScriptLogic.Common.SharePointAccess.Node<br />
+AuthenticationException&#8217; was thrown.&#8221;</em></p>
<p class="MsoNormal"> So, if you use the Quest product for permissions management, don’t create document libraries that contain a forward slash &#8220;/&#8221; with names like “My Docs/Under Review.”  </p>
<p class="MsoNormal">I&#8217;m going to open a tickect with Quest / ScriptLogic later this week.  I&#8217;ll post any additional info I receive from them.</p>
<p class="MsoNormal"><strong>UPDATE:</strong></p>
<p class="MsoNormal">Apparently Quest is aware of this issue and they have created a <a href="https://support.quest.com/SUPPORT/index?page=solution&amp;id=SOL52903">tech note</a> in their support database.  Their workaround is to remove all forward slashes from document libraries and lists.  However, if you really want to use the forward slash in your system, it is possible to continue to use the forward slash in your navigation links.</p>
<ol>
<li>Create your document library using a forward slash.</li>
<li>Navigate to your document library and open your library&#8217;s settings page.</li>
<li>Select &#8220;Title, Description and Navigation.&#8221; </li>
<li>Remove the forward slash from the &#8220;Name&#8221; field and save. </li>
<li>Open your &#8220;Site Settings&#8221; page and select &#8220;Navigation&#8221; under the &#8220;Look and Feel&#8221; section.</li>
<li>Find your site link and add the slash back into the &#8220;Title&#8221; field.</li>
<li>Click &#8220;OK&#8221; and close the &#8220;Navigation&#8221; page.</li>
</ol>
<p class="MsoNormal">Your document library link will now contain the forward slash as  before and Security Explorer will be able to parse the object properly. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.os.com/blog/quest-security-explorer-invalid-pointer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linking to File Shares from SharePoint Document Libraries</title>
		<link>http://www.os.com/blog/linking-to-file-shares-from-sharepoint-document-libraries/</link>
		<comments>http://www.os.com/blog/linking-to-file-shares-from-sharepoint-document-libraries/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 19:51:16 +0000</pubDate>
		<dc:creator>Craig Shrimpton</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[file shares]]></category>
		<category><![CDATA[MOSS]]></category>

		<guid isPermaLink="false">http://www.os.com/?p=42</guid>
		<description><![CDATA[Ever wished you could link directly from a SharePoint document library to a file or file share?   Well here is a code snippet  that allows you to specify the file:// prefix as well as http:// or https://.  It accomplishes this by altering the input checking on the newlink.aspx found in your layouts directory. While you [...]]]></description>
			<content:encoded><![CDATA[<p>Ever wished you could link directly from a SharePoint document library to a file or file share?   Well here is a code snippet  that allows you to specify the file:// prefix as well as http:// or https://.  It accomplishes this by altering the input checking on the newlink.aspx found in your layouts directory.</p>
<p>While you can always use the page viewer web part to accomplish the same thing, this method will allow you to mix SharePoint documents and file server documents in the same library.</p>
<p>This method does require that you edit  one of your layout files in the &#8221;&#8230;\12\TEMPLATE\LAYOUTS&#8221; directory, so make sure you back it up before you begin. </p>
<p>1) Add the content type  &#8220;Link to a Document&#8221; to your document library. If the content type doesn&#8217;t  exist, simply create it with Document as the parent.</p>
<p>2) Navigate to your &#8220;layouts&#8221; folder and edit the newlink.aspx. Add the  following at the end of the script section near the top of the page:</p>
<p><strong>function HasValidUrlPrefix_Override(url)<br />
{<br />
var  urlLower=url.toLowerCase();<br />
if (-1==urlLower.search(&#8220;^http://&#8221;) &amp;&amp;<br />
-1==urlLower.search(&#8220;^https://&#8221;) &amp;&amp; -1==urlLower.search(&#8220;^file://&#8221;))<br />
return false;<br />
return true;<br />
} </strong></p>
<p>3) Find each occurance of the  function HasValidUrlPrefix and replace it with HasValidUrlPrefix_Override.  It&#8217;s in there twice.</p>
<p>4) Save and restart IIS.</p>
<p>Now not only can you add a link to an http:// or  https:// page, the override function allows you to link to docs on a file share.  Use a syntax of:  file://\\fileserver\filename.doc.</p>
<p>If you&#8217;d rather have it open a folder instead, create a shortcut to the folder in question and create your link like this:  file://\\fileserver\shortcutname.lnk</p>
<p>If you really want to get fancy, you can edit the wss.resx file at:  c:\Inetpub\wwwroot\wss\VirtualDirectories\&lt;app name&gt;\App_GlobalResources</p>
<p>Find the section named &#8216;&lt;data name=&#8221;newlink_badurl&#8221;&gt;&#8217; and change the value to read:  &lt;value&gt;Enter a valid document name and URL.  Valid URLs must begin with &#8216;http:&#8217;,  &#8217;https:&#8217;,  or &#8216;file:&#8217;&lt;/value&gt;</p>
<p>Remember to backup your layouts folder and wss.resx file before messing around  in there!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.os.com/blog/linking-to-file-shares-from-sharepoint-document-libraries/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>SharePoint Designer 2007 is now free</title>
		<link>http://www.os.com/blog/sharepoint-designer-2007-is-now-free/</link>
		<comments>http://www.os.com/blog/sharepoint-designer-2007-is-now-free/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 19:15:54 +0000</pubDate>
		<dc:creator>Craig Shrimpton</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[SharePoint Designer]]></category>

		<guid isPermaLink="false">http://www.os.com/blog/sharepoint-designer-2007-is-now-free/</guid>
		<description><![CDATA[Love it, or hate it, free is always a good thing! Anyone interested in a free copy of SharePoint Designer can get it here: http://www.microsoft.com/downloads/details.aspx?displaylang=en&#38;FamilyID=baa3ad86-bfc1-4bd4-9812-d9e710d44f42]]></description>
			<content:encoded><![CDATA[<p>Love it, or hate it, free is always a good thing!</p>
<p>Anyone interested in a free copy of SharePoint Designer can get it here:</p>
<p><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=baa3ad86-bfc1-4bd4-9812-d9e710d44f42">http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=baa3ad86-bfc1-4bd4-9812-d9e710d44f42</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.os.com/blog/sharepoint-designer-2007-is-now-free/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>E-mail sent to a SharePoint document library requires text in the message</title>
		<link>http://www.os.com/blog/e-mail-sent-to-a-sharepoint-document-library-requires-text-in-the-message/</link>
		<comments>http://www.os.com/blog/e-mail-sent-to-a-sharepoint-document-library-requires-text-in-the-message/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 21:44:35 +0000</pubDate>
		<dc:creator>Craig Shrimpton</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[document libraries]]></category>
		<category><![CDATA[email]]></category>

		<guid isPermaLink="false">http://www.os.com/?p=35</guid>
		<description><![CDATA[I&#8217;ve recently e-mail enabled some document libraries on our SharePoint site and have noticed some odd behavior.  It seems that In order to send a document to the library, I need to actually have some content in the message.  If I simply attach a message, using Outlook 2007, without any accompanying text, the document disappears into [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently e-mail enabled some document libraries on our SharePoint site and have noticed some odd behavior.  It seems that In order to send a document to the library, I need to actually have some content in the message.  If I simply attach a message, using Outlook 2007, without any accompanying text, the document disappears into SharePoint heaven never to be seen again.  It doesn&#8217;t seem to need a subject, just some text.  Even a single carriage return is sufficient.</p>
<p>I&#8217;m running the site using a least priviledged model which requires me to add the contacts manually to AD.  Everything seems to work properly as long as I include some text.</p>
<p>I&#8217;m not sure if this is a SharePoint deficiency or an Outlook issue.  I will post a followup if I figure this out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.os.com/blog/e-mail-sent-to-a-sharepoint-document-library-requires-text-in-the-message/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SharePoint Kerberos KRB_AP_ERR_MODIFIED Event ID 4</title>
		<link>http://www.os.com/blog/sharepoint-kerberos-krb_ap_err_modified-event-id-4/</link>
		<comments>http://www.os.com/blog/sharepoint-kerberos-krb_ap_err_modified-event-id-4/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 21:54:24 +0000</pubDate>
		<dc:creator>Craig Shrimpton</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[kerberos]]></category>
		<category><![CDATA[MOSS 2007]]></category>
		<category><![CDATA[Sharepoint 2007]]></category>

		<guid isPermaLink="false">http://www.os.com/?p=28</guid>
		<description><![CDATA[Recently I experienced some unusual Kerberos authentication issues with one of our SharePoint farms. Users accessing the farm using the Kerberos protocol would receive repeated logon dialog boxes from the front-end server. The prompts would continue even though the user was entering the proper credentials. These repeated logon attempts wouldn&#8217;t lock out the user account [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I experienced some unusual Kerberos authentication issues with one of our SharePoint farms.  Users accessing the farm using the Kerberos protocol would receive repeated logon dialog boxes from the front-end server.  The prompts would continue even though the user was entering the proper credentials.  These repeated logon attempts wouldn&#8217;t lock out the user account which indicated the logon never got past the front-end server.  This behavior affected only those users authenticating to the farm using Kerberos.  Any users authenticating to the farm using the NTLM protocol had no issues logging in.   In addition, the following KRB_AP_ERR_MODIFIED error appeared in the event logs:</p>
<p><span id="more-28"></span></p>
<p><em>Event Type: Error</em><em><br />
Event Source: Kerberos</em><em><br />
Event Category: None<br />
Event ID: 4</em><em><br />
Date: 01/01/2008</em><em><br />
Time: 12:59:00 PM</em><em><br />
User: N/A<br />
Computer: XXX<br />
Description:<br />
The kerberos client received a KRB_AP_ERR_MODIFIED error from the server XXX$. The target name used was ldap/xxx.company.com. This indicates that the password used to encrypt the kerberos service ticket is different than that on the target server. Commonly, this is due to identically named machine accounts in the target realm (COMPANY.COM), and the client realm. Please contact your system administrator.<br />
</em></p>
<p>Using Kerbtray, I determined the user was receiving a valid Kerberos ticket from the front-end server and that ticket contained the proper service principal name (SPN).  It appeared all DNS, forward and reverse, all delegations and all SPNs were correctly configured.  The server was simply rejecting the user&#8217;s valid credentials.  Following the clues from the event description, I began looking for duplicate or conflicting SPNs.  I was unable to find any.</p>
<p>As other farms in our environment use the same basic configuration, I started to think this might be an issue with the secure channel, or domain account of the server.  Since this was a new install, rebuilding the server wasn&#8217;t a big issue.  Unfortunately the rebuild didn&#8217;t help.  As soon as anyone tried to authenticate using Kerberos, they received the endless logon prompts.  I was completely stumped until it occurred to me that what may be going on is exactly what the event indicated, but with a bit of a twist.</p>
<p>The theory I came up with was that the issue was not duplicate machine accounts, but duplicate keys.  As the web application is an IIS virtual server and has a DNS name that is different from the server&#8217;s NETBIOS name, it was possible the server was sending the client the public key for the web application as configured in the SPN, but attempting to decrypt the packet using the private key associated with the server&#8217;s NETBIOS name.</p>
<p>To test the &#8220;multiple key&#8221; theory, I assigned two additional IP addresses to the server through the TCP/IP network settings.  I then used the IIS manager to change the IP address for the SharePoint web application from &#8220;All Unassigned&#8221; to one of the newly added IPs.  I repeated the process with the other new IP for the Central Administration site.  All other web applications were left at the default &#8220;All Unassigned.&#8221;</p>
<p><a href="http://www.os.com/wp-content/uploads/2008/07/iis_ip_address.png"><img class="alignnone size-medium wp-image-29" title="iis_ip_address" src="http://www.os.com/wp-content/uploads/2008/07/iis_ip_address-300x289.png" alt="Set static IP address in IIS" width="300" height="289" /></a></p>
<p>After making the server changes and updating the DNS to reflect the directly assigned IP address, I rebooted the server.  Once the server was back up, Kerberos authentication worked perfectly.</p>
<p>I&#8217;m not sure why it was necessary to statically assign an IP address to the web application as we have other farms that use the shared IP without issue.  Perhaps it&#8217;s a hotfix, a .NET issue, or some obscure DNS anomaly.  Whatever the case may be, we have reassigned all front-end servers with static IPs as a best practice and haven&#8217;t had a Kerberos issue since.  If I ever find out the exact cause of this, I&#8217;ll post an update.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.os.com/blog/sharepoint-kerberos-krb_ap_err_modified-event-id-4/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Troubleshooting Events 10016, 7888, 6482 and 6398 in SharePoint</title>
		<link>http://www.os.com/blog/troubleshooting-events-10016-7888-6482-and-6398-in-sharepoint/</link>
		<comments>http://www.os.com/blog/troubleshooting-events-10016-7888-6482-and-6398-in-sharepoint/#comments</comments>
		<pubDate>Sat, 26 Jul 2008 23:01:14 +0000</pubDate>
		<dc:creator>Craig Shrimpton</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[DCOM]]></category>
		<category><![CDATA[Event ID 10016]]></category>
		<category><![CDATA[Event ID 6398]]></category>
		<category><![CDATA[Event ID 6482]]></category>
		<category><![CDATA[Event ID 7888]]></category>
		<category><![CDATA[MOSS 2007]]></category>
		<category><![CDATA[Sharepoint 2007]]></category>

		<guid isPermaLink="false">http://www.os.com/?p=27</guid>
		<description><![CDATA[After installing SharePoint using the least privileged model, you will undoubtedly find your event logs filled with errors. You will see dozens of 10016, 7888, 6482 and 6398 events all with red the &#8220;X&#8221;, but don&#8217;t despair, you haven&#8217;t done anything wrong. If you have followed SharePoint best practices, the accounts you have used for [...]]]></description>
			<content:encoded><![CDATA[<p>After installing SharePoint using the least privileged model, you will undoubtedly find your event logs filled with errors.  You will see dozens of 10016, 7888, 6482 and 6398 events all with red the &#8220;X&#8221;, but don&#8217;t despair, you haven&#8217;t done anything wrong.  If you have followed SharePoint best practices, the accounts you have used for your farm, shared services provider, default content access and application pools are all domain user accounts with no special rights or privileges.  When installing MOSS under the least privileged model, these errors are expected.   In order to eliminate the errors and finish your install, you need to complete three basic permissioning tasks before calling it a day.</p>
<p><span id="more-27"></span></p>
<p>SharePoint relies heavily on DCOM and as such, requires additional access rights to several DCOM objects.  Microsoft makes no assumptions about your SharePoint security model and only provides default access to DCOM objects for administrators, system, and a few select user and group accounts.  The SharePoint install will add the farm account to some of the DCOM objects, but unless you&#8217;ve used that account for all your SharePoint services and made that account a server administrator, SharePoint will not have the necessary permissions to operate properly.</p>
<p>If you didn&#8217;t follow best practice and used a single account for all SharePoint services, you could easily eliminate all these errors by making your SharePoint account a local administrator.  That, however, would be considered a most privileged model installation which is not advisable for several reasons, the primary being security.  If you run your web server under an account with administrator privileges and your IIS server is compromised, any malware that a hacker could get onto your machine would run under the security context of the account running the web application pool.  This is especially bad if the account running IIS is also the farm account.  The hacker could now potentially gain access not only to your server, but to your SQL databases as well.  It&#8217;s easy to see why running your MOSS install under non-privileged accounts is a good idea.</p>
<p>To complete your install and eliminate DCOM errors, you will need to make several security changes to two DCOM objects and two permission changes in your shared service provider.  As I stated before, simply making the accounts in question local administrators will solve the issue, but as you now know, that&#8217;s not a good idea.  We want to grant the minimum object permissions possible and still have a functioning system.</p>
<p><span style="14pt"><strong>If you are experiencing Event ID:  10016 and Event ID: 7888 DCOM errors you will see these entries in your event logs:<br />
</strong></span></p>
<p><span style="black"><em>Event Type:      Error</em><em><br />
Event Source:     DCOM</em><em><br />
Event Category: None</em><em><br />
Event ID:     10016<br />
User:          NT AUTHORITY\NETWORK SERVICE</em><em><br />
Description:</em><em><br />
The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID</em></span><em>{61738644-F196-11D0-9953-00C04FD919C1}<span style="black"> to the user NT AUTHORITY\NETWORK SERVICE SID (S-1-5-20).  This security permission can be modified using the Component Services administrative tool.<br />
</span></em></p>
<p><span style="black"><em>Event Type:     Error</em><em><br />
Event Source:     Office SharePoint Server</em><em><br />
Event Category: Office Server General</em><em><br />
Event ID:     7888</em><em><br />
User:          N/A</em><em><br />
Description:</em><em><br />
A runtime exception was detected. Details follow.</em></span><em><span style="black"><br />
Message: Retrieving the COM class factory for component with CLSID </span>{61738644-F196-11D0-9953-00C04FD919C1}<span style="black"> failed due to the following error: 80070005.<br />
</span></em></p>
<p>These errors occur when the application pool accounts do not have sufficient privileges to the IIS WAMREG admin service.  To correct the errors, add local launch and local activation permissions for all application pools to the IIS WAMREG object.</p>
<p>You may also receive this error for:<br />
CSLID <span style="black">{3D42CCB1-4665-4620-92A3-478F47389230} which is the OSearch object that is discussed below.</span></p>
<p>To permission the IIS WAMREG object, open &#8220;Start/Settings/Control Panel/Admin Tools&#8221; and double-click on &#8220;Component Services.&#8221;  Navigate to &#8220;DCOM Config&#8221; under &#8220;My Computer&#8221; and right-click on the &#8220;IIS WAMREG admin Service&#8221; object and select &#8220;Properties.&#8221;</p>
<p><a href="http://www.os.com/wp-content/uploads/2008/07/072608-2236-troubleshoo1.png"><img class="alignnone size-medium wp-image-26" src="http://www.os.com/wp-content/uploads/2008/07/072608-2236-troubleshoo1-300x239.png" alt="IIS WAMREG" width="300" height="239" /></a></p>
<p>Next, select the security tab and edit &#8220;Launch and Activation Permissions.&#8221;  Make sure that your farm account (account that accesses your SQL database) and all your application pool accounts are granted both local launch and local activation rights.  Select &#8220;OK&#8221; then &#8220;OK&#8221; again when finished.</p>
<p><a href="http://www.os.com/wp-content/uploads/2008/07/072608-2152-troubleshoo2.png"><img class="alignnone size-medium wp-image-23" src="http://www.os.com/wp-content/uploads/2008/07/072608-2152-troubleshoo2-300x239.png" alt="Add Accounts" width="300" height="239" /></a></p>
<p><span style="14pt"><strong>If you are experiencing Event ID:  6398 and Event ID: 6482 errors you will see these entries in your event logs:<br />
</strong></span></p>
<p><em>Event Type: Error<br />
Event Source: Windows SharePoint Services 3<br />
Event Category: Timer<br />
Event ID: 6398<br />
Date: 01/01/2008<br />
Time: 00:00:00<br />
User: N/A<br />
Computer: XXX<br />
Description:<br />
The Execute method of job definition Microsoft.Office.Server.Search.Administration.IndexingScheduleJobDefinition (ID d2784cd2-20cf-466f-b5f0-365e65cdf542) threw an exception. More information is included below.  Retrieving the COM class factory for component with CLSID {3D42CCB1-4665-4620-92A3-478F47389230} failed due to the following error: 8007000e.</em></p>
<p><em>Event Type: Error<br />
Event Source: Office SharePoint Server<br />
Event Category: Office Server Shared Services<br />
Event ID: 6482<br />
Date: 01/01/2008<br />
Time: 00:00:00<br />
User: N/A<br />
Computer: XXX<br />
Description:<br />
Application Server Administration job failed for service instance Microsoft.Office.Server.Search.Administration.SearchServiceInstance (3ede7ca8-f6f6-432a-bd4b-cd8478ab6810).<br />
</em></p>
<p>These errors occur when your default content access account (account used for search and indexing) and your shared service provider service account do not have sufficient launch, activation and configuration permissions to the OSearch DCOM object.  Referring back to the images above, locate the OSearch object and apply the following permissions:</p>
<ol>
<li>Grant local launch and activation rights to your farm, default content access and shared service provider service accounts.</li>
<li>Grant full control to the configuration permissions to your farm and default content access accounts.</li>
</ol>
<p>Finally, there is one other issue related to profile imports that some installations experience.  This issue is solved through SharePoint permissioning in the SSP.</p>
<p><span style="14pt"><strong>If you are experiencing Event ID:  7888 runtime exception errors you will see these entries in your event logs:<br />
</strong></span></p>
<p><em>Event Type:    Error<br />
Event Source:    Office SharePoint Server<br />
Event Category: Office Server General<br />
Event ID:    7888<br />
Date:        01/01/2008<br />
Time:        00:00:00 AM<br />
User:        N/A<br />
Computer:    XXX<br />
Description:<br />
A runtime exception was detected. Details follow.<br />
Message: Access Denied! Only site admin can access Data Source object from user profile DB.<br />
Techinal Details:<br />
System.UnauthorizedAccessException: Access Denied! Only site admin can access Data Source object from user profile DB.<br />
</em></p>
<p>This error is caused by insufficient SharePoint permissions for your default content access account.  This problem is corrected in Central Administration under your shared service providers &#8220;Personalization Service Permissions.&#8221;  Open your Central Administration site and navigate to:  &#8220;Shared Services Administration: Primary SSP &gt; Manage Permissions.&#8221;  (Note: your SSP may be named differently)</p>
<p>Give your default content access account and your search service account &#8220;Manage User Profiles&#8221; rights.  In my case, I use the same account for the search service as well as the default content access account.  If you use different accounts, add permissions for both.</p>
<p><a href="http://www.os.com/wp-content/uploads/2008/07/072608-2152-troubleshoo3.png"><img class="alignnone size-medium wp-image-24" src="http://www.os.com/wp-content/uploads/2008/07/072608-2152-troubleshoo3-300x151.png" alt="Shared Services Provider" width="300" height="151" /></a></p>
<p>This concludes the basic permission granting tasks required for DCOM objects under a least privileged MOSS install.  Depending on the particulars of your install, you may be required to troubleshoot additional DCOM issues.  The basic troubleshooting methods include identifying the object in question and identifying the actual error.  Keep in mind, the event ID is not the error; it&#8217;s the event the error triggered.  For our IIS WAMREG and OSearch issues above, the actual error was &#8220;80070005.&#8221;  This is an access denied error and one of the most common DCOM issues.  If you are seeing 8007005 errors listed in your events, you can be sure it&#8217;s permissions related.  Unfortunately, Microsoft doesn&#8217;t tell you right off what object is causing the trouble.  Instead you are given a CSLID identifier and it&#8217;s up to you to figure out what it is.</p>
<p>Luckily, the human readable names of CSLIDs are easy to identify.  Simply select the CSLID, including the {}&#8217;s, open the registry editor and search for it.  If you carefully poke around, you will eventually be able to associate the CSLID with the name of the DCOM object.</p>
<p>If you have any additional questions about this article or about the least privileged model in general, please leave a comment or post to our forum.  I will attempt to answer your questions as soon as possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.os.com/blog/troubleshooting-events-10016-7888-6482-and-6398-in-sharepoint/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Cloning or Renaming a MOSS web application</title>
		<link>http://www.os.com/blog/cloning-or-renaming-a-moss-web-application/</link>
		<comments>http://www.os.com/blog/cloning-or-renaming-a-moss-web-application/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 15:01:36 +0000</pubDate>
		<dc:creator>Craig Shrimpton</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Clone]]></category>
		<category><![CDATA[MOSS]]></category>
		<category><![CDATA[STSADM]]></category>

		<guid isPermaLink="false">http://www.os.com/?p=19</guid>
		<description><![CDATA[Recently I was tasked with creating a training environment for new SharePoint site administrators. Since the trainer wanted to create as realistic an experience as possible, the site needed to closely match the production environment. The training session was scheduled to begin in a couple of days, so I didn&#8217;t have much time to come [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I was tasked with creating a training environment for new SharePoint site administrators.  Since the trainer wanted to create as realistic an experience as possible, the site needed to closely match the production environment.  The training session was scheduled to begin in a couple of days, so I didn&#8217;t have much time to come up with a workable solution.</p>
<p><span id="more-19"></span></p>
<p>I needed a method that wouldn&#8217;t require additional hardware or third party tools so I decided to try a simple export / import with stsadm.  The procedure was much easier than I expected and after several test runs, I was ready to clone the site.  The entire process took less than an hour (1GB data) and except for a few minor issues, I was able to create an exact replica of the production environment with a new application name.</p>
<p>Although this is a good method for renaming or cloning applications, I want to stress this is not a good method for building a development environment.   Since all the web parts, databases and hardware are still shared with the production system, any changes to the base SharePoint environment of the clone will affect the original.  A development or test environment should always remain isolated in its own farm on different hardware.</p>
<p style="center"><span style="14pt"><strong>Procedure to create a duplicate MOSS instance in the same farm<br />
</strong></span></p>
<ol style="54pt">
<li><strong><em>Verify you have a proper backup of your source application.<br />
</em></strong></li>
<li>Create a new target web application using a different name.  For example; if the source application is http://sourceapp/, then create an application named http://targetapp/.</li>
<li>
<div>Create a site collection at the root of your new target application using the same template that was used to create the source application.</div>
<ol>
<li>Note: If you are using custom templates, this template must be the same version as the source site&#8217;s template.</li>
</ol>
</li>
<li>
<div>Export the source site content and structure.</div>
<ol>
<li>
<div>stsadm –o export –url http://sourceapp/ –includeusersecurity –haltonwarning –filename c:\filename.cab</div>
</li>
<li>You must export each sub-site separately.  I.e. http://sourceapp/, then http://sourceapp/site1, etc.</li>
</ol>
</li>
<li>Deploy and activate all solutions and web parts on the newly created target web app.</li>
<li>Take target server&#8217;s database offline at &#8220;Central Administration &gt; Application Management &gt; Content Databases &gt; Manage Content Database Settings.&#8221;<span style="8pt"><br />
</span></li>
<li>
<div>Import each exported cab file into the new web application.</div>
<ol>
<li>stsadm –o import –url http://targetapp/ -includeusersecurity –haltonwarning –filename c:\filename.cab</li>
<li>Repeat for each sub-site.</li>
</ol>
</li>
<li>Put database back online.</li>
<li>Pay particular attention to Issue #2 outlined below.</li>
</ol>
<p style="center">
<p style="center;"><span style="14pt">Issues you may encounter<br />
</span></p>
<p style="center">
<ol>
<li>
<div>Due to small template inconsistencies, some sites may display the following page:</div>
<p><img src="http://www.os.com/wp-content/uploads/2008/07/071808-1500-cloningorre1.png" alt="Error encountered with corrupt default.aspx" /></p>
<p>This problem can be fixed by copying the &#8220;Default.aspx&#8221; page from a working site (in the same web app) to the root of the non-working site.  This is accomplished through the &#8220;Manage Content and Structure&#8221; page of the web app.  You must first delete the corrupted &#8220;Default.aspx&#8221; page before copying in the &#8220;good&#8221; page.</li>
<li>Please be aware that any links in the source app that are entered with the FQDN, will retain that FQDN when the site is exported/imported.  This could allow the accidental editing of the source application&#8217;s data from the target application.  The user will click the link thinking they are accessing the page on the duplicate server when they are actually redirected to the source server.
<p>To correct this issue, the source server should be carefully edited to replace all FQDN links with relative URLs prior to export.  Go to the navigation page of the effected site and remove the leading host header.  For example:  change &#8220;http://targetapp.mydomain.com/site1/Default.aspx&#8221; to &#8220;/site1/Default.aspx.&#8221;  This ensures the link is directed to the local site and not the original site.  This issue is primarily of concern to user created links.  SharePoint created links are always relative URLs.</li>
<li>Custom header icons at the root of the sites may not be active even though they are imported into the web app.  Correct this from the &#8220;Title Description and Icon&#8221; page of each effected site.  Simply remove the reference to the default SharePoint icon and save.</li>
</ol>
<p style="36pt">
]]></content:encoded>
			<wfw:commentRss>http://www.os.com/blog/cloning-or-renaming-a-moss-web-application/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Microsoft Sharepoint Updates Released</title>
		<link>http://www.os.com/blog/microsoft-sharepoint-updates-released/</link>
		<comments>http://www.os.com/blog/microsoft-sharepoint-updates-released/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 14:16:53 +0000</pubDate>
		<dc:creator>Craig Shrimpton</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[MOSS 2007]]></category>
		<category><![CDATA[patches]]></category>
		<category><![CDATA[Sharepoint 2007]]></category>

		<guid isPermaLink="false">http://www.os.com/?p=15</guid>
		<description><![CDATA[Microsoft has just released updates to both Sharepoint 2007 and Windows Sharepoint Services 3.0.  The update addresses several performance and scalability issues as well as adding new search features such as federated search and a unified search admin dashboard. Microsoft recommends applying these fixes as soon as possible. You can find the patches at: 32 [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft has just released updates to both Sharepoint 2007 and Windows Sharepoint Services 3.0.  The update addresses several performance and scalability issues as well as adding new search features such as federated search and a unified search admin dashboard.</p>
<p>Microsoft recommends applying these fixes as soon as possible.</p>
<p>You can find the patches at:</p>
<p><strong>32 bit</strong></p>
<p><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=3811C371-0E83-47C8-976B-0B7F26A3B3C4&amp;displaylang=en">Infrastructure  Update for Microsoft Office Servers (KB951297)</a></p>
<p><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=256CE3C3-6A42-4953-8E1B-E0BF27FD465B&amp;displaylang=en">Infrastructure  Update for Windows SharePoint Services 3.0 (KB951695)</a></p>
<p><strong>64 bit</strong></p>
<p><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=6E4F31AB-AF25-47DF-9BF1-423E248FA6FC&amp;displaylang=en">Infrastructure  Update for Microsoft Office Servers (KB951297)</a></p>
<p><strong></strong></p>
<p><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=3A74E566-CB4A-4DB9-851C-E3FBBE5E6D6E&amp;displaylang=en">Infrastructure  Update for Windows SharePoint Services 3.0 (KB951695)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.os.com/blog/microsoft-sharepoint-updates-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ticket expirations as a cause of Kerberos authentication failures</title>
		<link>http://www.os.com/blog/ticket-expirations-as-a-cause-of-kerberos-authentication-failures/</link>
		<comments>http://www.os.com/blog/ticket-expirations-as-a-cause-of-kerberos-authentication-failures/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 12:42:24 +0000</pubDate>
		<dc:creator>Craig Shrimpton</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[double-hop]]></category>
		<category><![CDATA[kerberos]]></category>
		<category><![CDATA[MOSS]]></category>
		<category><![CDATA[NTLM]]></category>

		<guid isPermaLink="false">http://www.os.com/?p=13</guid>
		<description><![CDATA[In Eric Eaton’s post, How do I make our SharePoint site stop asking me to login? – Part II, he discusses several issues that prevent pass-through authentication from SharePoint to Active Directory. While browser settings are a common source of authentication problems, in this post, I’d like to discuss an interesting credential issue related to [...]]]></description>
			<content:encoded><![CDATA[<p>In Eric Eaton’s post, <a href="http://sharepointsolutions.blogspot.com/2008/06/how-do-i-make-our-sharepoint-site-stop_17.html">How do I make our SharePoint site stop asking me to login? – Part II</a>, he discusses several issues that prevent pass-through authentication from SharePoint to Active Directory.   While browser settings are a common source of authentication problems, in this post, I’d like to discuss an interesting credential issue related to Kerberos ticket expirations.</p>
<p><span id="more-13"></span></p>
<p>Recently we experienced a rash of authentication issues when some users accessed a custom SharePoint web part that retrieves data from a MOSS farm hosted at a remote site.  Although the target farm is in the same Active Directory (AD) domain as the source farm, this type of credential passing between IIS servers will introduce the “<a href="http://www.os.com/?p=10">double-hop</a>“ issue if the default Windows authentication method is set to NTLM.  When a user accesses an IIS server in farm “A” and that server needs to pass the users credentials to an IIS server in farm “B,” authentication will fail unless the mechanism used is Kerberos.  It doesn’t matter that both farms are in the same AD domain, only Kerberos will successfully avoid the “double-hop” issue.</p>
<p>In order for Kerberos to successfully pass credentials between IIS servers in different farms, both farms must be configured for negotiated authentication and have direct access to the same key distribution server (KDC).  This means, both farms must either be in the same domain, or have a trust between domains.  Kerberos doesn’t operate across un-trusted domains.</p>
<p>Knowing these requirements, we configured each MOSS farm for negotiated authentication and after solving several issues configuring Service Principal Names (SPNs) that I will discuss in a future post, we finally got our new custom web part working.  After a couple of weeks, however, the help desk began to receive reports from several users that the web part was failing with authentication errors.  Not finding anything wrong with the user’s profile or server permissions, the help desk issued its standard “reboot and try again” remedy when encountering unknown gremlins.  This always seemed to fix the problem, at least temporarily.  Unfortunately, after about a week, the support calls returned and it was usually the same users.  That’s when I was put on the case.</p>
<p>Knowing this was an authentication issue and the authentication method was Kerberos, I grabbed my trusty kerbtray.exe and headed over to the user’s PC.  It didn’t take long to figure out what was going on.  Just looking at the Kerbtray icon in the system tray told me all I needed to know, “Kerberos – no credentials.”</p>
<p>“Do you logoff your PC when you leave the office?” I asked.  “No” came the reply.  “Do you ever logoff your PC?” I followed.  “Well, only when it locks up or crashes” answered the now puzzled user.  Finally, sounding somewhat like an irritated cop, I quipped “Well, there’s your problem, you’ve let all your Kerberos tickets expire.”</p>
<p>In some environments where applications are configured solely for Kerberos authentication, this may be a common problem.  Contrary to what the Windows dialog box indicates when you issue the Ctl+Alt+Del, Windows doesn’t really have a log on / log off routine in the classic sense like say, a Unix shell.  Instead you are granted access to resources until you either invalidate that access, or in the case of Kerberos, your tickets expire.  This is what was happening to our users who were perpetually “logged in.”</p>
<p>With Kerberos authentication, when a user requests data from a remote server, that user’s PC will send a request for a session key to the local domain’s key distribution center (KDC).  The KDC prepares two copies of the session key that both client and server will use for the authentication process.  The client’s session key is encrypted with the client’s long-term key and the server’s session key is encrypted with the server’s long-term key.  The long term key is derived from the user’s password.</p>
<p>The KDC then encrypts the client’s session key with the key it shares with the KDC.  It also encrypts the server’s copy of the session key, along with the authentication data for the client with the key the KDC shares with the server.  This packet then becomes the session ticket.   Both the client’s session key and the server’s session ticket are then forwarded to the client PC.</p>
<p>When the client is ready to communicate with the server, the client decrypts its copy of the session key and uses it to encrypt an authenticator packet.  The authenticator, along with the session ticket is forwarded to the target server.  The authenticator and the session ticket now become the client’s credentials for access to the server.  The server decrypts the session ticket, extracts its session key and decrypts the authenticator.  If the authenticator decryption is successful, the server will allow access to the requested resource.  If mutual authentication is required, the server will use the session key to encrypt a timestamp which it returns to the client.  If the client is able to decrypt the timestamp and the time is within the configured limits, the client will know it is communicating with the proper server.  For a more detailed explanation of the workings of Kerberos, see: <a href="http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/distrib/dscd_aun_yfet.mspx?mfr=true">http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/distrib/dscd_aun_yfet.mspx?mfr=true</a></p>
<p>Why did this problem only manifest itself with the custom SharePoint web part?  Because all the other applications the user was using, such as Exchange, SharePoint, Windows file and print services, all fell back to the default NTLM authentication, which doesn’t expire until the user logs off the session.  Only the application, which in this case was a web part, would fail when the Kerberos ticket expired.   Interestingly, this NTLM fallback will occur even when the initial authentication was Kerberos.</p>
<p>In our environment, the tickets are valid for 10 hours and will automatically renew for 7 days.  If the user doesn’t re-authenticate within the 7 day period, the tickets will no longer automatically renew and will expire and access to the Kerberos enabled service will fail.</p>
<p>The moral of the story is when depending on Kerberos for an application that has no NTLM fallback, make sure your users logout and login at least once per week.  Actually, they should logout or lock their PCs whenever they leave them unattended.   That’s just good security practice.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.os.com/blog/ticket-expirations-as-a-cause-of-kerberos-authentication-failures/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Short Explanation of the Double-Hop Issue in SharePoint</title>
		<link>http://www.os.com/blog/a-short-explanation-of-the-double-hop-issue-in-sharepoint/</link>
		<comments>http://www.os.com/blog/a-short-explanation-of-the-double-hop-issue-in-sharepoint/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 19:45:25 +0000</pubDate>
		<dc:creator>Craig Shrimpton</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[double-hop]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[kerberos]]></category>

		<guid isPermaLink="false">http://www.os.com/?p=10</guid>
		<description><![CDATA[The double-hop issue in SharePoint occurs when IIS attempts to pass the user’s NTLM credentials to a service that is running on a server that is either not part of the requesting server’s farm, or not running directly on the web server. A good example of this is a web part that requests data from [...]]]></description>
			<content:encoded><![CDATA[<p>The double-hop issue in SharePoint occurs when IIS attempts to pass the user’s NTLM credentials to a service that is running on a server that is either not part of the requesting server’s farm, or not running directly on the web server. A good example of this is a web part that requests data from a SQL server that is not part of the MOSS farm and that SQL server requires the credentials of the user making the request. This type of authentication request is disallowed in .NET. As NTLM authenticates only the client and not the server, there would be no way for the end user to know if their credentials were passed to a valid service. If Microsoft Windows authentication allowed this, a web server could collect user credentials and pass them around at will. This would be a very poor security model. Fortunately, Kerberos authentication provides a workaround for this, but it requires a little more configuration effort.</p>
<p><span id="more-10"></span></p>
<p>Kerberos, while somewhat tricky to configure, will solve the double hop issue as it allows for impersonation and delgation.  In addition, it can authenticate both the client and the server.  Authenticating both parties of the transaction ensures the requests are directed only to those servers and services the end user trusts. However, this feature is not active by default. You must allow the service accounts running on the web server to use impersonation by activating the trust for delegation settings for both the service account and server in “Active Directory Users and Computers.” A full tutorial on implementing Kerberos in a SharePoint environment is in an upcoming post.</p>
<p><!--adsense--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.os.com/blog/a-short-explanation-of-the-double-hop-issue-in-sharepoint/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.490 seconds -->
