<?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>Malcolm Gin's SharePoint and .NET Tips</title>
	<atom:link href="http://www.malcolmgin.com/msblog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.malcolmgin.com/msblog</link>
	<description>This blog'll have to do.</description>
	<lastBuildDate>Mon, 12 Sep 2011 12:12:04 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>OSX Lion, Parallels 6 Windows 7 SP1 and VMware View 3.1</title>
		<link>http://www.malcolmgin.com/msblog/?p=187</link>
		<comments>http://www.malcolmgin.com/msblog/?p=187#comments</comments>
		<pubDate>Mon, 12 Sep 2011 12:12:04 +0000</pubDate>
		<dc:creator>Malcolm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.malcolmgin.com/msblog/?p=187</guid>
		<description><![CDATA[Struggled a little with this combination of products: Getting VMware View 3.1 running on Windows 7 SP1 in Parallels 6 on OSX Lion. I was able to install the VMware View 3.1 client by connecting to the SSL View host &#8230;<p class="read-more"><a href="http://www.malcolmgin.com/msblog/?p=187">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>Struggled a little with this combination of products:</p>
<p>Getting VMware View 3.1 running on Windows 7 SP1 in Parallels 6 on OSX Lion.</p>
<p>I was able to install the VMware View 3.1 client by connecting to the SSL View host at work, but when connecting to my desktops (after providing credentials), I got this error:</p>
<blockquote><p>The View Connection Server authentication failed. The SSL initialization while connecting to server &#8216;https://(elided):443&#8242; failed.</p></blockquote>
<p><a href="http://www.malcolmgin.com/msblog/wp-content/uploads/2011/09/VMware_View_Client_SSL_Error.png"><img src="http://www.malcolmgin.com/msblog/wp-content/uploads/2011/09/VMware_View_Client_SSL_Error-300x103.png" alt="VMWare View Client SSL Error" title="VMware_View_Client_SSL_Error" width="300" height="103" class="alignnone size-medium wp-image-190" /></a></p>
<p>I noodled around with the usual suspects for network, SSL and tunneling settings:</p>
<ul>
<li>Firewall settings.</li>
<li>Network settings.</li>
<li>Antivirus settings.</li>
<li>Parallels general settings (esp. Network and security)</li>
</ul>
<p>No successes.</p>
<p>Finally I tried to change the Parallels Tools and set the Network mode from Shared Network to Bridged Network -> Ethernet.</p>
<p>Here&#8217;s a <a href="http://kb.parallels.com/4948">relevant Parallels KB article</a> (yes, the version is out of date).</p>
<p>Worked like a charm.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.malcolmgin.com/msblog/?feed=rss2&#038;p=187</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maintenance and Hacking</title>
		<link>http://www.malcolmgin.com/msblog/?p=181</link>
		<comments>http://www.malcolmgin.com/msblog/?p=181#comments</comments>
		<pubDate>Tue, 05 Jul 2011 15:59:27 +0000</pubDate>
		<dc:creator>Malcolm</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.malcolmgin.com/msblog/?p=181</guid>
		<description><![CDATA[I have been keeping this blog updated and so on, but not quickly enough &#8211; a script kiddie hacked this blog as well as my personal one. I&#8217;ve written extensively about the hack and my recovery of my blogs from &#8230;<p class="read-more"><a href="http://www.malcolmgin.com/msblog/?p=181">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>I have been keeping this blog updated and so on, but not quickly enough &#8211; a script kiddie hacked this blog as well as my <a href="http://www.malcolmgin.com/blog">personal one</a>. I&#8217;ve written extensively about the hack and my recovery of my blogs from it:</p>
<ul>
<li><a href="http://www.malcolmgin.com/blog/2011/06/30/details-of-hack/">Details of Hack</a> focuses on the actual details of the hack, including some e-mails exchanged with the hacker in question and some initial steps at remediation (both on my personal blog and this one).</li>
<li><a href="http://www.malcolmgin.com/blog/2011/07/02/rebuilding/">Rebuilding</a> covers the majority of the work I did to rebuild, recover and secure both of these blogs post-hack.</li>
<li><a href="http://www.malcolmgin.com/blog/2011/07/03/recovered/">Recovered</a> is just a sum-up. The fact that I added more stuff to Rebuilding, above, after posting Recovered should be of little consequence. Pay no attention to the man behind the curtain.</li>
</ul>
<p>Only time will tell whether I have enough utz to keep updating this blog too as work provides me more information/insights/knowledge.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.malcolmgin.com/msblog/?feed=rss2&#038;p=181</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Server Connection Error 18452 Caused by &#8220;User must change password at next login&#8221; setting</title>
		<link>http://www.malcolmgin.com/msblog/?p=177</link>
		<comments>http://www.malcolmgin.com/msblog/?p=177#comments</comments>
		<pubDate>Tue, 17 Aug 2010 18:48:54 +0000</pubDate>
		<dc:creator>Malcolm</dc:creator>
				<category><![CDATA[SQL Server 2005]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Windows Server 2003]]></category>

		<guid isPermaLink="false">http://www.malcolmgin.com/msblog/?p=177</guid>
		<description><![CDATA[Situation: In an isolated dev environment set up to enable Kerberos in SharePoint 2007 and SQL Server 2005, a single VM Server for the DC, one for the SQL Server and one for the SharePoint Web Front End, developers were &#8230;<p class="read-more"><a href="http://www.malcolmgin.com/msblog/?p=177">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>Situation:</p>
<ul>
<li>In an isolated dev environment set up to enable Kerberos in SharePoint 2007 and SQL Server 2005, a single VM Server for the DC, one for the SQL Server and one for the SharePoint Web Front End, developers were unable to create custom databases in the SQL Server instance and use SQL Server local logins to connect to those databases with ODBC.</li>
<li>Tests with generic UDL shortcuts (ODBC) failed with the error &#8220;Login failed for user &#8220;&lt;username&gt;&#8221;. The user is not associated with a trusted SQL Server connection.&#8221; upon clicking &#8220;Test Connection&#8221; button.</li>
</ul>
<p>Carried out the following tests:</p>
<ul>
<li>Made sure we had the right password for the testing account. If needed, can change passwords <a href="http://blog.sqlauthority.com/2007/04/14/sql-server-fix-error-18452-login-failed-for-user-null-the-user-is-not-associated-with-a-trusted-sql-server-connection/">this way</a>.</li>
<li>Made sure that the Database instance was <a href="http://blog.sqlauthority.com/2008/11/02/sql-server-fix-error-login-failed-for-user-username-the-user-is-not-associated-with-a-trusted-sql-server-connection/">set to support both SQL Server and Windows Integrated Authentication</a> (this is what the majority of Google hits for this problem suggested).</li>
<li>Checked some Registry settings:
<ul>
<li><a href="http://support.microsoft.com/kb/285097">LoginMode</a></li>
</ul>
</li>
<li>Made sure that SQL @@servername was correct (<strong>select @@servername</strong> executed as a query helps with this. Google can help provide more details).</li>
<li>Checked SQL Logs for more information (found Error 18452 after each connection failure)</li>
<li>The term &#8220;trusted connection&#8221; suggested that the issue might be with Kerberos even though we were using local accounts, so I also checked for the &#8220;Integrated Security&#8221; connection string value <a href="http://social.msdn.microsoft.com/forums/en/sqlsecurity/thread/48ee6a1b-9aad-48a6-90e4-b8f4b93d0107">per discussion here</a>.</li>
<li>Finally went through the UDL shortcut configuration again, and found an interesting phenomenon. If you click the &#8220;Test Connection&#8221; button you get the generic trusted connection error. But, if you click the drop-down list for selecting the database you want to connect to, you get a very applicable error message.</li>
</ul>
<p>The fix for this problem is to go back into the SQL Server Management Studio, edit the properties for the local user and first enable &#8220;Enforce Password Policy&#8221; for the user, THEN uncheck all of the options including &#8220;Enforce password expiration&#8221; AND &#8220;User must change password at next login&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.malcolmgin.com/msblog/?feed=rss2&#038;p=177</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Memory Parity Error, BSOD and Forefront Client Security</title>
		<link>http://www.malcolmgin.com/msblog/?p=171</link>
		<comments>http://www.malcolmgin.com/msblog/?p=171#comments</comments>
		<pubDate>Mon, 07 Jun 2010 11:45:30 +0000</pubDate>
		<dc:creator>Malcolm</dc:creator>
				<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[Operations]]></category>
		<category><![CDATA[Patches, Hotfixes & Updates]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://www.malcolmgin.com/msblog/?p=171</guid>
		<description><![CDATA[This fix apparently worked for me and one co-worker. We have HP xw4600 Workstations with pretty high performance specs. 8 GB RAM, 1.2 TB HDD, Quad core 2.5 GHz Intel Core2 CPUs, Windows 7. For the longest time we would &#8230;<p class="read-more"><a href="http://www.malcolmgin.com/msblog/?p=171">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>This fix apparently worked for me and one co-worker.</p>
<p><span id="more-171"></span>We have HP xw4600 Workstations with pretty high performance specs. 8 GB RAM, 1.2 TB HDD, Quad core 2.5 GHz Intel Core2 CPUs, Windows 7.</p>
<p>For the longest time we would get intermittent BSODs (blue screens of death), either while actively working or while the computer sat idle, with the following error message:</p>
<p style="padding-left: 30px;">***Hardware Malfunction<br />
Call your hardware vendor for support<br />
NMI:  Parity Check/Memory Parity Error</p>
<p style="padding-left: 30px;">***The system has halted***</p>
<p><em></em>We did days of diagnostics, running the HP system diagnostics over and over again, looking at the Web for information that might help, looking for updated drivers, etc.</p>
<p>In the end, it came down to some conflict my system was having with Forefront Client Security. I replaced it with a copy of AVG Antivirus and now the system seems stable. I let it idle over the weekend to be sure and will keep an eye on it anyhow, but I am hoping, knock on wood, that the system is finally stable.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.malcolmgin.com/msblog/?feed=rss2&#038;p=171</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting WebDAV to work for Windows Network Providers against SharePoint 2007</title>
		<link>http://www.malcolmgin.com/msblog/?p=164</link>
		<comments>http://www.malcolmgin.com/msblog/?p=164#comments</comments>
		<pubDate>Wed, 22 Apr 2009 14:01:19 +0000</pubDate>
		<dc:creator>Malcolm</dc:creator>
				<category><![CDATA[Drive Mapping]]></category>
		<category><![CDATA[Microsoft Office SharePoint Server 2007]]></category>
		<category><![CDATA[Operations]]></category>
		<category><![CDATA[SQL Server 2005]]></category>
		<category><![CDATA[WebDAV]]></category>
		<category><![CDATA[Windows Server 2003]]></category>
		<category><![CDATA[Windows SharePoint Services 2007]]></category>
		<category><![CDATA[Windows XP Professional]]></category>

		<guid isPermaLink="false">http://www.malcolmgin.com/msblog/?p=164</guid>
		<description><![CDATA[The picture is not entirely complete here, but I made a lot of progress with this as an open (now closed) troubleshooting ticket with Microsoft. The short summary is that using a Microsoft whitepaper (linked to below), I could get &#8230;<p class="read-more"><a href="http://www.malcolmgin.com/msblog/?p=164">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>The picture is not entirely complete here, but I made a lot of progress with this as an open (now closed) troubleshooting ticket with Microsoft.</p>
<p>The short summary is that using a Microsoft whitepaper (linked to below), I could get Windows XP SP2 workstations to work properly opening an Explorer View to a SharePoint 2007 farm&#8217;s document library, I had a bunch of other problems to surmount when trying to get a Windows Server 2003 SP2 system to do the same. The rest of this post is about other methods for troubleshooting and fixing the situation.</p>
<p><span id="more-164"></span>Situation:</p>
<ul>
<li>SharePoint Server in EXTDOMAIN (our extranet domain) named sharepointbi.mycompany.net (MOSS 2007 running on Windows Server 2003 x64 SP2)</li>
<li>SQL Server cluster node (SQL Server 2005 active node running on Windows Server 2003 x64 SP2 &#8211; named: sqlolap.mycompany.net)Â  running an ETL job finishes up by attempting to use xcopy from a filesystem share to a document library at http://sharepointbi.mycompany.net/site/dl/ (UNC path: \\sharepointbi.mycompany.net\site\dl\) using WebDAV.</li>
<li>Various Windows XP SP2 workstations (e.g. named: mcy20m68f.mycompany.com &#8211; yes, in another domain) also mapped a drive or file copy operation via WebDEV to \\sharepointbi.mycompany.net\site\dl\</li>
<li>xcopy/share mapping operations from the SQL Server seemingly worked for a couple of days and then consistently failed.</li>
<li>xcopy/share mapping operations from the Windows XP SP2 worksations mostly worked.</li>
</ul>
<p>Troubleshooting:</p>
<p>We spent a day or so under the mistaken impression that the network protocol at issue was SMB. It&#8217;s not. When you&#8217;re talking about SharePoint, you&#8217;re talking about WebDAV or possibly Web Folders (but only if you install an add-on) for file system-like operations against its resources. Generally when you&#8217;re using a UNC path that uses a SharePoint-hosted resource as a file system-like resource, your computer is accessing SharePoint via WebDAV.</p>
<p>It took some time to establish that the <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=c523ac7a-5724-48be-b973-641e805588f4">Understanding and Troubleshooting SharePoint Explorer View whitepaper</a> DOES apply to SharePoint 2007 (the publication date sort of indicated it might not), but I guess the WebDAV infrastructure of the SharePoint product line hasn&#8217;t changed substantially since SharePoint 2003. I don&#8217;t know for sure, but this seems like a logical guess.</p>
<p>After I went through that whitepaper and applied it to both the problem SQL Server we were working with and the recalcitrant (not always connecting immediately on the first try) workstations, I got all the workstations working properly. In some cases, what in the whitepaper looks like an optional setting &#8211; e.g. like putting the target SharePoint server in your Trusted Sites in your Internet Options to avoid getting prompted for login &#8211; was vital. Some machines seem not to automatically provide credentials during the WebDAV connection and the connection fails.</p>
<p>This still left the SQL Cluster node (Windows Server 2003 SP2 machine), which was still consistently failing. The final fix ended up being a mixture of things found and not found in the whitepaper I linked to above:</p>
<p><strong>Server settings (one time settings for the box):</strong></p>
<ul>
<li>Hosts file entry.<br />
In our case the SharePoint Farm and our network configuration channels and redirects regular traffic going through a front end load balancer through SSL. The load balancer chooses among several web front ends for incoming traffic. WebDAV doesn&#8217;t support any port other than port 80. The hosts file entry points the client machine (sqlolap.mycompany.net) to a particular web front end server in the SharePoint farm directly, via its accessible back-end port, avoiding the SSL redirect and the load balancing.<br />
Example: The back-end NIC for your chosen WFE in the farm has an IP address of 10.3.1.100 and the URL to the resource you&#8217;re trying to map is http://sharepointbi.mycompany.net/site/dl/. Your hosts file entry on the client machine attempting the WebDAV connection should look like this:<br />
<strong>10.3.1.100Â Â Â Â  sharepointbi.mycompany.net</strong></li>
<li>Verify that the Web Client service is running properly on the client system. It should have an Automatic startup and be Started in the Services display for the server.<br />
Also note that if you are running Windows Server 2008, you&#8217;ll also need to install the Desktop Experience Feature on your system or the Web Client service won&#8217;t be available for you to start or stop.</li>
<li>Change the order of Network Providers for the system so that the &#8220;Web Client Network&#8221; provider is at the top instead of the bottom of the list.<br />
This was necessary because for some reason the server that was acting as the client in our setup would have its SMB negotiations fail and simply wouldn&#8217;t fail down to the Web Client Network provider like it was supposed to. Microsoft support and I were not able to determine why. It&#8217;s an open question whether this makes anything else break and my Microsoft resources are looking into it. I&#8217;ll update here if anything&#8217;s found.<br />
Anyhow, you make this change by opening up the client&#8217;s Network Connections dialogue in Control Panel. From there, go to the Advanced drop down menu and choose Advanced Settings&#8230; This pops up a dialogue where you can choose the Provider Order tab. There you can move the Web Client Network provider up to the top of the Network Providers list.</li>
</ul>
<p><strong>User Profile settings (Internet Options settings that carry with each user profile):</strong></p>
<ul>
<li>Disable the proxy or set an exception to proxying for the target SharePoint Server (though we had less consistent luck with this).</li>
<li>Add the target SharePoint Server to the Trusted Sites group in the Security Tab. Uncheck the &#8220;Require server verification (https:) for all sites in this zone&#8221; checkbox since you won&#8217;t be using port 443. During troubleshooting I put two entries in here:
<ul>
<li>http://sharepointbi.mycompany.net</li>
<li>sharepointbi.mycompany.net</li>
</ul>
</li>
<li>Check the Security level for the Trusted sites zone. You can set it to Default Level (which s/b Low for this content zone), which should work, but the seminal setting in the whole thing was the User Authentication setting at the end of Security Settings for the Trusted zone, which should be &#8220;Automatic logon with the current username and password&#8221;.</li>
</ul>
<p><strong>Next steps:</strong></p>
<ul>
<li>Verify that your WebDAV connection is working. You should be able to do this with any windows operation that allows you to open the SharePoint document library as a filesystem resource. My favorite methods were:
<ul>
<li>Windows Explorer<br />
Just open up Windows Explorer and sock the SharePoint document library as a UNC path typed into the Location bar. (e.g. \\sharepointbi.mycompany.net\site\dl\)<br />
I found that even with the site in Trusted sites and Authentication set to always logon with current credentials, the Server 2003 client prompted me for manual entry of credentials anyway.</li>
<li>net use<br />
Use net use to map a drive with the UNC path (\\sharepointbi.mycompany.net\site\dl\).<br />
e.g.: net use * \\sharepointbi.mycompany.net\site\dl\<br />
Then remove same by drive letter (e.g. if the letter your system assigns is Z:):<br />
net use z: /delete</li>
<li>xcopy<br />
Use xcopy to copy a file from the UNC path (\\sharepointbi.mycompany.net\site\dl\) to some temporary folder. Verify that the file copies and you know WebDAV is working.<br />
e.g. xcopy \\sharepointbi.mycompany.net\site\dl\test.txt .</li>
</ul>
</li>
<li>Make sure that changing the Network Provider order isn&#8217;t doing any long term damage. Will update this if I get word from my Microsoft support folks.</li>
<li>Test the inclusion of the <a href="http://support.microsoft.com/kb/907306">Web Folders add-on</a> (KB 907306) that Microsoft suggested on that client machine.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.malcolmgin.com/msblog/?feed=rss2&#038;p=164</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kerberos and SharePoint 2007 notes</title>
		<link>http://www.malcolmgin.com/msblog/?p=158</link>
		<comments>http://www.malcolmgin.com/msblog/?p=158#comments</comments>
		<pubDate>Wed, 14 Jan 2009 15:49:44 +0000</pubDate>
		<dc:creator>Malcolm</dc:creator>
				<category><![CDATA[Computer Security]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Microsoft Office SharePoint Server 2007]]></category>
		<category><![CDATA[Patches, Hotfixes & Updates]]></category>
		<category><![CDATA[Shared Services Provider]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Windows Server 2003]]></category>
		<category><![CDATA[Windows SharePoint Services 2007]]></category>

		<guid isPermaLink="false">http://www.malcolmgin.com/msblog/?p=158</guid>
		<description><![CDATA[Recently we had cause to do a whole lot of research ourselves and end up calling Microsoft to get our implementation vetted and troubleshot (it was not working - all or almost all connections that should have been Kerberos connections were degrading back to NTLM.

Here are the salient notes and facts about troubleshooting and achieving the ultimate goal (having Kerberos working with our systems).<p class="read-more"><a href="http://www.malcolmgin.com/msblog/?p=158">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>Recently we had cause to do a whole lot of research ourselves and end up calling Microsoft to get our implementation vetted and troubleshot (it was not working &#8211; all or almost all connections that should have been Kerberos connections were degrading back to NTLM).</p>
<p>Here are the salient notes and <a href="http://www.chucknorrisfacts.com/">facts</a> about troubleshooting and achieving the ultimate goal (having Kerberos working with our systems).</p>
<ul>
<li><span id="more-158"></span>The most detail-oriented troubleshooting involves use of Microsoft&#8217;s <a href="http://www.microsoft.com/downloads/details.aspx?familyid=f4db40af-1e08-4a21-a26b-ec2f4dc4190d&amp;displaylang=en">NetMon</a> (apparently the new version is pretty sweet) or <a href="http://www.wireshark.org/">Wireshark</a>. We used Wireshark. This captures all the network traffic your workstation or server is exposed to during the recording period. You can filter the network transactions according to protocol, port, originating and destination IP addresses, etc. It also lets you inspect HTTP packets and other protocols it knows how to decode.</li>
<li>If you are following the TCP stream (right-click on an HTTPÂ  TCP packet in the capture and choose &#8220;Follow TCP Stream&#8221;), what you are looking for are GET requests that include an Authentication or WWW-Authenticate header field. Further, in there, what you are looking for is a string that starts with &#8220;Negotiate: &#8221; and is then followed with a semi-random string. If the string is a Kerberos string, it starts with the letter &#8220;Y&#8221;, and can be quite long (~1 page or window full of gibberish). That&#8217;s the packet where your client presents a Kerberos ticket to the server. Follow up troubleshooting from that point. If the server responds with a 401 (unauthorized), your client will start degrading the authentication, which means Kerberos is screwed up somehow for you. Other Negotiate strings can start with &#8220;T|RM&#8221; or &#8220;o&#8221;, etc.</li>
<li>You&#8217;ll also find Kerbtray helpful. This is part of the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&amp;displaylang=en">Windows Server 2003 Resource Kit</a>. Run it in the systray of the client/server you&#8217;re troubleshooting. This will tell you if the machine it&#8217;s running on (and the user account that&#8217;s current logged in) have any Kerberos tickets, and when they were granted. Unfortunately it doesn&#8217;t look like Kerbtray will show any tickets granted to any other accounts running via &#8220;Run As&#8230;&#8221; in your login session.</li>
<li>Other tools that are useful: Active Directory Users and Computers (part of normal Windows 2003 administrative tools under program files for any Admin account you log into) &#8211; You&#8217;ll need sufficient rights to see the servicePrincipalName property on various accounts (service accounts, application pool IDs).</li>
<li>Another: <a href="http://technet.microsoft.com/en-us/library/cc773354.aspx">ADSI Edit</a>, which is part of the Windows Server 2003 SP2 support tools, is a customized LDAP Browser which gives you another window into the AD and another way to look at service accounts. This is another way of getting to similar information that you can find in ADUC, above.</li>
<li>Another: <a href="http://technet.microsoft.com/en-us/library/cc773257.aspx">SetSPN</a>, which you use on the command line to add SPNs to accounts and to list SPNs already assigned to accounts. Depending on how well or inconsistently your AD reflects your LDAP organization (of the same data), you may find you need to find the Distinguished Path (the string with all the CN= and OU= values) for your AD Object with a &#8220;setspn -l&#8221; command on the object and then find the object in LDAP with ADSI Edit based on the path output by &#8220;setspn -l&#8221;.</li>
<li>Kerberos related activity in the IIS logs appear to be timestamped in UTC. Don&#8217;t freak out if that&#8217;s several hours in advance of your local timezone. Kerberos probably isn&#8217;t screwed up due to timesync errors.</li>
<li>Another way of looking for Kerberos-authenticated sessions is by looking at your (Web Front End) server&#8217;s Security Events Log. Open it via the Event Viewer. You are looking for a Success event, number 540, where the User is the user you&#8217;re troubleshooting. If the session achieved a valid Kerberos login, the Logon Process in the Event Description should read &#8220;Kerberos&#8221; and the Authentication Package should also read &#8220;Kerberos&#8221;. Logon Type is probably 3. If the Logon Process and Authentication Package read &#8220;Negotiate&#8221; or &#8220;NTLM&#8221; instead, your Kerberos is probably not working. If you have more than one Web Front End that are load balanced, be sure to check all of them for the user you&#8217;re troubleshooting.</li>
<li>Proper Kerberos setup is almost all about the SPN. If you are lost about what SPNs you should be using, you might want to look at the Excel worksheet that SharePoint from Scratch <a href="http://www.sharepointblogs.com/spfromscratch/archive/2008/08/29/keberos-spn-command-calculator.aspx">published</a> (down as I write this post up &#8211; drop me a note and I can send you the one I did up myself).</li>
<li>If your domain&#8217;s FQDN is domain.local and you have a web application with an FQDN in that domain of host.subdomain.domain.local, your SPNs may have to include:<br />
- HTTP/host.subdomain.domain.local<br />
- HTTP/host.subdomain<br />
- HTTP/host<br />
all set to the service account that runs the Application Pool for that web application. What&#8217;s at issue is whether the &#8220;host.subdomain&#8221; or simply the &#8220;host&#8221; SPN is the proper one in that context for the short SPN name. I&#8217;ll update this if I have more information.</li>
<li>The service descriptor listed if you use &#8220;setspn -l&#8221; on a service account is sometimes capitalized and sometimes lower-case (i.e. the SPN is sometimes listed as &#8220;http/host.subdomain.domain.local&#8221; and sometimese as &#8220;HTTP/host.subdomain.domain.local&#8221;). It depends on how the SPN was created, and who created it. According to Microsoft IIS support, the capitalization does not matter, but the convention is to capitalize it.</li>
<li>You may find SPNs missing for application servers. If you do a &#8220;setspn -l&#8221; on a server object in the active directory (e.g. &#8220;setspn -l domain\host$&#8221;) and you get no SPNs returned, you probably neet to use &#8220;setspn -a&#8221; on that object (with a domain admin account running the command) to add the FQDN and short name for the host to its SPNs. You may have to set these SPNs from a command shell running on the server in question. For a host whose FQDN in the domain is host.domain.local, the two SPNs that should exist for that host are:<br />
- HOST/host.domain.local (command would be &#8220;setspn -a HOST/host.domain.local domain\host$&#8221;)<br />
- HOST/host (command would be &#8220;setspn -a HOST/host domain\host$&#8221;)</li>
<li>The overall, final fix for almost all of our problems actually laid in applying the hotfix that installs the <a href="http://support.microsoft.com/kb/951297">Microsoft Office Servers Infrastructure Update: July 15, 2008</a>. This was weird especially because the <a href="http://technet.microsoft.com/en-us/library/cc263449.aspx">seminal guide</a> for implementing Kerberos on SharePoint (on TechNet) seems to indicate that you only need this hotfix if you plan to implement Kerberos with your SSP internal farm transactions.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.malcolmgin.com/msblog/?feed=rss2&#038;p=158</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Best Bets and an unhelpful error</title>
		<link>http://www.malcolmgin.com/msblog/?p=155</link>
		<comments>http://www.malcolmgin.com/msblog/?p=155#comments</comments>
		<pubDate>Thu, 08 Jan 2009 18:56:35 +0000</pubDate>
		<dc:creator>Malcolm</dc:creator>
				<category><![CDATA[Microsoft Office SharePoint Server 2007]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Windows Server 2003]]></category>
		<category><![CDATA[Windows SharePoint Services 2003]]></category>

		<guid isPermaLink="false">http://www.malcolmgin.com/msblog/?p=155</guid>
		<description><![CDATA[I don&#8217;t like to do exactly the same blog entry that someone else did, but the other blog entry was from 2007 and I just encountered the problem myself. Thank g-d for Google. Anyhow, if you have a web application &#8230;<p class="read-more"><a href="http://www.malcolmgin.com/msblog/?p=155">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>I don&#8217;t like to do exactly the same blog entry that someone else did, but the <a href="http://nickgrattan.wordpress.com/2007/12/18/error-adding-best-bets-to-search-keywords/">other blog entry</a> was from 2007 and I just encountered the problem myself. Thank g-d for Google.</p>
<p>Anyhow, if you have a web application with no site at the root managed path, adding a best bet to a site collection on some other managed path will pop up a window that says,</p>
<blockquote><p>Error</p>
<p>The search service is currently offline. Visit the Services on Server page in SharePoint Central Administration to verify whether the service is enabled. This might also be because an indexer move is in progress.</p></blockquote>
<p>The way to fix it is to create a site collection at the root managed path. Or probably upgrade to SP1.</p>
<p>Yes, I know the error is completely unhelpful. I found it so as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.malcolmgin.com/msblog/?feed=rss2&#038;p=155</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generic List View Web Parts missing the View Selector drop-down &#8211; mitigation strategies</title>
		<link>http://www.malcolmgin.com/msblog/?p=139</link>
		<comments>http://www.malcolmgin.com/msblog/?p=139#comments</comments>
		<pubDate>Mon, 29 Dec 2008 21:17:19 +0000</pubDate>
		<dc:creator>Malcolm</dc:creator>
				<category><![CDATA[Microsoft Office SharePoint Server 2007]]></category>
		<category><![CDATA[SharePoint Designer 2007]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Windows SharePoint Services 2007]]></category>

		<guid isPermaLink="false">http://www.malcolmgin.com/msblog/?p=139</guid>
		<description><![CDATA[Had a user who accidentally (I assume, since he seems to think it&#8217;s because ofÂ  an operation I did well before that that was unrelated &#8211; see previous post) deleted the automatically created List View Web Part in the AllItems.aspx &#8230;<p class="read-more"><a href="http://www.malcolmgin.com/msblog/?p=139">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>Had a user who accidentally (I assume, since he seems to think it&#8217;s because ofÂ  an operation I did well before that that was unrelated &#8211; see previous post) deleted the automatically created List View Web Part in the AllItems.aspx page.</p>
<p>Now he wants the full toolbar and the View Selector drop-down.</p>
<p>Well and good, <a href="http://hermansberghem.blogspot.com/2008/11/part-2-view-drop-down-not-showing.html">but how</a>?</p>
<p>I see two possible approaches.</p>
<ol>
<li>If the list is small and customizations relatively few, note the URL of the list and any customizations, save off content. Delete list. Start over, re-upload the content after the recreation. Don&#8217;t forget to create initially with whatever end of the URL you want for the list, then rename after the list is created at that URL.</li>
<li>If the list is larger or customizations greater, do some <a href="http://www.eggheadcafe.com/software/aspnet/29396644/change-view-in-webpart.aspx">fiddling with SharePoint Designer 2007, Datasheet View and XSLT</a>.</li>
<li>There is no third thing.</li>
</ol>
<p>I don&#8217;t see any good ways of doing this in the UI only without just recreating the list entirely.</p>
<p>Anyone else have any good ideas?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.malcolmgin.com/msblog/?feed=rss2&#038;p=139</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MOSS 2007 &#8211; Setting up a Search Center as a subsite to a Team Site-based Site Collection</title>
		<link>http://www.malcolmgin.com/msblog/?p=127</link>
		<comments>http://www.malcolmgin.com/msblog/?p=127#comments</comments>
		<pubDate>Mon, 29 Dec 2008 19:56:24 +0000</pubDate>
		<dc:creator>Malcolm</dc:creator>
				<category><![CDATA[Microsoft Office SharePoint Server 2007]]></category>
		<category><![CDATA[Shared Services Provider]]></category>
		<category><![CDATA[Windows Server 2003]]></category>
		<category><![CDATA[Windows SharePoint Services 2007]]></category>

		<guid isPermaLink="false">http://www.malcolmgin.com/msblog/?p=127</guid>
		<description><![CDATA[Creating a Search Center as a subsite Search Center for a Team Site site collection didn&#8217;t seem to create or properly hook up a People Search Results page within that Search Center for the People Search Scope. Doing a People &#8230;<p class="read-more"><a href="http://www.malcolmgin.com/msblog/?p=127">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>Creating a Search Center as a subsite Search Center for a Team Site site collection didn&#8217;t seem to create or properly hook up a People Search Results page within that Search Center for the People Search Scope. Doing a People search after having ONLY created a Search Center and set the Site Collection to use it for &#8220;richer results&#8221; comes up with an HTTP 404 error on the People Search results page.</p>
<p>Here&#8217;s how to create that full functional pipeline WITHOUT SharePoint Designer (to create the people search results page where SharePoint&#8217;s expecting it to be), thank you very much.</p>
<p>This may help you with defining additional site scopes and dedicated landing pages for their results too, assuming you also have a Search Center deployed.</p>
<p><strong>WARNING:</strong> If you do this, you will end up renaming the Home tab in your horizontal nav bar to whatever your top level site&#8217;s name is, and the only way to get it back (short of SharePoint Designer) will be to disable the Office SharePoint Server Publishing Infrastructure feature at the Site Collection level. This may be okay with you and your users or not, depending on how much tweaking you intend to do through that feature/interface.</p>
<ol>
<li>(Optional) Create Site Collection with Team Site top level site. Do this if you just want to proof it out. Otherwise, if you already have a site collection you want to do this with, start at steps 2 or 3 below, depending on what you&#8217;re starting with.
<ol>
<li>Do this operation in the Application Management tab of Central Administration.</li>
<li>Under the SharePoint Site Management section, click the &#8220;Create site collection&#8221; link and follow the prompts from there.</li>
</ol>
</li>
<li>(Optional) Create Search Center Subsite (w/o Tabs). This assumes you haven&#8217;t already got a Search Center subsite or site collection to work with.
<ol>
<li>Do this operation within the top level site you just created. This may work in other contexts too, but I have not tested those.</li>
<li>Choose the &#8220;Search Center&#8221; option under the Enterprise tab when choosing a site definition.</li>
<li>I chose not to list the subsite in the Quick Launch, but I did choose to list it in horizontal navigation and to use the parent site&#8217;s horizontal navigation. If you choose different settings, know these <em>may</em> affect your site collection&#8217;s behavior.</li>
</ol>
</li>
<li>Assign Search Center as Search Center target for top level site.
<ol>
<li>Do this operation within the top level site you just created.</li>
<li>Go to Site Actions -&gt; Site Settings, then click Search settings under the Site Collection Administration section all the way to the right.</li>
<li>Provide the path starting with the end of the FQDN to the search center&#8217;s simple URL (e.g. if the top level site iat http://example.com/sites/tls/sc, then input /sites/tls/sc into the textbox.</li>
<li>Click OK button.</li>
</ol>
</li>
<li>NOTE: If you&#8217;re starting with the same assumptions I am and you test the People search scope now, you should receive a 404 error, regardless of whether your crawls are working. This indicates the lack of a proper results web part page for the results to go into.</li>
<li>Enable Office SharePoint Server Publishing Infrastructure Feature and Office SharePoint Search Web Parts Feature (not entirely sure this is required) on Site Collection.Â  (Enabling the first feature here will change your Home Tab in horizontal navigation to the Top Level site name.)
<ol>
<li>From top level site, choose Site Actions -&gt; Site Settings.</li>
<li>In Site Collection Administration section, click the &#8220;Site collection features&#8221; link.</li>
<li>Click &#8220;Activate&#8221; button to right of Office SharePoint Server Publishing Infrastructure Feature item.</li>
<li>Click &#8220;Activate&#8221; button to right of Office SharePoint Server Search Web Parts Feature item.</li>
</ol>
</li>
<li>(Optional) If you don&#8217;t want the potentially confusing changes to the Site Actions menu to impact the top level site, immediately disable the Office SharePoint Server Publishing Feature on the top level site.
<ol>
<li>In the top level site, go to Site Actions->Site Settings->Modify All Site Settings.</li>
<li>Under the Site Administration (NOT the Site <em>Collection</em> Administration) section, click the &#8220;Site Features&#8221; link.</li>
<li>Click the &#8220;Deactivate&#8221; button to the right of the Office SharePoint Server Publishing Feature item.</li>
</ol>
</li>
<li>(Optional) Enable Office SharePoint Server Publishing Feature on Search Center Site. You may not have to do this, as it may be auto-enabled when the Site Collection Features are enabled. An easy way to tell whether this feature is activated on a site or subsite is by looking at the Site Actions menu. If it&#8217;s just 2 or 3 items (depending on the page you access it from): Create, sometimes Edit Page, and Site Settings, then you know this feature is not enabled. If instead it&#8217;s a huge menu with multiple fly-out submenus, then you know the feature is already enabled on that site.
<ol>
<li>Go to Search Center site.</li>
<li>Click Site Actions -&gt; Site Settings and in Site Administration section, click Site features link.</li>
<li>Click &#8220;Activate&#8221; button to right of Office SharePoint Server Publishing Feature.</li>
</ol>
</li>
<li>Create new page in Search Center for People Search Results.
<ol>
<li>Click Site Actions -&gt; Create Page</li>
<li>Create a page called peoplesearchresults.aspx. Save it where the dialogue lets you save it. Probably Pages/*.aspx.</li>
<li>Choose the &#8220;(Welcome Page) Blank Web Part Page&#8221; Page Layout.</li>
<li>Click &#8220;Create&#8221; button.</li>
</ol>
</li>
<li>Add appropriate People Search result web parts to new page.
<ol>
<li>On created page, if not already in page edit mode, choose Site Actions -&gt; Edit Page</li>
<li>Add appropriate web parts, put them on the page in appropriate places and modify their web part settings to suit. I chose:
<ul>
<li>Header: People Search Box</li>
<li>Center: Search Statistics, Search Paging [1], Search High Confidence Results, People Search Core Results, Search Paging [2]</li>
<li>Center Right: Search Best Bets</li>
</ul>
</li>
<li>Click Publish button to finalize edits to web part page.</li>
</ol>
</li>
<li>Edit Search Scopes on Site Collection.
<ol>
<li>Go to your top level site.</li>
<li>Choose Site Actions -&gt; Site Settings.</li>
<li>In the Site Collection Administration section, click &#8220;Search scopes&#8221; link.</li>
</ol>
</li>
<li>Copy &#8220;People&#8221; Search Scope (default) to a copy for the Site Collection.
<ol>
<li>Use drop-down menu on &#8220;People&#8221; Search Scope and choose &#8220;Make Copy&#8221;</li>
</ol>
</li>
<li>Edit the &#8220;Copy of People&#8221; Search Scope to set proper results page URL and change name (can&#8217;t just be &#8220;People&#8221; as that name&#8217;s already taken).
<ol>
<li>Use drop-down menu on Copy of People and choose &#8220;Edit Properties&#8221;.</li>
<li>Click &#8220;Change scope settings&#8221; link on next page.</li>
<li>Change Title to something descriptive that isn&#8217;t &#8220;People&#8221;.</li>
<li>Enable or Disable the Display groups you want for this scope.</li>
<li>Specify the target results page you just created. Start relative url at the search center&#8217;s root. So if, for example, the search center is at http://example.com/sites/tls/sc/ and your results page ias at http://example.com/sites/tls/sc/Pages/peoplesearchresults.aspx, use the value &#8220;/Pages/peoplesearchresults.aspx&#8221; in the Target results page textbox.</li>
<li>Click the &#8220;OK&#8221; button.</li>
</ol>
</li>
<li>Remove default &#8220;People&#8221; Search Scope from Site&#8217;s selectable scopes.
<ol>
<li>Go to the Search Scopes settings page in the top level site (Site Actions -&gt; Site Settings -&gt; Site Collection Administration -&gt; Search Scopes)</li>
<li>If you&#8217;re using default Display Groups, you should have &#8220;Search Dropdown&#8221; and &#8220;Advanced Search&#8221;</li>
<li>For each display group click the hyperlinked name of the group in the grey bar, labelled &#8220;Display Group&#8221; (e.g. for Search Dropdown, click the hyperlinked Search Dropdown in the phrase &#8220;Display Group: Search Dropdown (3)&#8221; (or some other number) in the grey title bar just above the list of scopes active for that display group).</li>
<li>In the Edit Scope Display group page, uncheck the Display checkbox to the left of the People scope name.</li>
<li>Click the OK button.</li>
<li>Repeat this for any other applicable Display Group you have in Search Scopes.</li>
</ol>
</li>
<li>Let your crawls happen. The settings you made won&#8217;t be reflected in your sites until after the next crawl. If you have access to the SSP, you can reinitiate crawls to try to rush the process and make it happen immediately.</li>
<li>Retest. Hopefully you&#8217;re all hooked up now.</li>
<li>If everything is hooked up and you don&#8217;t want the publishing infrastructure and you want your Home tab back, you can now disable the Site Collection feature.
<ol>
<li>Go to your top level site. Go to site settings (Site Actions -> Site Settings).</li>
<li>Under the Site Collection Administration section, click the &#8220;Site collection features&#8221; link.</li>
<li>Click the &#8220;Deactivate&#8221; button to the right of the Office SharePoint Server Publishing Infrastructure Feature.</li>
</ol>
</li>
</ol>
<p>If not, don&#8217;t come crying to me!</p>
<p>Actually, I&#8217;ll be happy to try to help, but keep in mind that I don&#8217;t have a lot of spare time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.malcolmgin.com/msblog/?feed=rss2&#038;p=127</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Global Navigation changed after enabling Publishing Infrastructure</title>
		<link>http://www.malcolmgin.com/msblog/?p=131</link>
		<comments>http://www.malcolmgin.com/msblog/?p=131#comments</comments>
		<pubDate>Wed, 24 Dec 2008 18:52:45 +0000</pubDate>
		<dc:creator>Malcolm</dc:creator>
				<category><![CDATA[Microsoft Office SharePoint Server 2007]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Windows Server 2003]]></category>
		<category><![CDATA[Windows SharePoint Services 2007]]></category>

		<guid isPermaLink="false">http://www.malcolmgin.com/msblog/?p=131</guid>
		<description><![CDATA[So before I enabled the Publishing Infrastructure feature, the top nav bar tabs showed the leftmost tab reading &#8220;Home&#8221;. After enabling it and later disabling it, the leftmost tab read as the site title (as set in the site settings). &#8230;<p class="read-more"><a href="http://www.malcolmgin.com/msblog/?p=131">Read more &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>So before I enabled the Publishing Infrastructure feature, the top nav bar tabs showed the leftmost tab reading &#8220;Home&#8221;. After enabling it and later disabling it, the leftmost tab read as the site title (as set in the site settings). Great but all my functional tests are written to search for the tab reading &#8220;Home&#8221;. So I tried to edit that Global Navigation header in the Navigation settings in Site settings and the Edit&#8230; option is not available for that heading.</p>
<p>Seems I need to <a href="http://www.sharepointu.com/forums/p/2783/7497.aspx">change the site title or hack the navbar</a> in a combination of SharePoint UI and SharePoint Designer (not my first choice).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.malcolmgin.com/msblog/?feed=rss2&#038;p=131</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
