﻿<?xml version="1.0" encoding="UTF-8"?>
<!--RSS generated by Windows SharePoint Services V3 RSS Generator on 05.09.2010 05:12:04-->
<?xml-stylesheet type="text/xsl" href="/_layouts/RssXslt.aspx?List=1d9a40b5-d004-4ace-8b09-2ba5b094501c" version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Isrichtig.de: Beiträge</title>
    <link>http://blog.isrichtig.de/Lists/Beitraege/AllPosts.aspx</link>
    <description>RSS-Feed für die Liste 'Beiträge'.</description>
    <copyright>info@isrichtig.de Copyright by Volker Helms</copyright>
    <managingEditor>info@isrichtig.de Volker Helms</managingEditor>
    <webMaster>info@isrichtig.de Volker Helms</webMaster>
    <lastBuildDate>Sun, 05 Sep 2010 03:12:04 GMT</lastBuildDate>
    <generator>Windows SharePoint Services V3 RSS Generator</generator>
    <ttl>60</ttl>
    <image>
      <title>Isrichtig.de: Beiträge</title>
      <url>http://blog.isrichtig.de/_layouts/images/homepage.gif</url>
      <link>http://blog.isrichtig.de/Lists/Beitraege/AllPosts.aspx</link>
    </image>
    <item>
      <title>SharePoint: E-Mail an DocLib funktioniert nicht.</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=96</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClassB89EB595F818492C9C38ACA81DEE2697><div>Hallo,</div>
<div> </div>
<div>heute hatte ich das Problem das plötzlich Mails an verschiedene DocLibs nicht mehr ankamen. Andere DocLibs funktionierten Problemlos. Nach kurzer Suche konnte ich feststellen, dass DocLibs die mit &quot;Accept e-mail messages based on document library permissions&quot; konfiguriert waren keine Mails mehr empfangen konnten.</div>
<div> </div>
<div>Bei genauerer Untersuchung konnte ich herausfinden das SharePoint zur Überprüfung der SendIn Permission den X-Sender einer Mail nutzt. Warum dies so ist und warum nicht z.B. der From Wert genutzt wird weiß ich nicht.</div>
<div>Nun können in dem X-Sender Feld aber noch zusätzliche Informationen abgelegt werden.</div>
<div>Unter anderem gibt es verschiedene Mailgateways die dort zusätzliche Werte angeben. Zum Beispiel kann dort <a href="http://mipassoc.org/batv/draft-levine-mass-batv-01.html">Bounce Address Tag Validation</a> angegeben werden. Dies wird genutzt um überflüssige NDRs zu eliminieren (ob das allerdings so sinnvoll ist sei mal dahingestellt).</div>
<div>Ein solches Tag sieht Beispielsweise so aus: &quot;x-sender: <a href="mailto:prvs=1755da8e48=Volker.Helms@testmail.com">prvs=1755da8e48=Volker.Helms@testmail.com</a>&quot;</div>
<div>Das BATV Tag ist dann &quot;prvs=1755da8e48=&quot;.</div>
<div>SharePoint kommt aber bei der Auflösung des Absenders durch dieses Tag durcheinander und sieht die Mail als nicht berechtigt an. Das heißt SharePoint verwirft die Mail (und informiert keinen Absender - Im Eventlog steht eine Access Denied Meldung).</div>
<div>Nachdem wir dieses Tagging wieder aus den Mails entfernt hatten funktionierte auch der Empfang wieder.</div>
<div> </div>
<div>Gruß,</div>
<div>Volker</div></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 20.05.2010 11:53</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Thu, 20 May 2010 10:04:07 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=96</guid>
    </item>
    <item>
      <title>Kurznotiz: HTTPHandler C# Download großer Files</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=95</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass1457AECFAAAC4284BD7B8A1280C0CDDE>
<div>Hallo,</div>
<div>um mit einem HTTPHandler große Files von einem Server zu laden hat Microsoft vor langer Zeit einmal einen KB Artikel veröffentlicht.</div>
<div> </div>
<div>Hier gehts zum <a href="http://support.microsoft.com/?scid=kb;en-us;812406&amp;x=13&amp;y=7">Artikel</a>.</div>
<div>Einen Beispielhändler habe ich mit angehängt.</div>
<div> </div>
<div>Gruß,</div>
<div>Volker</div><a href="http://blog.isrichtig.de/downloads/HttpDownload.txt">HttpDownload.txt</a></div></div>
<div><b>Kategorie:</b> Coding</div>
<div><b>Veröffentlicht:</b> 19.05.2010 08:53</div>
]]></description>
      <author>Volker Helms</author>
      <category>Coding</category>
      <pubDate>Wed, 19 May 2010 06:53:09 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=95</guid>
    </item>
    <item>
      <title>Anleitung um SSTP mit 1 Netzwerkkarte zu betreiben</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=94</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass4C9846CD50264B13BE039F12FE730825><div>Hallo,</div>
<div> </div>
<div>falls jemand SSTP auf einem Windows 2008 Server betreiben möchte und dort keine 2 NICs besitzt hat <a href="http://artisticcheese.blogspot.com/2009/04/instructions-how-to-enable-sstp-vpn-s.html">Greg Suvalian</a> eine Lösung. Er beschreibt die notwendigen Schritte um eine SSTP VPN Einwahl auch mit einem Server mit nur einer NIC zu betreiben.</div>
<div> </div>
<div>Folgende Schritte sind notwendig (Kurzform entspricht der Anleitung von Greg in weiten Zügen):</div>
<div> </div>
<div>Unterschiede zu anderen Anleitungen:</div>
<div>Es wird keine Domain Controller benötigt<br>Es wird nur eine Netzwerkkarte benötigt<br>SSL CRL muss nicht veröffentlicht werden (Certificate Revocation List)</div>
<div><br>Benötigt wird:</div>
<div>Server SSL certificate (self-signed)<br>Windows 2008 Server (single NIC)<br>Vista SP1 or later</div>
<div><br>Einrichtung:</div>
<div>1. Zuerst muss ein self-signed certificate erstellt und im Certificate Store des Clients und des Servers installiert werden. Wichtig! Das Zertifikat muss beim Client sowohl im Trusted Root Certificate Store des Users als auch im Store der Computerkontos eingetragen werden. Natürlich kann auch ein Zertifikat einer internen CA genutzt werden.</div>
<div>2. Zertifikat mit folgenden Schritten auf Client installieren: MMC starten und im Menü Add Snap-in auswählen, &quot;Certificates&quot; auswählen, im nächsten Screen &quot;Local Computer&quot; und dann &quot;Trusted Root Certification Authorities&quot; auswählen. Zertifikat in diesen Store importieren. Das gleiche für &quot;My Account&quot; durchführen.<br>3. Zertifikat auf dem Server installieren. Dazu die gleichen Schritte durchgehen. Hier wird das Zertifikat allerdings nur im &quot;Local Computer&quot; Store benötigt.<br>4. Rolle RRAS dem Windows 2008 Server hinzufügen (über Server Manager). Wir benötigen nur &quot;Remote Access Service&quot; nicht Routing.<br>5. RRAS MMC starten und &quot;Configure Routing and Remote Access server&quot; aufrufen (rechter Mausklick auf RRAS).<br>6. Wichtig. Im Assistenten bitte &quot;Custom Configuration&quot; und &quot;VPN access&quot; auswählen.<br>7. Entweder dem Anwender über sein Computerkonto oder über die Netzwerkpolicy Einwahlberechtigungen erteilen.<br>8. Der Internetrouter benötigt ein Port Forward auf TCP 443. Falls ein IIS zusätzlich installiert ist - dies ist kein Problem.<br>9. Client konfigurieren: Network And Sharing Center/Setup Connection aufrufen, Connect to a Network, Setup a connection... aufrufen. Dann folgendes konfigurieren: Connect to a workplace, Use Internet Connection, Hostname und Name eintragen. Zum Schluss &quot;Skip&quot; auswählen um die Verbindung zu speichern (sonst wird diese nach einem Fehler nicht gespeichert). Anschließend die Properties der Einwählverbindung aufrufen und unter Connection/Networking VPN Typ SSTP auswählen. IPV6 kann (sollte) deaktiviert werden.<br>10. Fertig</div>
<div> </div>
<div>Gruß,</div>
<div>Volker</div></div></div>
<div><b>Kategorie:</b> Windows</div>
<div><b>Veröffentlicht:</b> 19.05.2010 08:26</div>
]]></description>
      <author>Volker Helms</author>
      <category>Windows</category>
      <pubDate>Wed, 19 May 2010 06:44:01 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=94</guid>
    </item>
    <item>
      <title>SharePoint: SiteCollection über SiteCollection ID finden</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=93</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass246FFC66625941FBA2227461110B8C2A>Hallo,</div>
<div class=ExternalClass246FFC66625941FBA2227461110B8C2A> </div>
<div class=ExternalClass246FFC66625941FBA2227461110B8C2A>häufig gibt SharePoint Meldungen mit der SiteCollection ID heraus. Leider weiß man dann nicht welche SC es eigentlich ist. Nun könnte man natürlich alle Site Collections durchschauen - es gibt aber auch eine andere Lösung. Dazu ruft man einfach die URL zur Pflege der Site Collection Administrators in der Central Administration auf. Nachdem man einmal die Site Collection im Menü gewechselt hat sieht man folgende URL im Browser: </div>
<div class=ExternalClass246FFC66625941FBA2227461110B8C2A> </div>
<div class=ExternalClass246FFC66625941FBA2227461110B8C2A><a href="http://servername:27000/_admin/owners.aspx?SiteId=363eb2ce-f1f2-40da-bb24-86bf846f6078">http://servername:27000/_admin/owners.aspx?SiteId=363eb2ce-f1f2-40da-bb24-86bf846f6078</a></div>
<div class=ExternalClass246FFC66625941FBA2227461110B8C2A> </div>
<div class=ExternalClass246FFC66625941FBA2227461110B8C2A>Nun kann man einfach die Site Collection ID, nach der gesucht werden soll, ausgetauscht werden und schwubs wird die entsprechende Site Collection angezeigt.</div>
<div class=ExternalClass246FFC66625941FBA2227461110B8C2A> </div>
<div class=ExternalClass246FFC66625941FBA2227461110B8C2A>Gruß, Volker</div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 19.05.2010 08:18</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Wed, 19 May 2010 06:24:06 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=93</guid>
    </item>
    <item>
      <title>Windows 7: Probleme mit Sharepoint Explorer View/ Office Dokumenten</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=92</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClassA412BE322D834452BEB185A7F7D69CE1>
<div>Unter Windows 7 oder Vista gibt es häufig Probleme mit der Explorer View oder mit dem Zugriff von Officedokumenten. Das Problem äußert sich dann so, dass das Internet Explorer Fenster einfriert oder wiederholt Anmeldefenster angezeigt werden.</div>
<div> </div>
<div>Das Problem liegt daran wie Windows die Seite interpretiert. Ist in der URL kein Punkt (.) wird die Seite als LocalSite interpretiert. Ist ein Punkt in der URL ist die Seite nicht Lokal. Häufig kann das Problem behoben werden in dem die Seite in die Lokale Intranetzone des Internet Explorers explizit eingetragen wird. Alternativ habe ich gerade einen weiteren <a href="http://www.sharepointboris.net/2010/03/windows-7vista-trouble-with-sharepoints-explorer-view-and-office-documents-freezing-or-prompting-for-user-credentials/">Tipp von Boris Gomiunik </a>gefunden.</div>
<div>Er schlägt folgenden Workaround vor:</div>
<ul>
<li>Open Regedit</li>
<li>Locate the following key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters</li>
<li>Create a new Multi-String Key (Menu Edit –&gt; New –&gt; Multi-String Value)</li>
<li>Give the Key the name &quot;AuthForwardServerList&quot;</li>
<li>After the key has been created, modify its value (Right click it and select Modify)</li>
<li>Enter full URLs of your SharePoint sites (one per line).</li>
<li>Save and exit registry editor</li>
<li>If you use Windows Vista you need a special <a href="http://support.microsoft.com/?id=943280">Hotfix</a> - you don't in Windows 7</li>
<li>Restart the Service WebClient Service in Windows Services.</li></ul></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 25.03.2010 16:55</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Thu, 25 Mar 2010 16:10:48 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=92</guid>
    </item>
    <item>
      <title>Anonymer User hat keinen Zugriff auf Seiten im Layouts Ordner</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=91</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClassA060D4A5DE2042289CB7DDA839DEBBFE><div>Ein anonymer User hat auf einer SharePoint Seite keinen Zugriff auf Seiten im Layouts Ordner (also auf Seiten die direkt auf der Festplatte liegen). Dies ist ja erst einmal richtig da ein User ja nicht alle Seiten aufrufen können soll. Nun kann es aber passieren, dass z.B. ein User in einer SharePoint Webseite Zugriff auf eine DocLib hat, aber keinen Zugriff auf die komplette Webseite. Nun wäre es ja denkbar das ein solcher Anwender auch bestimmte Seiten aus dem Layoutsordner aufrufen können soll.</div>
<div> </div>
<div>Dazu bietet SharePoint tatsächlich eine Lösung:</div>
<div>Leitet die Webseite im Layoutsordner von &quot;<a title=layoutspagebase href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.layoutspagebase.aspx">Microsoft.SharePoint.WebControls.LayoutsPageBase</a>&quot; ab kann ein anonymer User nicht auf die Seite zugreifen.</div>
<div>Leitet die Webseite im Layoutsorder aber von &quot;<a title=unsecuredlayoutspagebase href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.unsecuredlayoutspagebase.aspx">Microsoft.SharePoint.WebControls.UnsecuredLayoutsPageBase</a>&quot; ab können die anonymen User die Seite aufrufen.</div>
<div> </div>
<div>Weitere Sicherheit kann natürlich im Code implementiert werden.</div></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 24.03.2010 10:48</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Wed, 24 Mar 2010 10:16:30 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=91</guid>
    </item>
    <item>
      <title>User bekommt Access Denied beim Dokument umbenennen</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=90</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClassADE71600E93E468DAB3976C26D046AE2><div>Dank <a href="http://www.hezser.de/blog/">René</a> konnte ich heute relativ schnell herausbekommen warum ein Anwender in einer Sharepoint Dokumentbibliothek den Namen (Filename) eines Dokuments nicht ändern konnte. Der Anwender hatte Edit und sogar Approve Rechte. Das sollte ja normalerweise ausreichen. Reicht aber nicht! Ein Rename des Dokuments entspricht Sharepoint intern einem Movebefehl und zu einem Movebefehl gehört auch immer ein delete. Ein Benutzer benötigt also neben dem Editrecht auch das Deleterecht.</div>
<div> </div>
<div>Wichtig zu wissen ;-)</div></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 23.03.2010 12:36</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Tue, 23 Mar 2010 11:51:22 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=90</guid>
    </item>
    <item>
      <title>SPGridView zeigt paging nicht an</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=89</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass7AC12024A0F94AC9B2C95E0F79DA431E><p>Gestern hatte ich das Problem, dass ich in einem SPGridView das Paging angeschaltet hatte - die Pagingcontrols aber nicht angezeigt wurden.<br>Angeschaltet habe ich das Paging mit:</p>
<p>SPGridView oGrid = new SPGridView();<br>oGrid.AllowPaging = true;<br>oGrid.PageSize = 3;</p>
<p>Sollte also soweit funktionieren - tut es aber nicht. Nachdem ich ein wenig gesucht habe, habe ich <a href="http://p2p.wrox.com/sharepoint-development/64724-paging-filtering-spgridview.html">hier</a> einen Forumseintrag gefunden der des Rätsels Lösung brachte.</p>
<p>Warum auch immer muss nach aktivieren des Pagings und vor dem hinzufügen des Controls zur Collection das Pagingtemplate auf NULL gesetzt werden:</p>
<p>oGrid.PagerTemplate = null;</p>
<p>Anschließend funktioniert das Paging total prima.</p></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 23.03.2010 08:05</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Tue, 23 Mar 2010 07:08:17 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=89</guid>
    </item>
    <item>
      <title>SharePoint: Choicefield (multiple selection) über "Edit in Datasheet" hinzufügen</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=88</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass937E53995E624B989BF7BFCE2745281C>Hallo,</div>
<div class=ExternalClass937E53995E624B989BF7BFCE2745281C> </div>
<div class=ExternalClass937E53995E624B989BF7BFCE2745281C>ich habe heute versucht in einer Liste Einträge über &quot;Edit in Datasheet&quot; hinzuzufügen. In der Liste gab es sowhl ein Feld für Yes/No als auch ein Choicefield mit einer Multiauswahl. Um die Elemente (aus einer Exceltabelle) hinzuzufügen sind spezielle Formatierungen notwendig. Direkt aus Excel hat es bei mir gar nicht geklappt. Über den Umweg Notepad hat es dann aber funktioniert. Die Formatierungen müssen wie folgt aussehen:</div>
<div class=ExternalClass937E53995E624B989BF7BFCE2745281C> </div>
<div class=ExternalClass937E53995E624B989BF7BFCE2745281C><strong><u>Choicefield:</u></strong></div>
<div class=ExternalClass937E53995E624B989BF7BFCE2745281C><strong>;#Monday;#Tuesday;#Wednesday;#Thursday;#Friday;# </strong>Hier ist wichtig das die Auswahl mit &quot;;#&quot; beginnt, getrennt und auch beendet wird. Hier mein Beispiel für die Auswahl der Wochentage.</div>
<div class=ExternalClass937E53995E624B989BF7BFCE2745281C><strong><u>Yes/No Field:</u></strong></div>
<div class=ExternalClass937E53995E624B989BF7BFCE2745281C><strong>No = 0, Yes = 1</strong>. Interessanterweise muss bei einer Bearbeitung in Access No = false und Yes = true sein. Warum weiß ich aber auch nicht.</div>
<div class=ExternalClass937E53995E624B989BF7BFCE2745281C> </div>
<div class=ExternalClass937E53995E624B989BF7BFCE2745281C>Gruß, Volker</div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 28.01.2010 11:37</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Thu, 28 Jan 2010 10:43:59 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=88</guid>
    </item>
    <item>
      <title>C#: Convert string zu Guid mit Überprüfung</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=87</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass92E2C11B9303474A908A95BE0D46F142><p>ich habe heute nach einer Möglichkeit gesucht einen String in eine Guid zu konvertieren. Dazu möchte ich eine Überprüfung haben ob die Konvertierung erfolgreich war. Dazu habe ich ein Codesnippet gefunden was ich euch nicht vorenthalten möchte:</p> <p>Gefunden habe ich den Code hier: <a href="http://geekswithblogs.net/jawad/archive/2005/05/20/GuidVerifier.aspx">How to validate a valid GUID Value in C#</a></p> <div style="font-family:courier new;background:white;color:black;font-size:10pt"><pre style="margin:0px"><span style="color:blue">private</span> <span style="color:blue">static</span> <span style="color:blue">readonly</span> <span style="color:#2b91af">Regex</span> IsGuidRegEx = <span style="color:blue">new</span> <span style="color:#2b91af">Regex</span>(<span style="color:#a31515">@&quot;^(\{){0,1}[0-9<br>a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]<br>{12}(\}){0,1}$&quot;</span>, <span style="color:#2b91af">RegexOptions</span>.Compiled);</pre><pre style="margin:0px"> </pre><pre style="margin:0px"><span style="color:blue">private</span> <span style="color:blue">static</span> <span style="color:blue">bool</span> IsGuid(<span style="color:blue">string</span> candidate, <span style="color:blue">out</span> <span style="color:#2b91af">Guid</span> output)</pre><pre style="margin:0px">{</pre><pre style="margin:0px">    <span style="color:blue">bool</span> isValid = <span style="color:blue">false</span>;</pre><pre style="margin:0px">    output = <span style="color:#2b91af">Guid</span>.Empty;</pre><pre style="margin:0px">    <span style="color:blue">if</span> (candidate != <span style="color:blue">null</span>)</pre><pre style="margin:0px">    {</pre><pre style="margin:0px">        <span style="color:blue">if</span> (IsGuidRegEx.IsMatch(candidate))</pre><pre style="margin:0px">        {</pre><pre style="margin:0px">            output = <span style="color:blue">new</span> <span style="color:#2b91af">Guid</span>(candidate);</pre><pre style="margin:0px">            isValid = <span style="color:blue">true</span>;</pre><pre style="margin:0px">        }</pre><pre style="margin:0px">    }</pre><pre style="margin:0px">    <span style="color:blue">return</span> isValid;</pre><pre style="margin:0px">}</pre></div>
<p></p>
<p>Gruß,<br>Volker</p></div></div>
<div><b>Kategorie:</b> Coding</div>
<div><b>Veröffentlicht:</b> 26.01.2010 11:23</div>
]]></description>
      <author>Volker Helms</author>
      <category>Coding</category>
      <pubDate>Tue, 26 Jan 2010 10:23:34 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=87</guid>
    </item>
    <item>
      <title>EventHandler wird mehrfach gestartet</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=86</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClassD9229732EF3B46CB89163791764075E3>
<p>Hallo,</p>
<p>ich hatte heute ein Problem mit einem EventHandler auf einer Liste. Den Handler hatte ich selbst geschrieben und sobald ich im Debugging war konnte ich feststellen das bei einer Änderung an einem Element meiner Liste der EventHandler 3 mal gestartet wurde. Das ist natürlich viel zu viel! Also habe ich meinen Code überprüft um festzustellen ob ich vielleicht im Handler ein Update auf mein eigenes Item mache. Dies habe ich zwar getan – mein item.SystemUpdate() war aber mit einem DisableEventFiring() und einem EnableEventFireing() umgeben. Deshalb sollte der Handler sich nicht selbst aufrufen können. In diesem Zusammenhang möchte ich auch noch darauf hinweisen das auch bei einem item.SystemUpdate() ein EventHandler gestartet wird. Häufig wird dies übersehen!</p>
<p>Nach längerem suchen habe ich dann herausgefunden das in meiner Liste ein CustomFieldType genutzt wurde. Im Code des CustomFieldType wurde ebenfalls ein item.SystemUpdate() aufgerufen und dieses war nicht mit einem DisableEventFiring() umschlossen. Also schnell eins drum herum gebaut und schon…</p>
<p>Mist! Die Methode DisableEventFiring() gibt es nur in einer EventHandler Klasse. Der Zugriff auf die Methode aus anderen Klassen ist nicht möglich. Also mal schnell Google angeworfen und folgende Seite aufgerufen: <a title="http://unclepaul84.blogspot.com/2007/12/disable-event-firing-in-sharepoint-when.html" href="http://unclepaul84.blogspot.com/2007/12/disable-event-firing-in-sharepoint-when.html">http://unclepaul84.blogspot.com/2007/12/disable-event-firing-in-sharepoint-when.html</a></p>
<p><a href="http://unclepaul84.blogspot.com/2007/12/disable-event-firing-in-sharepoint-when.html" target="_blank">Paul Kotlyar</a> hat eine eigene Klasse geschrieben mit der er per Reflection das Property DisableEventFiring setzten kann. Da die Klasse bei ihm nicht so ganz sauber läuft möchte ich die hier noch einmal kurz als .cs Datei anbieten:</p>
<p align=center><a title=SPEventManagerWrapper href="http://blog.isrichtig.de/Downloads/SPEventManagerWrapper.cs">SPEventManagerWrapper</a></p>
<p align=left>Zur Benutzung muss die Datei einfach mit ins Projekt eingebunden werden und eventl. noch der Namespace angepasst werden. Schon könnt ihr auch von anderen Klassen (z.B. einem CustomFieldType) das Eventfiring deaktivieren.</p>
<p align=left>Auch bei mir hat die Klasse Wunder bewirkt. Kaum hatte ich das Eventfiring in meinem CustomFieldType ausgeschaltet wurde mein Handler auch nur noch ein mal und nicht 3 mal gestartet. Prima!</p>
<p align=left>Gruß,<br>Volker</p></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 21.01.2010 19:36</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Thu, 21 Jan 2010 18:36:56 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=86</guid>
    </item>
    <item>
      <title>Webpart wird nach “Apply” nicht aktualisiert</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=85</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClassE8E5500C9A394A36B65264C20BF6DA6D>
<p>Hallo,</p>
<p>ich hatte das jetzt schon häufiger in verschiedenen Webparts. Ich ändere etwas in der Toolpane (also in den Einstellungen) und klicke anschließend auf “Apply”. Leider werden die Einstellungen dann nicht übernommen. Wenn ich dann erneut auf “Apply” klicke oder die Seite neu lade sind die geänderten Einstellungen aktiv. Nach langem suchen habe ich bei <a href="http://blog.mastykarz.nl/web-part-requires-clicking-twice-apply-ok-button-apply-changes/" target="_blank">Waldek Mastykarz</a> die passende Lösung gefunden.</p>
<p>Das Problem liegt ganz einfach am sog. Lifecycle einer Webseite. Die Verschiedenen Events werden in einem Lifecycle nacheinander aufgerufen. Leider werden die Einstellungen die gerade geändert wurden erst nach einem OnLoad Event mit dem Webpart synchronisiert. Wenn also die Controls des Webparts bereits im OnLoad Event mit Werten gefüllt werden sind die Einstellungen noch nicht synchronisiert und die Controls nutzten noch die alten Einstellungen. Beim zweiten Aufruf werden dann die aktuellen Einstellungen genutzt da diese dann synchronisiert sind.</p>
<p>Um also die Einstellungen gleich beim ersten “Apply” nutzten zu können müssen wir einen Event des Lifecycles nehmen der etwas später als der OnLoad Event ausgeführt wird. Waldek schlägt hier vor den OnPreRender Event zu nutzten. Dabei haben die Webparts dann dann die neuen Einstellungswerte sofort zur Verfügung. Die Controls selbst sollten natürlich nach wie vor im CreateChildControls Event hinzugefügt werden.</p>
<p>Gruß,<br>Volker</p></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 21.01.2010 19:04</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Thu, 21 Jan 2010 18:04:42 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=85</guid>
    </item>
    <item>
      <title>VHD unter Windows booten - Bluescreen</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=84</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass0829150784914291BF4E961786AD357D><div>Hallo,</div>
<div> </div>
<div>da ich mir eine VHD für die SharePoint 2010 Entwicklung gebaut habe und mein Laptop doch ein wenig knapp für das Starten über VMWare oder ähnliches ist wollte ich die VHD native über die Windows 7 Möglichkeiten booten. Das hätte auch soweit gut geklappt wenn die VHD nicht versuchen würde meine dynamische VHD auf die volle größe zu erweitern. Normalerweise ist das auch sinnvoll da das gestartete System ja nicht sehen kann wenn die physikalische Platte voll ist. In meinem Fall (VHD 127GB groß - aber nur 60GB Platz) ist das aber eher suboptimal.</div>
<div> </div>
<div><strong>Hier die Blue Screen Fehlermeldung:</strong></div>
<div>An initialization failure occurred while attempting to boot from a VHD. The volume that hosts the VHD does not have enough free space to expand the VHD.</div>
<div>STOP: 0x00000136</div>
<div> </div>
<div>Zum Glück konnte ich auf folgenden Tipp von <a href="http://blogs.technet.com/steffenk/archive/2009/08/05/meine-office-2010-demoumgebung-oder-devirtualisierung-mit-vhd-boot.aspx">Steffen Krause</a> zurückgreifen:</div>
<div> </div>
<div>In der Registry der VHD kann das Erweitern der VHD abgeschaltet werden. Dazu kann die VHD im Computer Management/ Disk Management gemountet werden und über Regedit die Datei %WINDIR%\System32\Config\System der VHD eingebunden werden.</div>
<div> </div>
<div>Anschließend folgenden Wert setzten:</div>
<div>HKLM\System\CurrentControlSet\Services\Fsdepends\Parameters<br>\VirtualDiskExpandOnMount</div>
<div>auf REG_DWORD=4 setzten.</div>
<div>Dann den Registrypfad wieder aus Regedit entfernen und die VHD aus dem Disk Management dismounten.</div>
<div>Neustarten fertig!</div>
<div> </div>
<div>Gruß,</div>
<div>Volker</div></div></div>
<div><b>Kategorie:</b> Windows 7</div>
<div><b>Veröffentlicht:</b> 14.12.2009 16:02</div>
]]></description>
      <author>Volker Helms</author>
      <category>Windows 7</category>
      <pubDate>Mon, 14 Dec 2009 15:15:41 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=84</guid>
    </item>
    <item>
      <title>Outlook und Explorer PDF Preview unter Windows x64</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=83</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass771837A0614E4541A2F303DFF48F7E17>
<div>
<p>Unter Windows 7 und Vista x64 funktioniert der PDF Preview Handler von Adobe nicht. Wie ich heute unter <a href="http://blogs.technet.com/sieben/archive/2009/09/16/outlook-und-explorer-pdf-preview-auf-64-bit.aspx">&quot;Outlook und Explorer PDF Preview auf 64 Bit&quot;</a> nachlesen konnte hat Adobe einfach einen Registrykey nicht ordentlich gesetzt. Daher könnt ihr einfach mal folgende Schritte durchführen und den Key richtig setzten:</p>
<ul>
<li>HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ Classes\CLSID\{DC6EFB56-9CFA-464D-8880-44885D7DC193} aufrufen.</li>
<li>Den existierenden Wert <b>AppID </b>der falsch auf {6d2b5079-2f0b-48dd-ab7f-97cec514d30b} gesetzt ist, in <strong>{534A1E02-D58F-44f0-B58B-36CBED287C7C} </strong>ändern.</li></ul>
<p>Und schon geht’s! Achtung! Es funktioniert nur bei Outlook 2007. Bei meiner Outlook 2010 Technical Preview hat es leider nicht funktioniert.</p>
<p>Gruß,<br>Volker</p></div></div></div>
<div><b>Kategorie:</b> Office 2007</div>
<div><b>Veröffentlicht:</b> 17.09.2009 16:26</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office 2007</category>
      <pubDate>Thu, 17 Sep 2009 14:33:18 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=83</guid>
    </item>
    <item>
      <title>Fehlerhafte Webparts von Seite entfernen</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=82</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass4BD95C99B64F48EA954D2460FBB3E4C1>
<div>Hallo,</div>
<div> </div>
<div>noch einmal zur Erinnerung da ich selbst den URL Parameter immer wieder vergesse. Um fehlerhafte Webparts von einer Seite zu entfernen kann man an die Webseite einfach folgenden Parameter anhängen:</div>
<div> </div>
<div align=center>z.B.: default.aspx?contents=1</div>
<div align=center> </div>
<div align=left>Anschließend einfach das Webpart löschen und die Seite lässt sich ohne Probleme wieder aufrufen.</div>
<div align=left> </div>
<div align=left>Gruß,</div>
<div align=left>Volker</div></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 17.09.2009 16:16</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Thu, 17 Sep 2009 14:19:34 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=82</guid>
    </item>
    <item>
      <title>Uninstall Office 2010 14.0.4302.1000</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=81</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass5EF6FC50642942599C479F68CAB95002><div>Hallo,</div>
<div> </div>
<div>falls jemand von euch eine Office 2010 Version mit der Versionsnummer 14.0.4302.1000 in den Händen hält (woher auch immer) - diese bitte nicht installieren. Die Versionsnummer ist zwar neuer als die der offiziellen &quot;Technical Preview&quot; Version - aber ziemlich buggy. Word und Outlook stürzen häufig ab. Das Hauptproblem tritt aber auf wenn ihr versucht die Installation wieder vom System zu werfen bzw. zu deinstallieren. Dann kommt eine Fehlermeldung &quot;This product <span class=ColorResultsClass>installation</span> has been <span class=ColorResultsClass>corrupted&quot; und irgendetwas von &quot;Please start the Setup from the installation source&quot;. Die genaue Fehlermeldung weiß ich nicht mehr. Wenn ihr das versucht tritt der gleiche Fehler wieder auf - wie super!</span></div>
<div><span class=ColorResultsClass></span> </div>
<div><span class=ColorResultsClass>Der Artikel von MS &quot;<a href="http://support.microsoft.com/?scid=kb;en-us;928218&amp;x=16&amp;y=5">How to manually uninstall Office 2007</a>&quot; ist zwar sehr gut hilft aber in diesem Fall nicht weiter da nicht alle Komponenten deinstalliert werden können (Microsoft Office Mondo 2010 klappt nicht).</span></div>
<div><span class=ColorResultsClass></span> </div>
<div><span class=ColorResultsClass>Das Problem liegt an, meiner Meinung nach, 2 Problemen des Setups.</span></div>
<div><span class=ColorResultsClass></span> </div>
<div><span class=ColorResultsClass>Problem 1: Normalerweise sollte die Setup.exe von den Install Sourcen die Dateien von dort nehmen. Leider macht es das nicht sondern schaut zwecks &quot;Was ist eigentlich installiert&quot; unter &quot;C:\Program Files\Common Files\Microsoft Shared\OFFICE14\Office Setup Controller\&quot; nach.</span></div>
<div><span class=ColorResultsClass>Problem 2: Und genau dort liegt das Problem. Das Setup sucht dort in den einzelnen Ordnern nach den Setup.xml Dateien der Komponenten und im Ordner &quot;Groove.en-us&quot; befindet sich leider keine solche.</span></div>
<div><span class=ColorResultsClass></span> </div>
<div><span class=ColorResultsClass>Lösung: Von den Installationssourcen aus dem Verzeichnis &quot;Groove.en-us&quot; die Datei Setup.xml nach  &quot;C:\Program Files\Common Files\Microsoft Shared\OFFICE14\Office Setup Controller\Groove.en-us\&quot; kopieren und die deinstallation erneut ausprobieren. Das sollte nun klappen!</span></div>
<div><span class=ColorResultsClass></span> </div>
<div><span class=ColorResultsClass>English short version:</span></div>
<div><span class=ColorResultsClass>How to uninstall Office 2010 14.0.4302.1000 if you have an uninstall error message &quot;This product <span class=ColorResultsClass>installation</span> has been <span class=ColorResultsClass>corrupted&quot;.</span></span></div>
<div><span class=ColorResultsClass><span class=ColorResultsClass>The Problem is a missing file in the installation folder of office 2010. Office 2010 has an Setup Controller directory and uses the directory to check the installed components. please check the directory  &quot;C:\Program Files\Common Files\Microsoft Shared\OFFICE14\Office Setup Controller\Groove.en-us\&quot;. if you have no &quot;Setup.xml&quot; file there please copy the file from the &quot;Groove.en-us&quot; directory of the source files to this directory and test the uninstallation again.</span></span></div>
<div><span class=ColorResultsClass><span class=ColorResultsClass></span></span> </div>
<div><span class=ColorResultsClass><span class=ColorResultsClass>Gruß,</span></span></div>
<div><span class=ColorResultsClass><span class=ColorResultsClass>Volker</span></span></div></div></div>
<div><b>Kategorie:</b> Office 2010</div>
<div><b>Veröffentlicht:</b> 13.08.2009 08:29</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office 2010</category>
      <pubDate>Thu, 13 Aug 2009 06:41:09 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=81</guid>
    </item>
    <item>
      <title>In Outlook 2007 suchen</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=80</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass5C1E1CD34BD348C497DBB0ED5BEAA4E0>
<div>Hallo,</div>
<div>heute bin ich über eine recht interesste Seite bei Microsoft gestoßen. Unter <a href="http://office.microsoft.com/en-us/outlook/HA102388311033.aspx">http://office.microsoft.com/en-us/outlook/HA102388311033.aspx</a> befinden sich unglaublich viele coole verschiedene Ideen und Tipps für die Suche in Outlook.</div>
<div> </div>
<div>Hier mal ein paar Beispiele:</div>
<div> </div>
<div>
<table style="display:inline;border-collapse:collapse;font-size:1em" border=1>
<tbody>
<tr>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>from:&quot;volker&quot;</div></td>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>gesendet von volker</div></td></tr>
<tr>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>hasattachment:yes</div></td>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>Mails mit attachments</div></td></tr>
<tr>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>subject:&quot;Hallo&quot;</div></td>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>Mails mit Hallo im Betreff</div></td></tr>
<tr>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>cc:&quot;Chef&quot;<br>cc:chef@test.de</div></td>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>Mail die an den Chef im CC geschickt wurde.</div></td></tr>
<tr>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>messagesize:&lt;10 KB</div></td>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>Mails die kleiner als 10 Kb sind.</div></td></tr>
<tr>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>messagesize:&gt;5 MB</div></td>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>Mails die größer als 10 Mb sind.</div></td></tr>
<tr>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>received:=1/1/2006</div></td>
<td style="vertical-align:top" class=ms-rtetablecells>
<div> Mails die am 1.1.2006 angekommen sind.</div></td></tr>
<tr>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>received:yesterday</div></td>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>Mails die gestern angekommen sind.</div></td></tr>
<tr>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>received:last week</div></td>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>Mails die letzte Woche angekommen sind.</div></td></tr>
<tr>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>messagesize:small</div></td>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>Mails die zwischen 10 und 25 Kb groß sind.</div></td></tr>
<tr>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>messagesize:medium</div></td>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>Mails die zwischen 100 und 500 Kb groß sind.</div></td></tr>
<tr>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>messagesize:large</div></td>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>Mails die zwischen 500 Kb und 1 Mb groß sind.</div></td></tr>
<tr>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>sent: yesterday</div></td>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>Mails die gestern versand wurden.</div></td></tr>
<tr>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>read:no</div></td>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>Mails die nicht gelesen wurden.</div></td></tr>
<tr>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>to: volker</div></td>
<td style="vertical-align:top" class=ms-rtetablecells>
<div>Mails die an mich geschickt wurden</div></td></tr></tbody></table></div>
<div> </div>
<div>aber schaut euch einfach mal die Seite an - echt cool was so alles im Suchfeld in Outlook funktioniert.</div>
<div> </div>
<div>Gruß,</div>
<div>Volker</div></div></div>
<div><b>Kategorie:</b> Office 2007</div>
<div><b>Veröffentlicht:</b> 06.08.2009 13:25</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office 2007</category>
      <pubDate>Thu, 06 Aug 2009 11:54:45 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=80</guid>
    </item>
    <item>
      <title>SharePoint: SearchCenter programmatisch konfigurieren</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=79</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClassA7DE3B595BEF411BB551A11AA518F5D9><div>Hallo,</div>
<div>mit folgendem Code kann in einer Site Collection die Search Center URL gesetzt werden:</div>
<div> </div>
<div>
<p align=left>string url = &quot;<a href="http://siteurl">http://siteurl</a>&quot;;<br>using (SPSite site = new SPSite(url))<br>using (SPWeb web = site.RootWeb)<br>{<br>string searchCenter = &quot;<a href="http://searchurl">http://searchurl</a>&quot;;<br>web.AllProperties[&quot;SRCH_ENH_FTR_URL&quot;] = searchCenter;<br>web.Update();<br>}<br><br>Gruß,<br>Volker</p></div></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 27.07.2009 12:41</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Mon, 27 Jul 2009 10:43:41 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=79</guid>
    </item>
    <item>
      <title>SharePoint: ListViewWebPart mit Toolbar</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=78</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass43F96C9FB278446ABC5E66458D2CCB0C><div>Hallo,</div>
<div> </div>
<div>wer schon einmal versucht hat ein ListViewWebPart per Programmcode zu benutzen hat wahrscheinlich festgestellt das die Toolbar nicht konfiguriert werden kann. Es wird immer die &quot;Full Toolbar&quot; genutzt. Ton Stegeman hatte einmal eine Lösung gebloggt, diese hatte allerdings auch ein paar Einschränkungen.</div>
<div>Nun hat sich <a href="http://www.sharepointblogs.com/mirjam/default.aspx">Mirjam</a> einmal mit der Lösung beschäftigt und eine sehr coole Lösung per Reflection erstellt.</div>
<div> </div>
<div><a href="http://www.sharepointblogs.com/mirjam/archive/2009/07/24/programmatically-adjusting-the-toolbar-of-a-listviewwebpart.aspx">Schaut es euch einfach einmal an.</a></div>
<div>Gruß,</div>
<div>Volker</div></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 27.07.2009 08:28</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Mon, 27 Jul 2009 06:34:02 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=78</guid>
    </item>
    <item>
      <title>Sharepoint: Relativer Link zur Website in CEWP</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=77</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClassFBC21C34A84E4A258AE19831A1D9355B><div>Hallo,</div>
<div> </div>
<div>heute hatte ich das Problem das ich in einem CEWP zu einer anderen Seite verlinken wollte. Das funktioniert durch Eingabe eines relativen Links z.B. ./Subseite/default.aspx ja noch recht einfach. Auch mehrere Ebenen nach oben funktioniert mit ./../Hauptseite/default.aspx ja ganz gut.</div>
<div> </div>
<div>Hin und wieder kann es aber vorkommen das man im CEWP die Tatsächliche ServerRelativeUrl seiner Sharepointseite benötigt. Dazu hier ein kleines Javascript. Das Script einfach oben direkt in das CEWP einfügen und dann den normalen html Code hinzufügen.</div>
<div> </div>
<div>&lt;script type=&quot;text/javascript&quot;&gt;<br>function jumpto(relLink)<br>{<br> window.location = L_Menu_BaseUrl + relLink;<br>}<br>function getrelLink()<br>{<br> return L_Menu_BaseUrl;<br>}</div>
<div> </div>
<div>Die Funktion &quot;jumpto&quot; springt direkt zu der angegeben Seite. Aufgerufen wird sie mit dem Relativen Link in der eigenen Seite (z.B. &quot;/Shared Documents&quot;).</div>
<div>Die Funktion &quot;getrelLink&quot; liefert einfach die relative Url zurück.</div>
<div> </div>
<div>Aufgerufen werden die Funktionen so:</div>
<div>href=&quot;javascript:jumpto('/Shared Documents')&quot;</div>
<div>oder</div>
<div>href=&quot;javascript:getrelLink()&quot;</div>
<div> </div>
<div>Gruß,</div>
<div>Volker Helms<br></div></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 09.07.2009 10:13</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Thu, 09 Jul 2009 08:19:55 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=77</guid>
    </item>
    <item>
      <title>WebSlice Control Adapter</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=75</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClassEF0D8428565B4596B2313124952B6FBB>
<p>Hallo, </p>
<p>Doron Goldberg hat auf seinem Blog einen prima <a href="http://blogs.microsoft.co.il/blogs/dorong/archive/2009/01/18/web-slice-control-adapter-for-moss-2007.aspx" target="_blank">Artikel</a> wie man mittels eines Control Adapters SharePoint Webparts im IE8 als WebSlices einbinden kann. Da Doron den Code nicht in einer fertigen Solution verpackt hat habe ich das nun nachgeholt. Zuerst aber ein paar Infos. Control Adapter sind eine prima Erfindung des Asp.net Frameworks. Damit können vorhandene Controls, z. B. ein Webpart, um Zusatzfunktionen erweitert werden. Infos dazu gibt es <a href="http://www.singingeels.com/Articles/How_To_Control_Adapters.aspx">hier</a>. </p>
<p>WebSlices sind eine neue Funktion des IE8. Der IE ermöglicht einem Anwender Teile einer Webseite per Slice abzufragen. Das kann z. B. für Nachrichten o.ä. sinnvoll sein. Der IE8 erkennt einen Webslice in einer Webseite anhand einer Verknüpfung im Header der Webseite und anhand eines Attributs. </p>
<p>Der Header sieht z.B. so aus:<br><span style="font-family:Courier New;font-size:8pt">&lt;link rel=&quot;default-slice&quot; type=&quot;application/x-hatom&quot; href=&quot;#actualPosts&quot; /&gt; </span></p>
<p>Das Slice wird dann in der Website anhand der ID &quot;acutalPosts&quot; erkannt.<br><span style="font-family:Courier New;font-size:8pt">&lt;!-- begin Web slice --&gt;<br>    &lt;div class=&quot;hslice&quot; id=&quot;actualPosts&quot; style=&quot;display: none&quot;&gt;<br>        &lt;div class=&quot;entry-content&quot;&gt;<br>            &lt;div class=&quot;panel&quot;&gt;&lt;h2 class=&quot;entry-title&quot;&gt;Title&lt;/h2&gt;<br>                &lt;div class=&quot;sliceContent&quot;&gt;&lt;vh:newPosts ID=&quot;NewPosts1&quot; runat=&quot;server&quot; /&gt;&lt;/div&gt;<br>            &lt;/div&gt;<br>        &lt;/div&gt;<br>    &lt;/div&gt;<br>&lt;!-- end Web slice --&gt; </span></p>
<p>Weitere Infos zu Webslices gibt es <a href="http://blog.klaus-b.net/post/2009/03/08/Einen-Web-Slice-erzeugen-und-anbieten.aspx">hier</a>. </p>
<p>Unser Control Adapter macht nun nichts anderes als sich an die Webparts, die in der &quot;WebSliceControlAdapter.browser&quot; (befindet sich nach aktivieren des Features im Verzeichnis &quot;App_Browers&quot; der Webapplication) eingetragen sind, dran zu hängen und die entsprechenden DIV Tags um das Webpart herumzubauen. In der mitgelieferten &quot;WebSliceControlAdapter.browser&quot; sind bereits das Content Editor Webpart und das ListView Webpart eingetragen. Leider unterstützen die Slices momentan kein Javascript sodass zumindest bei der momentanen Version des WebSlice Control Adapters die Sharepoint Listen sehr spartanisch aussehen. </p>
<p>Installationsanleitung: </p>
<ul>
<li>Zuerst muss die Solution mit stsadm –o addsolution –filename WebSliceControlAdapter.wsp dem SharePoint Solution Speicher hinzugefügt werden. </li>
<li>Anschließend wird in der Central Administration über Operations/ Solution Management die Solution auf einer Webapplication deployed. </li>
<li>Als nächstes wird unter Site Features das Feature &quot;WebSliceControlAdapter&quot; aktiviert. Durch das aktivieren wird die Datei &quot;WebSliceControlAdapter.browser&quot; in das entsprechende Verzeichnis kopiert und kann dort später auch um weitere Webparts erweitert werden. </li></ul>
<p>Hier ein paar Bilder der Solution: </p>
<p><img alt="" src="http://blog.isrichtig.de/Lists/Fotos/060509_1331_WebSliceCon1.png"><br>Ein Content Editor Web Part mit aktiviertem WebSlice Control Adapter </p>
<p><img alt="" src="http://blog.isrichtig.de/Lists/Fotos/060509_1331_WebSliceCon2.png"><br>Übersicht aller aktiven WebSlices der aktuellen Seite </p>
<p><img alt="" src="http://blog.isrichtig.de/Lists/Fotos/060509_1331_WebSliceCon3.png"><br>Hinzufügen eines neuen Slices </p>
<p><img alt="" src="http://blog.isrichtig.de/Lists/Fotos/060509_1331_WebSliceCon4.png"><br>Das ausgeklappte Slice im Internet Explorer </p>
<p>Hier der <a href="http://blog.isrichtig.de/Downloads/WebSliceControlAdapter.wsp">Download</a> der Solution. Die Sourcen kommen später. </p>
<p>Ach ja… wer einen Control Adapter für das Content Editor Webpart benötigt um z. B. die dort hinterlegten absoluten Urls in relative Urls zu wandlen sollte mal bei <a href="http://blog.mastykarz.nl/inconvenient-content-editor-web-part/">Waldek Mastykarz</a> vorbeischauen. </p>
<p>Gruß,<br>Volker</p></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 05.06.2009 15:31</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Fri, 05 Jun 2009 13:31:24 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=75</guid>
    </item>
    <item>
      <title>Sharepoint: Add to my Links führt zu Fehler Server http://portal_vti_bin not found</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=76</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClassA15AC7BA34324903AE375203EFCEECA8>
<div>Auf dem ersten Blick sieht der Fehler danach aus das ein Linkumwandlung nicht richtig funktioniert und daher zwischen portal und _vti_bin das &quot;/&quot; fehlt. Nach längerem suchen habe ich herausgefunden das dies an der URL in &quot;<font size=1>Portal site connection&quot; liegt. Endet diese Url nicht mit einem &quot;/&quot; wird der Link bei der Benutzung von &quot;Add to my Links&quot; falsch aufgerufen. Bei akutellem Servicepack hängt Sharepoint übrigens beim speichern der  &quot;<font size=1>Portal site connection&quot; der Url automatisch ein &quot;/&quot; hinten an. Nutzt man aber Programmcode um diesen Wert zu füllen muss man selbst darauf achten das ein &quot;/&quot; am Ende steht.</font></font></div>
<div><font size=1></font> </div>
<div><font size=1>Für alle die das gleiche Problem haben und nun durch alle Site Collections der Firma klicken habe ich ein kleines Programm geschrieben. Das Tool geht durch alle Site Collections und überprüft ob in der  &quot;<font size=1>Portal site connection&quot; ein Link eingetragen ist und ob ein &quot;/&quot; fehlt. Wenn ja dann wirds ergänzt.</font></font></div>
<div><font size=1></font> </div>
<div><a href="http://blog.isrichtig.de/Downloads/AddSlash2PortalUrl.zip">Zum Download des Tools</a></div>
<div>Aufruf des Tools mit &quot;AddSlash2PortalUrl.exe <a href="http://webapplicationurl">http://webapplicationurl</a>&quot; aufrufen. Der Source Code liegt bei.</div>
<div> </div>
<div>Gruß,</div>
<div>Volker</div></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 25.06.2009 08:30</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Thu, 25 Jun 2009 06:30:01 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=76</guid>
    </item>
    <item>
      <title>Microsofts Peer Name Resolution Protocol</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=74</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClassFA42D48163C249E5B0ADE21B7A1D14BD><div>Bei Heise gibt es einen sehr guten Artikel über das Microsofts Peer Name Resolution Protocol. Das Protokoll ist so eine Art Namensauflösung im Internet ohne das man selbst DNS einträge veröffentlichen muss, halt so ne Art Next Generation DynDns.</div>
<div> </div>
<div>Wird zum Beispiel genutzt um in Windows 7 eine Remoteunterstützung anzufordern.</div>
<div> </div>
<div><a href="http://www.heise.de/netze/Microsofts-Peer-Name-Resolution-Protocol--/artikel/135977/0">Hier gehts zum Artikel</a></div>
<div> </div>
<div>Gruß,<br>Volker</div></div></div>
<div><b>Kategorie:</b> Windows</div>
<div><b>Veröffentlicht:</b> 27.04.2009 11:58</div>
]]></description>
      <author>Volker Helms</author>
      <category>Windows</category>
      <pubDate>Mon, 27 Apr 2009 10:00:33 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=74</guid>
    </item>
    <item>
      <title>SATA Treiber für Windows nachträglich installieren (Intel Chipsatz).</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=73</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass13B59CED38904CB0A4C43F557A567700>
<p>Hallo, 
<p>am Freitag hatte ich das Problem an einem PC das vor der Windows Installation leider im Bios nicht die SATA RAID bzw. AHCI Unterstützung aktiviert war. Die Festplatten liefen also in einem Kompatiblitätmodus. Das ist natürlich nicht schön und sollte geändert werden. Dazu muss der SATA Treiber für das Windowsbetriebssystem nachträglich installiert werden da ohne den Treiber das Betriebssystem beim starten einen Bluescreen zeigt (oder resettet - je nach Konfiguration). 
<p>Um den Treiber zu installieren benötigen wir einmal das Treiberpaket von <a href="http://downloadmirror.intel.com/17412/eng/IATA88ENU.exe" target="_blank">Intel</a> und eine Registrydatei von <a href="ftp://ftp.heise.de/pub/ct/listings/0626-212.zip" target="_blank">Heise</a>. 
<p>Anschließend wird das Inteltreiberpaket mit folgendem Befehl entpackt: 
<p>IATA88ENU.exe -a -a -pc:\AHCI 
<p>Bei mir hat sich allerdings der Treiber nicht nach \AHCI entpackt sondern lag im Programmverzeichnis unter \Intel... 
<p>Anschließend starten wir den Windows Device Manager (Computerverwaltung) und aktualisieren den Treiber:</p>
<p><a href="http://blog.isrichtig.de/Lists/Beitraege/Attachments/73/image_2_2836CE00.png"><img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px" title=image border=0 alt=image src="http://blog.isrichtig.de/Lists/Beitraege/Attachments/73/image_thumb_2836CE00.png" width=323 height=113></a> </p>
<p>Es muss der Treiber des IDE Controllers aktualisiert werden. Das Bild passt nicht 100%ig da es sich im Bild nicht um einen tatsächlichen SATA Controller handelt. Bei euch sollte etwas wie “Intel 82801GBM (ICH7-M Family) Serial ATA Storage Controller” stehen. Während der Treiberinstallation wollen wir nicht nach neuen Treibern auf der Windows Update Seite suchen, Software von einer Liste oder bestimmten Quelle installieren, Nicht suchen, sondern den zu installierenden Treiber selbst wählen. Dann wählen wir das Intel Verzeichnis aus und klicken auf weiter. Nun sehen wir alle Verfügbaren Treiber die Intel mitbringt. Nun ist es ganz wichtig den richtigen Treiber zu wählen da es sonst zu einem Bluescreen kommt und das System nicht mehr startet. <font color="#ff0000">Dafür übernehme ich keine Verantwortung!</font></p>
<p>Welcher Treiber es sein sollte kann man ganz gut mit dem Tool <a href="http://www.gtopala.com/download/siw.exe" target="_blank">SIW</a> herausbekommen. Dort einfach mal unter Hardware die Rubrik PCI aufrufen. Dort stehen verschiedene Einträge zu PCI Bridge und ähnliches. Dort kann man dann den Eintrag recht gut ableiten.</p>
<p>Nachdem der Treiber nun installiert ist muss die Registrydatei von Heise entpackt und per Doppelklick der Registry hinzugefügt werden. Nun kann der Rechner neu gestartet werden. Damit die Festplatten nun auch starten können müssen wir im Bios den SATA Mode auf AHCI oder Raid umschalten. Nun sollte das System wieder hochlaufen und nach der Anmeldung kommt noch einmal ein Hardwareinstallationsassistent. Den einfach durchklicken – fertig. Wenn Ihr den Intel Storage Manager nutzen wollt um z.B. ein Raid einzurichten müsst ihr das Softwarepaket IATA88ENU.exe einfach noch einmal normal installieren.</p>
<p>Zum Schluss möchte ich noch einmal drauf hinweisen! Bitte seid vorsichtig und macht vorher eine Datensicherung! Gerade wenn Ihr einen falschen Treiber nehmt kann das System ganz schnell nicht mehr neu starten und dann wirds schwierig (Man könnte einfach mal eine Repairinstallation versuchen – hab ich aber nicht ausprobiert.)</p>
<p>Weitere Infos habe ich von diesen Seiten:</p>
<p><a title="" href="http://www.heise.de/ct/SATA-AHCI-Treiber-nachruesten--/hotline/131725" target="_blank">Heise: SATA-AHCI Treiber nachrüsten</a></p>
<p><a title="" href="http://mytechweblog.blogspot.com/2007/10/enabling-sata-native-mode-after-xp.html" target="_blank">McThePro: Enabling SATA native Mode</a></p>
<p>Gruß,</p>
<p>Volker</p></div></div>
<div><b>Kategorie:</b> Windows</div>
<div><b>Veröffentlicht:</b> 27.04.2009 11:54</div>
<div><b>Anlagen:</b> <a href="http://blog.isrichtig.de/Lists/Beitraege/Attachments/73/image_2_2836CE00.png">http://blog.isrichtig.de/Lists/Beitraege/Attachments/73/image_2_2836CE00.png</a><br><a href="http://blog.isrichtig.de/Lists/Beitraege/Attachments/73/image_thumb_2836CE00.png">http://blog.isrichtig.de/Lists/Beitraege/Attachments/73/image_thumb_2836CE00.png</a><br><a href=""></a></div>
]]></description>
      <author>Volker Helms</author>
      <category>Windows</category>
      <pubDate>Mon, 27 Apr 2009 09:54:43 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=73</guid>
    </item>
    <item>
      <title>Sharepoint Designer 2007 Gratis</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=71</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClassCD60CD98CFE84CD5A42E98E4F7EA6E7D>
<div>Hallo,</div>
<div> </div>
<div>der Microsoft Sharepoint Designer 2007 ist nun gratis als Download erhältlich. Wer also eine Wss Webapplication betreibt kann nun auch mit dem Designer arbeiten. Für eine Standardwebseite ohne Wss gibt es aber wahrscheinlich doch bessere Programme ;-)</div>
<div> </div>
<div><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=baa3ad86-bfc1-4bd4-9812-d9e710d44f42" target="_blank">Download</a></div></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 02.04.2009 10:01</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Thu, 02 Apr 2009 08:04:27 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=71</guid>
    </item>
    <item>
      <title>DateTime Feld in SPGridView filtern</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=70</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClassA1328AAB876A492AB22E3D143E0C873E><div>Hallo,</div>
<div> </div>
<div>heute bin ich über das Problem gestolpert das mein SPGridView eine DateTime Spalte hat und ich diese nicht filtern konnte. Wenn ich in der Spalte auf das Kontextmenü klicke und dann ein Datum zum filtern auswähle kommt folgende Fehlermeldung:</div>
<div> </div>
<div>&quot;Cannot perform 'Like' operation on System.DateTime and System.String.&quot;</div>
<div> </div>
<div>Was ist passiert? Ich hatte in meinen SPGridView Properties folgendes festgelegt:</div>
<div>SPGridView gv = new SPGridView();<br>gv.FilteredDataSourcePropertyFormat = &quot;{1} LIKE '{0}'&quot;;</div>
<div> </div>
<div>Durch das FilteredDataSourcePropertyFormat kommt es beim Filtern zum Fehler. Also habe ich das ganze geändert:</div>
<div>gv.FilteredDataSourcePropertyFormat = &quot;{1}='{0}'&quot;;</div>
<div> </div>
<div>Schon hat alles geklappt. Auch die normalen String Spalten funktionieren weiterhin. Allerdings habe ich im Internet auch einige Stimmten gefunden bei denen es nicht geklappt hat. Ich denke ausprobieren ist das einfachste :-)</div>
<div> </div>
<div>Gruß,</div>
<div>Volker</div></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 24.03.2009 08:21</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Tue, 24 Mar 2009 07:27:12 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=70</guid>
    </item>
    <item>
      <title>Fritzbox Fernzugang über VPN</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=68</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass1606220DD400405FB6DC718DA065008C><div>Hallo,</div>
<div> </div>
<div>ich habe gestern mal die VPN Funktion der Fritzbox 7170 ausprobiert und bin über ein kleines Problem gestolpert. Zuerst muss man ja das Tool &quot;FRITZ!Fernzugang einrichten&quot; starten und eine VPN Verbindung konfigurieren. Das beschreibe ich hier mal nicht weiter. Nachdem ich anschließend die Konfiguration in die Fritzbox eingespielt und auf meinem Laptop die Benutzerkonfiguration über &quot;FRITZ!Fernzugang&quot; eingespielt hatte konnte ich zwar eine Verbindung aufbauen, aber keine Daten austauschen. Es funktionierte kein Ping, kein Dateizugriff auf eine Freigabe und auch kein Remote Desktop. Lt. dem Fritz Monitor (im Installationsverzeichnis die Monitor.exe starten) schien die Verbindung aber zu stehen.</div>
<div> </div>
<div>Also habe ich mir die Konfigurationsdateien einmal genauer angeschaut und dort folgenden Punkt geändert:</div>
<div>vorher: use_nat_t = no;</div>
<div>nachher: use_nat_t = yes;</div>
<div>Damit unterstützt die Verbindung auch einen Verbindungsauf/ Datentransfer über Nat-Router (Network Address Translation). Bei mir funktionierte anschließend die Verbindung problemlos. Ach ja, der Eintrag muss sowohl bei der Fritzbox Konfigurationsdatei als auch bei der Benutzerkonfigurationsdatei angepasst werden.</div>
<div>Auch bei Verbindungen über UMTS oder GPRS wird dieser Eintrag notwendig sein, da die Mobilfunkanbieter ebenfalls häufig ein NAT nutzen um die Verbindung ins Internet zu ermöglichen.</div>
<div> </div>
<div>Gruß,</div>
<div>Volker</div></div></div>
<div><b>Kategorie:</b> Firewall</div>
<div><b>Veröffentlicht:</b> 13.03.2009 14:14</div>
]]></description>
      <author>Volker Helms</author>
      <category>Firewall</category>
      <pubDate>Fri, 13 Mar 2009 13:22:03 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=68</guid>
    </item>
    <item>
      <title>Sharepoint Templates</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=67</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass87434B0368764F70974FAE5984406D25>
<div>Hallo,</div>
<div> </div>
<div>um die verfügbaren Templates in einem SPWeb zu verändern muss die Templatecollection des Webs angepasst werden. Hier ein paar Infos:</div>
<div> </div>
<div><font face="Courier New" color="#000000" size=2>SPWebTemplateCollection templates = web.GetAvailableWebTemplates((uint)1033);</font></div>
<div>Mit diesem Befehl bekommt man alle verfügbaren Templates des Webs.</div>
<div><font face="Courier New" color="#000000" size=2><font size=2></font></font> </div>
<div><font face="Courier New" color="#000000" size=2><font size=2>web.SetAvailableWebTemplates(collection, lcid);<br></font></font>Mit diesem Befehl wird eine Template Collection dem Web zugewiesen.</div>
<div><font face="Courier New" color="#000000" size=2><font size=2><font size=2></font></font></font> </div>
<div><font face="Courier New" color="#000000" size=2><font size=2><font size=2>SPWebTemplateCollection templates = site.GetWebTemplates(lcid);<br></font></font></font>Mit diesem Befehl bekommt man alle verfügbaren Templates. Nicht nur die die für ein Web verfügbar sind.</div>
<div> </div>
<div>Dann gibt es noch vergleichbare Befehle um nur CustomTemplates zu bekommen:</div>
<div><font face="Courier New" color="#000000" size=2>site.GetCustomWebTemplates(lcid);</font></div>
<div><font face="Courier New"><font face=Verdana></font></font> </div>
<div><font face="Courier New"><font face=Verdana>Um wieder alle Templates für ein SPWeb verfügbar zu machen kann folgender Befehl genutzt werden:</font></font></div>
<div><font face="Courier New" color="#000000" size=2>web.AllowAllWebTemplates();</font></div>
<div><font face="Courier New"><font face=Verdana></font></font> </div>
<div><font face="Courier New"><font face=Verdana>Eine gute Anleitung um Templates von einem SPWeb zu entfernen gibt es <a href="http://blogs.msdn.com/sridhara/archive/2007/07/29/what-if-you-need-to-hide-site-templates-in-moss-2007.aspx">hier</a>.</font></font></div>
<div><font face="Courier New"><font face=Verdana></font></font> </div>
<div><font face="Courier New"><font face=Verdana>Gruß,</font></font></div>
<div><font face="Courier New"><font face=Verdana>Volker</font></div></font></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 27.02.2009 14:42</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Fri, 27 Feb 2009 13:58:00 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=67</guid>
    </item>
    <item>
      <title>How to add a corrupt Database without Logfile to SQL 2005</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=66</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass68100274B8AE4A5D84160C023588B7EC>
<p>Hallo, </p>
<p>heute hatte ich ein kleines Problem mit meiner SharePoint_Config DB. Warum auch immer konnte ich nicht mehr auf die Datenbank zugreifen. Die DB war Corrupt. Da mein Backup auch nicht sauber gelaufen ist konnte ich mich nun entscheiden die Config DB neu zu erstellen oder mich daran zu versuchen die Datenbank irgendwie wieder ans rennen zu bekommen. Ich habe mich dann für den Weg 2 entschieden :-) </p>
<p>Das waren die Ausgangsbedingungen: </p>
<ul>
<li>Datenbank ist korrupt. Der Zugriff auf die Datenbank per SQL Enterprise Manager funktionierte nicht mehr. Es gab eine Fehlermeldung. </li>
<li>Ein Backup war nicht vorhanden. </li>
<li>Bei näherem Untersuchen schien das Logfile der Datenbank korrupt zu sein. </li>
<li>Während der verschiedenen Versuche habe ich herausgefunden das auch die Datenbank selbst keinen &quot;clean shutdown&quot; durchgeführt hatte. </li></ul>
<p>Hier der Weg den ich genutzt habe um die Datenbank wieder ans Laufen zu bekommen: </p>
<p>Zuerst müssen die SQL Dienste beendet werden, die Datenbankfiles (mdf und ldf) kurzfristig umbenannt, die Dienste neu gestartet und anschließend die Datenbank aus dem SQL Manager gelöscht werden. Das umbenennen der Datenbanken ist notwendig da der Enterprise Manager sonst beim Löschen der Datenbank die Files gegebenenfalls mit wegwerfen würde. </p>
<p>Nachdem die Datenbank gelöscht wurde wird eine neue Datenbank mit gleichem Namen und gleichen Dateieien (gleicher Pfad und gleicher Name) erstellt. Die Anfangsgrößen der Dateien sind egal. Anschließend wird im Enterprise Manager ein neues Query Fenster geöffnet und in der Baumstruktur die neue Datenbank (also die gerade erstellte) ausgewählt. Dort wird folgender Befehl ausgeführt: </p>
<p><span style="font-family:Courier New">alter database SharePoint_Config set emergency </span></p>
<p>Damit wird die Datenbank in einen Notfallmodus versetzt. Dieser Modus wird in der Master Datenbank gespeichert. Als nächstes werden nun die SQL Server Dienste wieder beendet und die neuen Datenbankdateien der neuen Datenbank gelöscht. Die zuvor umbenannte originale Datenbank wird wieder zurückbenannt. Das Logfile wird nicht wieder zurückbenannt. Anschließend werden die SQL Dienste wieder gestartet. Die Datenbank hat in diesem Moment kein Logfile! </p>
<p> <span style="font-family:Courier New">ALTER DATABASE SharePoint_Config<br>SET single_user WITH ROLLBACK IMMEDIATE;<br>go<br>DBCC checkdb ('SharePoint_Config', repair_allow_data_loss);<br>go </span></p>
<p>Als nächstes muss die Datenbank in den Single User Mode gesetzt werden. Dazu einfach folgende Befehle ausführen. Natürlich muss der Datenbankname &quot;SharePoint_Config&quot; angepasst werden. Durch den DBCC Befehl wird ein neues Logfile erstellt. Da aber das Original Logfile nicht mehr lesbar ist kann es hier aber zu Datenverlust kommen. Bei mir war das nicht so schlimm da ich sowieso länger nichts geändert hatte. Häufig sind aber fast alle Daten aber besser als keine Daten haben ;-) </p>
<p>Achtung! Das Queryfenster darf nach diesen Befehlen nicht geschlossen werden da sonst der Admin keine Änderungen mehr durchführen kann. Zum Schluss muss dann die Datenbank wieder in den Mulit_User Betrieb zurückgesetzt werden: </p>
<p><span style="font-family:Courier New">USE [master]<br>GO<br>ALTER DATABASE SharePoint_Config SET MULTI_USER WITH ROLLBACK IMMEDIATE<br>GO<br>ALTER DATABASE SharePoint_Config SET MULTI_USER <br>GO </span></p>
<p>Gruß,<br>Volker </p>
<p>Hello, </p>
<p>after the german explanation here a short english explanation for all others. <br>Today i have some trouble with a SQL 2005 Database. The logfile and the databasefile are corrupt. So what can i do? Here a little way who helped me: </p>
<p>First you stopp the SQL Server services and rename the corrupt database files (log and db file). then restart the services and delete the datebase from the SQL Enterprise Manager. After that we create a new emtpy database with the same name and the same database files. Please use the same paths. Next you must open a query window and execute the following code: </p>
<p><span style="font-family:Courier New">alter database SharePoint_Config set emergency </span></p>
<p>Now the db is in emergency mode. We stopp the SQL Server services again, delete die new db and logfile files, rename the original db file back to the original name and restart the services. Now we execute some other SQL commands: </p>
<p><span style="font-family:Courier New">ALTER DATABASE SharePoint_Config<br>SET single_user WITH ROLLBACK IMMEDIATE;<br>go<br>DBCC checkdb ('SharePoint_Config', repair_allow_data_loss);<br>go </span></p>
<p>After that, the DB is in single user mode and the logfiles are back again. Now we must set the db back to Multi_User mode. Please do not close the Query Window! </p>
<p><span style="font-family:Courier New">USE [master]<br>GO<br>ALTER DATABASE SharePoint_Config SET MULTI_USER WITH ROLLBACK IMMEDIATE<br>GO<br>ALTER DATABASE SharePoint_Config SET MULTI_USER <br>GO </span></p>
<p>Now the database is back. Please check if data is lost. </p>
<p>Regards,<br>Volker </p></div></div>
<div><b>Kategorie:</b> Windows</div>
<div><b>Veröffentlicht:</b> 05.02.2009 09:27</div>
]]></description>
      <author>Volker Helms</author>
      <category>Windows</category>
      <pubDate>Thu, 05 Feb 2009 08:21:17 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=66</guid>
    </item>
    <item>
      <title>Temporäre Unpässlichkeit</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=65</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass0EEC91BAFC84419BA7E27C89F431D0B6><div>Hallo zusammen,</div>
<div> </div>
<div>da ich momentan eine Umstellung der Internetverbindung durchführe kann es hin und wieder zu kurzzeiten Problemen bei dem Seitenaufbau kommen. Bitte probiert es einfach kurze Zeit später noch einmal. Bis Ende der Woche sollte es dann wieder normal laufen.</div>
<div> </div>
<div>Gruß,</div>
<div>Volker</div></div></div>
<div><b>Kategorie:</b> Sonstiges</div>
<div><b>Veröffentlicht:</b> 14.01.2009 21:37</div>
]]></description>
      <author>Volker Helms</author>
      <category>Sonstiges</category>
      <pubDate>Wed, 14 Jan 2009 20:39:55 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=65</guid>
    </item>
    <item>
      <title>Fragen zu Vista? Antworten von Microsoft.</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=64</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClassDDD86C7FE47E4A86B80D4A4EDD4A0E5F><div>Hallo,</div>
<div> </div>
<div>da es ja doch noch viele Fragen zu Windows Vista gibt hat Microsoft nun eine neue Webseite zur Verfügung gestellt. Bisher habe ich zwar noch nicht so viel dort gelesen aber ich denke es ist eine gute Idee. Vor allem da es dort auch eine Community gibt die einem bei unbeantworteten Fragen weiterhilft.</div>
<div>Leider ist die Seite bisher nur in Englisch.</div>
<div> </div>
<div>Hier der <a href="http://answers.microsoft.com/">Link</a>.</div>
<div> </div>
<div>Gruß,</div>
<div>Volker</div></div></div>
<div><b>Kategorie:</b> Windows</div>
<div><b>Veröffentlicht:</b> 19.12.2008 08:43</div>
]]></description>
      <author>Volker Helms</author>
      <category>Windows</category>
      <pubDate>Fri, 19 Dec 2008 07:45:57 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=64</guid>
    </item>
    <item>
      <title>Installation Adobe PDF IFilter für Sharepoint auf Windows 2003 x64</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=59</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass0EED4C25EB5C4A0A8B42C271AE24EB3B>
<p><font color="#ff0000">Achtung:</font> Adobe hat einen IFilter als Release Version herausgebracht. Dieser Artikel bezieht sich aber auf die Beta Version des Filters. Die Release Version habe ich noch nicht ausprobiert - liefere die Infos aber nach sobald ich das gemacht habe. Zu finden ist der Filter <a href="http://www.adobe.com/support/downloads/detail.jsp?ftpID=4025">hier</a>.</p>
<p>Da ich einige Probleme hatte den Adobe Acrobat Reader PDF IFilter auf einem Moss Server mit Windows 2003 x64 zu installieren möchte ich euch heute meine Lösung zur Verfügung stellen. Für die Installation des PDF IFilters wird folgendes benötigt: </p>
<ul>
<li>Windows Server 2003 x64 </li>
<li>Wss V3 oder Moss x64 </li>
<li>Acrobat Reader 8.1.2 (<a href="http://download.adobe.com/pub/adobe/reader/win/8.x/8.1.2/enu/AdbeRdr812_en_US.msi">Download)</a> </li>
<li>PDF IFilter for x64 beta (<a href="http://download.macromedia.com/pub/labs/pdf_ifilter8/pdf_ifilter8_64bit_p1_110607.zip">Download</a>) </li>
<li>Windows Desktop Search 4.0 x64 (<a href="http://www.microsoft.com/downloads/details.aspx?familyid=206DF1B0-05AD-4563-8EB9-B0620420471C&amp;displaylang=de">Download</a>) </li></ul>
<p>Zuerst muss man wissen wie der Filter funktioniert um später eine Fehlersuche einfacher zu gestalten. Der IFilter der mit dem Acrobat Reader 8.1.2 mitgeliefert wird ist nicht x64 tauglich (Version 9 auch nicht – ich habe aber Version 8.1.2 genutzt). Ein Wss oder Moss Server kann aber nur mit x64 IFiltern arbeiten. Also hat Adobe auf einen Trick zurückgegriffen. Die haben mit dem PDF IFilter x64 einfach eine Art Mapper gebaut. Die x64 Dll nimmt die Anfrage an und reicht diese an den x86 Filter weiter. Damit die Dll die Anfrage weiter reichen kann greift die x64 Dll auf eine Proxydll der Windows Desktop Search zu. Daher ist es wichtig die Desktop Search auf dem Sharepoint Server zu installieren und am besten später zu deaktivieren. Die Suche selbst wird nicht benötigt sondern nur die Proxydll. </p>
<h2>Installationsablauf: </h2>
<h3>Installation des Acrobat Reader 8.1.2 </h3>
<p>Zuerst wird der Acrobat Reader ganz normal auf dem Index Server der Sharepoint Farm installiert. </p>
<h3>Installation PDF IFilter for x64 </h3>
<p>Anschließend wird die x64 Dll installiert und konfiguriert. Das Zip Archiv wird in den Ordner C:\Program Files (x86)\Adobe\Reader 8.0\Reader entpackt. Achtung! Wird das Archiv in einem anderen Verzeichnis entpackt sollten die Dateien nicht in das Verzeichnis verschoben sondern kopiert werden. Beim verschieben werden die Dateiberechtigungen nicht richtig gesetzt und der Filter läuft später nicht. </p>
<p>Als nächstes starten wir cmd.exe und wechseln in das Verzeichnis C:\Program Files (x86)\Adobe\Reader 8.0\Reader. Nun rufen wir diese Befehle auf: </p>
<ul>
<li>&quot;C:\Program Files (x86)\Adobe\Reader 8.0\Reader\PDFThunkingSvr.exe&quot; –RegServer </li>
<li>&quot;C:\Windows\system32\regsvr32.exe&quot; &quot;C:\Program Files (x86)\Adobe\Reader 8.0\Reader\PDFFilter64.dll&quot; </li></ul>
<p>Nun müssen ein paar Einstellungen Konfiguriert werden. Als erstes werden ein paar Berechtigungen in den Component Services gesetzt. Dazu starten wir über &quot;Administrative Tools &gt; Component Services&quot; die Component Services Management Console. Dort gehen wir auf &quot;Component Services &gt; Computer &gt; My Computer &gt; DCOM Config &gt; PDFThunkingSvr&quot;. Hinweis: Wenn beim Aufruf eine Konfigurationswarung auftritt sollte diese mit &quot;Yes&quot; bestätigt werden. Neue Components werden damit registriert. </p>
<p><a title="&quot;Image:Pdf_ifilter8_s6.jpg&quot;" href="http://labs.adobe.com/wiki/index.php/Image:Pdf_ifilter8_s6.jpg"><img alt="" src="http://blog.isrichtig.de/Lists/Fotos/101508_0843_Installatio1.jpg" border=0></a> </p>
<ul>
<li>Rechtsklick auf &quot;PDFThunkingSvr&quot; und dann &quot;Properties&quot;. </li>
<li>Auf die Registerkarte &quot;Security&quot; wechseln. </li>
<li>Unter &quot;Launch and Activation Permissions&quot;, &quot;Customize&quot; auswählen und dann &quot;Edit&quot;.<br><a title="&quot;Image:Pdf_ifilter8_s9.jpg&quot;" href="http://labs.adobe.com/wiki/index.php/Image:Pdf_ifilter8_s9.jpg"><img alt="" src="http://blog.isrichtig.de/Lists/Fotos/101508_0843_Installatio2.jpg" border=0></a> </li>
<li>Wenn der &quot;LOCAL SERVICE&quot; Account nicht vorhanden ist muss dieser Hinzugefügt werden. </li>
<li>Der &quot;LOCAL SERVICE&quot; Account benötigt &quot;Local Launch&quot; und &quot;Local Activation&quot; Rechte.<br><a title="&quot;Image:Pdf_ifilter8_s11.jpg&quot;" href="http://labs.adobe.com/wiki/index.php/Image:Pdf_ifilter8_s11.jpg"><img alt="" src="http://blog.isrichtig.de/Lists/Fotos/101508_0843_Installatio3.jpg" border=0></a> </li>
<li>Die Rechte müssen ebenfalls für den Search und den Crawl Account des Shared Service Providers gesetzt werden. Falls Berechtigungen fehlen wird später während der Suche ein DCOM Fehler im System EventLog geschrieben. </li>
<li>Nun alles mit Ok bestätigen. </li>
<li>Als nächstes wählen wir den DCOM Service &quot;IIS WAMREG admin Service&quot; aus und wechseln wieder in auf den Reiter &quot;Security&quot;. Auch hier fügen wird den Account &quot;LOCAL SERVICE&quot; sowie den Search und Crawl Account des Shared Service Providers hinzu und geben den Accounts die Rechte &quot;Local Launch&quot; und &quot;Local Activation&quot;. </li></ul>
<h3>Konfiguration der Registry Keys </h3>
<p>Nun müssen wir den IFilter noch für Wss und gegebenenfalls für Moss konfigurieren. Dazu laden wir zuerst mein <a href="http://blog.isrichtig.de/Downloads/PDF-IFilterAddons.rar">AddOn Pack</a> herunter und entpacken die Datei. Nun bearbeiten wir als erstes die Datei PDFfilterRegistry.reg. Der erste Teil ist für Wss der zweite wird zusätzlich benötigt für eine Moss Installation. Achtung! Die Datei darf nur benutzt werden wenn der IFilter direkt nach der Installation von Wss oder Moss installiert wird. Sind bereits andere zusätzliche Filter installiert müssen die Einträge manuell erstellt werden! </p>
<ul>
<li>Im ersten Key muss der Wert [MyGuid] durch die entsprechende Guid aus der eigenen Registry getauscht werden. Also einfach Regedit.exe starten, in den Pfad wechseln und die Guid in die Datei kopieren. </li>
<li>Der zweite Key setzt die Guid für den IFilter auf die entsprechende Dll. Achtung, wird Version 9 des <a href="http://bloggingabout.net/blogs/harold/archive/2008/10/02/index-pdf-documents-on-sharepoint-using-adobe-pdf-ifilter-9.aspx">Acrobat Readers</a> genutzt muss hier die Guid angepasst werden. </li>
<li>Der dritte Key setzt ein paar Werte für den IFilter. </li>
<li>Der vierte Key setzt die C:\Program Files (x86)\Adobe\Reader 8.0\Reader\pdffilter64.dll im Indexdienst. </li>
<li>Die Moss Keys entsprechen den Wss Keys. Bitte den [MyGuid] Key neu aus der Registry auslesen. Diese unterscheiden sich.</li></ul>
<h3>Installation Windows Desktop Search </h3>
<p>Als nächstes wird die Windows Desktop Search installiert. Wichtig ist hier eigentlich nur das es die x64 Version ist. Als nächstes passen wir ein paar Sachen an damit die Desktop Search deaktiviert ist und den Sharepoint Server nicht belastet. </p>
<ul>
<li>Installation Windows Desktop Search </li>
<li>Entfernen des Autostart Eintrags aus &quot;Start &gt; Programs &gt; Startup&quot; entfernen. </li>
<li>Rechtsklick auf die Taskbar &gt; Toolbars &gt; Windows Search Deskbar deaktivieren. </li>
<li>Ausführen der Regdatei DisableWindowsDesktopSearch.reg. Diese setzt im Windows Explorer wieder die Standardsuche und erlaubt das durchsuchen aller Dateien (Add-On Feature – normalerweise werden nicht alle Textdateien durchsucht). Siehe auch <a href="http://www.hanselman.com/blog/HowToDisableWindowsDesktopSearchExplorerIntegrationAfterInstallingOffice2007.aspx">hier</a>. </li>
<li>Deaktivieren des Dienstes &quot;Windows Search&quot; </li></ul>
<h3>Anpassen der DOCICON.XML </h3>
<p>Damit der Sharepoint in der Suche auch PDF Icons anzeigt muss die Datei &quot;C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\XML\DOCICON.XML&quot; angepasst werden. Entweder kopiert Ihr meine Datei einfach in den Ordner (Achtung! Nur wenn die Datei bisher nicht verändert wurde) oder ihr fügt folgenden Text in der DOCICON.XML hinzu: </p>
<p><span style="font-size:8pt;font-family:Courier New">&lt;ByExtension&gt;<br>    &lt;Mapping Key=&quot;pdf&quot; Value=&quot;icpdf.gif&quot;/&gt; </span></p>
<p>Der Key &lt;ByExtension&gt; ist bereits vorhanden und der andere Key muss in dieser Region erstellt werden. </p>
<p>Anschließend muss noch die Bilddatei &quot;icpdf.gif&quot; nach &quot;C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\IMAGES&quot; kopiert werden. </p>
<h3>Hinzufügen des PDF FileTypes in der Search Administration </h3>
<p>Zuerst rufen wir die Seite <a href="http://url2ssp/ssp/admin/_layouts/managefiletypes.aspx">http://url2ssp/ssp/admin/_layouts/managefiletypes.aspx</a> auf. Dort fügen wir dann &quot;pdf&quot; zu den Filetypes hinzu. </p>
<p><img alt="" src="http://blog.isrichtig.de/Lists/Fotos/101508_0843_Installatio4.png"> </p>
<p>Anschließend muss der Server neu gestartet und ein &quot;Full Crawl&quot; angestoßen werden. </p>
<h2>Sonstiges </h2>
<p>In meinem Add-On Pack gibt es eine Datei &quot;FiltDump.exe&quot; mit dieser Datei kann der Filter getestet werden. Dazu einfach &quot;FiltDump.exe file.pdf&quot; aufrufen und das Ergebnis studieren. Die Datei stammt aus dem Search SDK von Microsoft. Das Ergebnis heißt allerdings nur das die IFilter DLL richtig funktioniert und nicht das die Suche im Moss funktioniert. </p>
<p>Unter <a href="http://labs.adobe.com/wiki/index.php/PDF_iFilter_8_-_64-bit_Support">http://labs.adobe.com/wiki/index.php/PDF_iFilter_8_-_64-bit_Support</a> findet sich die Anleitung direkt von Adobe die aber meiner Meinung nach nicht vollständig ist bzw. nicht alles wichtige erklärt. </p>
<p>For our english speaking visitors: Please use <a href="http://translate.google.de/translate?u=http://blog.isrichtig.de/Lists/Beitraege/Post.aspx?ID%3D59&amp;hl=de&amp;ie=UTF-8&amp;sl=de&amp;tl=en">this link</a> to get a translation.</p></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 15.10.2008 10:43</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Wed, 15 Oct 2008 08:43:56 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=59</guid>
    </item>
    <item>
      <title>IIS7 32Bit Applicationen unter Windows 2008 x64</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=63</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass98435D9172994C3688F4B31EB21C017B><p>Hallo,
</p><p>heute hatte ich mal wieder mit dem IIS7 unter Windows 2008 x64 zu kämpfen. Ich wollte eine Webapplication nutzen die eine 32bit DLL nutzt. Dazu muss die entsprechende Webanwendungen mit einem Application Pool konfiguriert sein der 32bit DLLs unterstützt. Dazu muss man erst einmal einen neuen Application Pool erstellen. Anschließend ruft man die Advanced Settings des Application Pools auf und setzt &quot;Enable 32-Bit Applications&quot; auf &quot;True&quot;.
</p><p><img src="http://blog.isrichtig.de/Lists/Fotos/112508_2008_IIS732BitAp1.png" alt="">
	</p><p>Nachdem dies erledigt war habe ich die Webanwendung gestartet und festgestellt, dass mein neu erstellter 32-Bit Application Pool sofort beendet wurde. Im Eventlog tauchten folgende Fehler auf:
</p><ul><li>Event ID: 2280, Source: IIS-W3SVC-WP, &quot;The Module DLL C:\Windows\system32\RpcProxy\RpcProxy.dll failed to load.  The data is the error.&quot;
</li><li>Event ID: 5139, Source: WAS, &quot;A listener channel for protocol 'http' in worker process '11776' serving application pool 'DefaultAppPool32bit' reported a listener channel failure.  The data field contains the error number.&quot;
</li><li>Event ID: 5002, Source: WAS, &quot;Application pool 'DefaultAppPool32bit' is being automatically disabled due to a series of failures in the process(es) serving that application pool.&quot;
</li></ul><p>Woran liegt dies nun und vor allem warum tritt der Fehler bei der RpcProxy.dll auf? Das Problem liegt daran, dass beim Umschalten eines Application Pools auf 32- Bit der komplette IIS7 auf 32- Bit Kompatiblität gesetzt wird – nicht nur der entsprechende Application Pool. Da die RpcProxy.dll nur 64- Bit unterstützt tritt nun dies Problem auf. Das Problem kann auch nicht verändert werden wenn für die 32- Bit Web Anwendung eine eigene Webseite genutzt wird. Die RpcProxy.dll kommt übrigens durch Exchange 2007 oder die Terminal Gateway Services.
</p><p>Was können wir also tun? Wir können die DLL deinstallieren (also Exchange 2007 oder die Terminal Gateway Services) was ich persönlich ziemlich doof finde :-)<br>Die Andere Möglichkeit ist das Ausschließen der DLL aus der applicationHost.config. Die Datei befindet sich im Verzeichnis &quot;C:\Windows\System32\inetsrv\config&quot;. Also die Datei geöffnet und nach folgender Zeile:
</p><p><span style="font-family:Courier New;font-size:8pt">&lt;add name=&quot;PasswordExpiryModule&quot; image=&quot;C:\Windows\system32\RpcProxy\RpcProxy.dll&quot; /&gt;
</span></p><p>Diese Zeile muss unter &quot;&lt;globalModules&gt;&quot; sein. Die Zeile wird durch:
</p><p><span style="font-family:Courier New;font-size:8pt">&lt;add name=&quot;PasswordExpiryModule&quot; image=&quot;C:\Windows\system32\RpcProxy\RpcProxy.dll&quot; preCondition=&quot;bitness64&quot; /&gt;
</span></p><p>ersetzt. Wenn wir anschließend unsere Webanwendung erneut aufrufen bekommen wir einen weiteren Fehler. Diesmal ist es ein ISAPI Fehler. Im Eventlog taucht folgender Eintrag auf:
</p><ul><li>Event ID: 2274, Source: IIS-W3SVC-WP, &quot;ISAPI Filter 'C:\Program Files\Microsoft\Exchange Server\ClientAccess\owa\auth\owaauth.dll' could not be loaded due to a configuration problem. The current configuration only supports loading images built for a x86 processor architecture. The data field contains the error number.&quot;
</li><li>Event ID: 2268, Source: IIS-W3SVC-WP, &quot;Could not load all ISAPI filters for site 'DEFAULT WEB SITE'.  Therefore site startup aborted.&quot;
</li></ul><p>Also haben wir noch ein weiteres Problem. Wir öffnen wieder die applicationHost.config und suchen diesmal unter &lt;isapiFilters&gt; die Zeile:
</p><p><span style="font-family:Courier New;font-size:8pt">&lt;filter name=&quot;Exchange OWA Cookie Authentication ISAPI Filter&quot; path=&quot;C:\Program Files\Microsoft\Exchange Server\ClientAccess\owa\auth\owaauth.dll&quot; enabled=&quot;true&quot; preCondition=&quot;bitness64&quot; /&gt;
</span></p><p>Hier habe ich schon den Wert preCondition=&quot;bitness64&quot; hinzugefügt. Ihr müsst das ebenfalls machen. Nun müssen wir das ganze noch bei einem weiteren Eintrag machen. Ebenfalls unter &lt;isapiFilters&gt;:
</p><p><span style="font-family:Courier New;font-size:8pt">&lt;filter name=&quot;Exchange ActiveSync ISAPI Filter&quot; path=&quot;C:\Program Files\Microsoft\Exchange Server\ClientAccess\sync\bin\AirFilter.dll&quot; enabled=&quot;true&quot; preCondition=&quot;bitness64&quot; /&gt;
</span></p><p>Anschließend noch mal schnell die 32- Bit Web Anwendung gestartet und siehe da nu läufts und kein Application Pool fällt auf die Nase.
</p><p>Prima!
</p><p>Gruß,<br>Volker</p></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 25.11.2008 21:08</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Tue, 25 Nov 2008 20:08:23 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=63</guid>
    </item>
    <item>
      <title>Sharepoint TimerJobTool</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=61</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClassB2017F057A144E9EB59C97691C6F3795>
<p>Hallo, </p>
<p>ich habe ein kleines Tool erstellt um Timerjobs auf einer Sharepoint Web Application zu löschen, starten oder auch über eine DLL hinzuzufügen. Das Tool ist in einer ersten Version – es können also noch Probleme auftauchen. </p>
<p><img alt="" src="http://blog.isrichtig.de/Lists/Fotos/112108_1026_SharepointT1.png"> </p>
<p><a href="http://blog.isrichtig.de/Downloads/TimerJobTool.rar">Download</a> </p>
<p>Gruß,<br>Volker</p></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 21.11.2008 11:26</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Fri, 21 Nov 2008 10:26:26 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=61</guid>
    </item>
    <item>
      <title>Sharepoint „Link als E-Mail versenden“ formatiert Umlaute falsch</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=60</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClassFDA79424DB4C457AB32D123236766EF6><p>Hallo,
</p><p>heute geht es um ein Problem mit der &quot;Senden an &gt; Link als E-Mail versenden&quot; Funktion.
</p><p>
		<img src="http://blog.isrichtig.de/Lists/Fotos/103108_1455_SharepointL1.png" alt="">
	</p><p>Ist in der URL ein Sonderzeichen oder auch &quot;non-Englisch&quot; Zeichen wird der Link in der Mail fehlerhaft gebildet. Das Problem liegt in der CORE.JS und wird von Microsoft in dem Februar Updatepaket <a href="http://support.microsoft.com/?scid=kb;en-us;948957&amp;x=8&amp;y=12">KB948957</a> behoben. Da selbst Microsoft sagt das diese &quot;hotfix packages&quot; Cumulative sind (siehe <a href="http://blogs.msdn.com/sharepoint/archive/2008/09/29/announcing-august-cumulative-update-for-office-sharepoint-server-2007-and-windows-sharepoint-services-3-0.aspx">Updatereihenfolge</a>) würde man vermuten das die Datei auch in dem Paket vom Mai, August oder Oktober dabei ist. Weit gefehlt! Microsoft hat leider vergessen die JavaScript Dateien mit rein zu packen sodass diese nicht mit aktualisiert werden. Noch schlimmer ist das die CORE.JS im Infrastructure Update aktualisiert wird – und damit die &quot;Send As&quot; Funktion wieder zerstört. Dort haben die die Änderung aus dem Februar nämlich nicht mit ein gepflegt. Nun kann man zwar das Februarupdate nachinstallieren, da die anderen Updates aber eine neuere Version beinhalten ist das wahrscheinlich nicht die beste Idee. Ich wundert sowieso warum ich das Februarupdate noch nach bereits installiertem Oktoberupdate installieren kann.
</p><p>Was also tun?
</p><p>Möglichkeit1:<br>Einfach das Februarupdate installieren und hoffen das alles gut wird. Ein Einfaches kopieren der funktionierenden CORE.JS auf ein nicht funktionierendes System klappt übrigens nicht.
</p><p>Möglichkeit2:<br>Die CORE.JS öffnen und nach folgendem Sting suchen:
</p><p style="text-align:center"><span style="color:red;font-family:Courier New;font-size:8pt">fileUrl=escapeProperly(httpRootWithSlash.substr(0, slashLoc))+currentItemUrl;
</span></p><p>und durch diesen ersetzen:
</p><p style="text-align:center"><span style="color:red;font-family:Courier New;font-size:8pt">fileUrl=escapeProperly(httpRootWithSlash.substr(0, slashLoc))+currentItemEscapedFileUrl;
</span></p><p>Diesen Tipp habe ich von <a href="http://lirliron.blogspot.com/2007/08/send-link-by-email-broken-url.html">Lirons Seite</a>.
</p><p>Gruß,<br>Volker</p></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 31.10.2008 15:55</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Fri, 31 Oct 2008 14:55:25 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=60</guid>
    </item>
    <item>
      <title>Content Type per Code auf einem Element setzen</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=58</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass29DB16E91B6C4CAD9854AD52910E1BA3><div>Hallo,</div>
<div> </div>
<div>um den Content Type auf einem Element per Code zu setzten muss man mal auf <a href="http://www.alexbruett.net/?p=5">dieser Seite</a> vorbeischauen. Alexander Brütt hatte da auch schon mal Probleme mit und hat eine Lösung veröffentlicht.</div>
<div> </div>
<div>Gruß,</div>
<div>Volker</div></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 24.09.2008 09:42</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Wed, 24 Sep 2008 07:44:27 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=58</guid>
    </item>
    <item>
      <title>Sharepoint FieldTypes</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=57</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClassC8094C3A48BD45D38863039397F9142A><div>Hallo,</div>
<div> </div>
<div>Hier mal eine Übersicht welches Feld welcher Klasse entspricht. Gefunden habe ich die Info <a href="http://www.kivati.com/support/kb/Pages/9988.aspx">hier</a>:</div>
<div> </div>
<table style="width:100%">
<tbody>
<tr>
<td><font size=2><u>Display Name</u></font></td>
<td><font size=2><u>Internal Type Name</u></font></td></tr>
<tr>
<td><font size=2>Single line of text</font></td>
<td><font size=2>SPFieldText</font></td></tr>
<tr>
<td><font size=2>Multiple lines of text</font></td>
<td><font size=2>SPFieldMultiLineText</font></td></tr>
<tr>
<td><font size=2>Choice (drop-down)</font></td>
<td><font size=2>SPFieldChoice</font></td></tr>
<tr>
<td><font size=2>Choice (checkboxes)</font></td>
<td><font size=2>SPFieldMultiChoice</font></td></tr>
<tr>
<td><font size=2>Choice (radio buttons)</font></td>
<td><font size=2>SPFieldMultiChoice</font></td></tr>
<tr>
<td><font size=2>Number</font></td>
<td><font size=2>SPFieldNumber</font></td></tr>
<tr>
<td><font size=2>Currency</font></td>
<td><font size=2>SPFieldCurrency</font></td></tr>
<tr>
<td><font size=2>Date and Time</font></td>
<td><font size=2>SPFieldDateTime</font></td></tr>
<tr>
<td><font size=2>Lookup</font></td>
<td><font size=2>SPFieldLookup</font></td></tr>
<tr>
<td><font size=2>Yes/No (check box)</font></td>
<td><font size=2>SPFieldBoolean</font></td></tr>
<tr>
<td><font size=2>Person or Group</font></td>
<td><font size=2>SPFieldUser</font></td></tr>
<tr>
<td><font size=2>Hyperlink or Picture</font></td>
<td><font size=2>SPFieldUrl</font></td></tr>
<tr>
<td><font size=2>Calculated</font></td>
<td><font size=2>SPFieldCalculated</font></td></tr>
<tr>
<td><font size=2>Rating Scale</font></td>
<td><font size=2>SPFieldRatingScale</font></td></tr>
<tr>
<td><font size=2>Page Separator</font></td>
<td><font size=2>SPFieldPageSeparator</font></td></tr></tbody></table></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 23.09.2008 20:50</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Tue, 23 Sep 2008 19:12:01 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=57</guid>
    </item>
    <item>
      <title>BadImageFormatException 0x8007000B</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=56</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass20EDA8756C2E42EF84C6D5607A5F7030><p>Hallo,</p>
<p>Falls jemand auf einem x64 System schon mal bei der Programmierung mit C# den Fehler &quot;BadImageFormatException&quot; mit dem Errorcode &quot;0x8007000B&quot; erhalten hat sollte einmal unter Build die Compilierung auf x86 stellen. Vermutlich wurde eine 32bit DLL eingebunden die nun, da das Build mit 64bit compiliert wird nicht mehr genutzt werden kann und dann diesen Fehler hervorruft.</p>
<p>Gruß,<br>Volker</p></div></div>
<div><b>Kategorie:</b> Coding</div>
<div><b>Veröffentlicht:</b> 23.09.2008 20:41</div>
]]></description>
      <author>Volker Helms</author>
      <category>Coding</category>
      <pubDate>Tue, 23 Sep 2008 18:44:14 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=56</guid>
    </item>
    <item>
      <title>Vista: Keine Verbindung zum WLan möglich</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=54</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClassC9A0B208964842A89B60E11F100BF99B>
<div>Nach einem Virusbefall kann es vorkommen das eine Verbindung zum WLan nicht mehr funktioniert. Das passiert z.B. nach einem Virusbefall von W32.Beagle.gen. Der Virus ist übrigens nicht einfach wieder vom System wegzubekommen. Ich habe daher noch einen <a href="http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=55">anderen Artikel</a> geschrieben wo es darum geht den Virus zu entfernen.</div>
<div>Zurück zum Fall. Nachdem der Virus entfernt wurde funktioniert die Wlan Verbindung nicht mehr. Bei Vista kann es passieren das das Netzwerksymbol untren rechts gar nicht mehr auftaucht. Daher sollte man zuerst die Netzwerkkarte im Gerätemanager entfernen (die WLankarte - die normale Netzwerkkarte sollte noch funktionieren). Anschließend wir die WLan Karte neu installiert. Nach der Installation sollte das Netzwerksymbol wieder auftauchen. Eine Verbindung ist aber immer noch nicht möglich. Ein Blick in den Dienstemanager zeigt das der Dienst &quot;Automatische WLAN-Konfiguration&quot; oder &quot;Windows Wireless Service&quot; nicht gestartet ist und sich auch nicht starten lässt.</div>
<div>Versucht man den Dienst zu starten kommt ein Fehler &quot;Error 1068: The dependency service or group failed to start&quot;.</div>
<div>Um das Problem zu beheben sind folgende Schritte notwendig:</div>
<ul>
<li>Start, Programs\Accessories and right click on Command Prompt, select &quot;Run as Administrator&quot; to open a command prompt.</li>
<li>Reset WINSOCK entries: netsh winsock reset catalog</li>
<li>Reset IPv4 TCP/IP stack: netsh int ipv4 reset reset.log</li>
<li>Reset IPv6 TCP/IP stack: netsh int ipv6 reset reset.log</li>
<li>Open regedit.exe</li>
<li>Go to HKLM/SYSTEM/CurrentControlSet/Services/Ndisuio</li>
<li>Look at the &quot;Start&quot; entry. If that is set to 4, change it to 3.</li>
<li>Reboot</li></ul>
<div>Fertig! Nach dem Neustart sollte WLan wieder funktionieren.</div>
<div>Gruß,<br>Volker</div></div></div>
<div><b>Kategorie:</b> Windows</div>
<div><b>Veröffentlicht:</b> 12.09.2008 18:18</div>
]]></description>
      <author>Volker Helms</author>
      <category>Windows</category>
      <pubDate>Fri, 12 Sep 2008 15:35:32 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=54</guid>
    </item>
    <item>
      <title>W32.Beagle.gen von Vista entfernen</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=55</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClassE6B9538D9A684A349185612D83BBB197><div>Hallo,</div>
<div> </div>
<div>um den Virus W32.Beagle.gen zu entfernen bedarf es einiger Schritte. Ich habe mal kurz meinen Hergang zusammengeschrieben.</div>
<div> </div>
<div>Folgende Programme werden benötigt:</div>
<ul>
<li><a href="http://download.bleepingcomputer.com/sUBs/ComboFix.exe">ComboFix</a> - <a href="http://www.bleepingcomputer.com/combofix/de/wie-combofix-benutzt-wird">Anleitung</a></li>
<li><a href="http://www.zdnet.de/windows_system_verbessern_hijackthis_download-39002345-20756-1.htm">HighJackThis</a> - <a href="http://www.hijackthis.de/">LogFileAnalyse</a></li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AD724AE0-E72D-4F54-9AB3-75B8EB148356&amp;displaylang=en">Microsoft Windows Malicious Software Removal Tool</a></li></ul>
<div>Zuerst wird der Rechner im abgesicherten Modus gestartet. Dies ist wichtig da im Abgesicherten Modus nur die notwendigen Dienste gestaretet werden und ein Virus normalerweise nicht mitgestartet wird. Im normalen Modus würde ein Virus immer versuchen einem Löschversuch standzuhalten. Normalerweise macht er dies in dem 2 &quot;Programme&quot; gleichzeitig laufen. Löscht ein Antivirusprogramm eins erstellt das andere ein neues Programm und startet dieses wieder.</div>
<div>Also den Rechner im Abgsicherten Modus starten!</div>
<div>Nun wird ComboFix gestartet und wie in der Anleitung beschrieben durchlaufen. Häufig will der Rechner anschließend neu starten. Ich habe den Rechner danach in den normalen Modus gestartet - falls zum Schluss der Virus doch noch da sein sollte kann nach dem Neustart auch erst wieder in den Abgesicherten Modus gebootet werden.</div>
<div>Anschließend wird HighJackThis installiert, ein Logfile erzeugt und über die LogfileWebseite eine Analyse durchgeführt. Problematische Einträge sollten entfernt werden. Aber Vorsicht! nicht alle Einträge werden richtig erkannt. Wenn man nicht sicher ist vorsichtshalber weitere Infos im Internet nachschlagen.</div>
<div>Sind alle Einträge überprüft sollte man mit einem Online Virenscanner oder mindestens mit dem MRT Tool von Microsoft die Platte überprüfen ob soweit alles i.O. ist.</div>
<div> </div>
<div>Anschließend kann es übrigens ein paar WLan Probleme geben die ich <a href="http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=54">hier</a> beschrieben habe.</div>
<div> </div>
<div>Gruß,</div>
<div>Volker</div></div></div>
<div><b>Kategorie:</b> Windows</div>
<div><b>Veröffentlicht:</b> 12.09.2008 17:42</div>
]]></description>
      <author>Volker Helms</author>
      <category>Windows</category>
      <pubDate>Fri, 12 Sep 2008 16:17:55 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=55</guid>
    </item>
    <item>
      <title>Enumerate all Web Applications</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=53</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass897B1FE73C33421F9CE37D1AE9C9578F>
<p><font face=Consolas>Hello,</font></p>
<p><font face=Consolas>how can i enumerate all web applications in Sharepoint? No problem with this little code snippet:</font></p>
<p></p>
<div class=CodeFormatContainer>
<style>
.ExternalClass897B1FE73C33421F9CE37D1AE9C9578F .csharpcode, .ExternalClass897B1FE73C33421F9CE37D1AE9C9578F .csharpcode pre
{font-size:6px
	color: black;font-family:consolas, &quot;Courier New&quot;, courier, monospace;background-color:#ffffff;}
.ExternalClass897B1FE73C33421F9CE37D1AE9C9578F .csharpcode pre
{margin:0em;}
.ExternalClass897B1FE73C33421F9CE37D1AE9C9578F .csharpcode .rem
{color:#008000;}
.ExternalClass897B1FE73C33421F9CE37D1AE9C9578F .csharpcode .kwrd
{color:#0000ff;}
.ExternalClass897B1FE73C33421F9CE37D1AE9C9578F .csharpcode .str
{color:#006080;}
.ExternalClass897B1FE73C33421F9CE37D1AE9C9578F .csharpcode .op
{color:#0000c0;}
.ExternalClass897B1FE73C33421F9CE37D1AE9C9578F .csharpcode .preproc
{color:#cc6633;}
.ExternalClass897B1FE73C33421F9CE37D1AE9C9578F .csharpcode .asp
{background-color:#ffff00;}
.ExternalClass897B1FE73C33421F9CE37D1AE9C9578F .csharpcode .html
{color:#800000;}
.ExternalClass897B1FE73C33421F9CE37D1AE9C9578F .csharpcode .attr
{color:#ff0000;}
.ExternalClass897B1FE73C33421F9CE37D1AE9C9578F .csharpcode .alt
{background-color:#f4f4f4;width:100%;margin:0em;}
.ExternalClass897B1FE73C33421F9CE37D1AE9C9578F .csharpcode .lnum
{color:#606060;}
</style>

<div class=csharpcode><pre class=alt>SPWebService contentService = SPWebService.ContentService;</pre><pre><span class=kwrd>foreach</span>(SPWebApplication app <span class=kwrd>in</span> contentService.WebApplications) </pre><pre class=alt>{</pre><pre>   <span class=kwrd>foreach</span>(SPSite site <span class=kwrd>in</span> app.Sites) </pre><pre class=alt>   {</pre><pre>      <span class=rem>// do something</span></pre><pre class=alt>   }</pre><pre>}</pre><pre> </pre><br>if you want to get the Central Administration Web Application use SPWebService.AdministrationService instead of SPWebService.ContentService.<br> <br>Regards,<br>Volker<br><br></div></div></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 09.09.2008 21:42</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Tue, 09 Sep 2008 19:41:34 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=53</guid>
    </item>
    <item>
      <title>Sharepoint: Versionsverwaltung per Schema.xml konfigurieren</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=52</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass83BB93E584564B61B097B5DB292CBDCE><div>Hallo,</div>
<div> </div>
<div>wenn man eine eigene Sharepoint Liste erstellt und für diese ein paar Einstellungen konfigurieren möchte ist das manchmal nicht ganz einfach. Um z.B die Versionsverwaltungseinstellungen zu konfigurieren (auf Englisch: ApprovalSettings) werden folgende Werter benötigt:</div>
<div> </div>MajorVersionLimit=&quot;6&quot;<br>MajorWithMinorVersionLimit=&quot;6&quot;<br>DraftVersionVisibility=&quot;0&quot; = Any user who can read items  <br>DraftVersionVisibility=&quot;1&quot; = Only users who can edit items <br>DraftVersionVisibility=&quot;1&quot; = Only users who can approve items (and the author of the item)<br>ModeratedList=&quot;TRUE&quot;<br>VersioningEnabled=&quot;TRUE&quot;<br>
<div> </div>
<div>Gruß,</div>
<div>Volker</div></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 21.08.2008 08:53</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Thu, 21 Aug 2008 06:56:35 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=52</guid>
    </item>
    <item>
      <title>Diconnected Mailbox aus Exchange 2007 löschen</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=50</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass0890360C93CC4599B7C8ADC006702DDF><div>Hallo,</div>
<div>wenn man im Exchange eine Mailbox löscht ist diese für einige Zeit disconnected in der Datenbank vorhanden.  Das ganze sieht man im Exchange 2007 unter &quot;Disconnected Mailboxes&quot;. Wenn man diese Mailbox direkt aus der Datenbank löschen möchte werden diese cmdlets benötigt:</div>
<div><br>Auflistung aller Disconnected Mailboxen:<br>Get-MailboxStatistics | where-object { $_.DisconnectDate -ne $null } | Select DisplayName,MailboxGuid</div>
<p>Eine Mailbox entfernen:<br>Remove-Mailbox -Database &lt;Database-Name&gt; -StoreMailboxIdentity &lt;MailboxGuid&gt; -confirm:$false</p>
<div>Gefunden habe ich diesen Tipp auf der Seite von <a href="http://msmvps.com/blogs/andersonpatricio/archive/2007/10/08/removing-disconnected-mailboxes-in-exchange-server-2007.aspx">Anderson Patricio</a>.</div>
<div>Gruß,</div>
<div>Volker</div></div></div>
<div><b>Kategorie:</b> Exchange</div>
<div><b>Veröffentlicht:</b> 21.08.2008 08:07</div>
]]></description>
      <author>Volker Helms</author>
      <category>Exchange</category>
      <pubDate>Thu, 21 Aug 2008 06:11:51 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=50</guid>
    </item>
    <item>
      <title>Exchange 2007 CMDlets</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=48</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass564B53C4D130466AB012FE3737D07303>
<p>Hallo,</p>
<p>Auf der Microsoft Technet Seite gibt es eine Übersicht aller Exchange 2007 CMDlets. Ich habe diese einfach mal in eine Exceltabelle kopiert und die Autofilterfunktion eingeschaltet. Nun kann man prima nach den verschiedenen Punkten filtern und findet den passenden Befehl recht schnell.</p>
<p><a href="http://blog.isrichtig.de/Lists/Fotos/cmdlets.png"><img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px" height=82 alt=image src="http://blog.isrichtig.de/Lists/Fotos/cmdlets.png" width=510 border=0></a> </p>
<p><a href="http://blog.isrichtig.de/Downloads/Exchange2007-Cmdlets.xlsx">Download</a></p>
<p>Gruß,<br>Volker</p></div></div>
<div><b>Kategorie:</b> Exchange</div>
<div><b>Veröffentlicht:</b> 16.08.2008 18:06</div>
]]></description>
      <author>Volker Helms</author>
      <category>Exchange</category>
      <pubDate>Sat, 16 Aug 2008 16:06:20 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=48</guid>
    </item>
    <item>
      <title>Systemfields in Sharepoint Lists</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=49</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass4E7ED87CAA66415092E29FE3E2ED58BF>
<p>Hallo,<br>da ich häufiger die Felder eine Liste in einem DropDown anzeigen möchte und jedesmal schauen muss welche Felder nun hinzugefügt werden müssen habe ich mir eine Stringliste mit den Systemfeldern erstellt. Diese möchte ich euch nicht vorenthalten. 
<div class=CodeFormatContainer>
<style>
.ExternalClass4E7ED87CAA66415092E29FE3E2ED58BF .csharpcode, .ExternalClass4E7ED87CAA66415092E29FE3E2ED58BF .csharpcode pre
{font-size:6px
	color: black;font-family:consolas, &quot;Courier New&quot;, courier, monospace;background-color:#ffffff;}
.ExternalClass4E7ED87CAA66415092E29FE3E2ED58BF .csharpcode pre
{margin:0em;}
.ExternalClass4E7ED87CAA66415092E29FE3E2ED58BF .csharpcode .rem
{color:#008000;}
.ExternalClass4E7ED87CAA66415092E29FE3E2ED58BF .csharpcode .kwrd
{color:#0000ff;}
.ExternalClass4E7ED87CAA66415092E29FE3E2ED58BF .csharpcode .str
{color:#006080;}
.ExternalClass4E7ED87CAA66415092E29FE3E2ED58BF .csharpcode .op
{color:#0000c0;}
.ExternalClass4E7ED87CAA66415092E29FE3E2ED58BF .csharpcode .preproc
{color:#cc6633;}
.ExternalClass4E7ED87CAA66415092E29FE3E2ED58BF .csharpcode .asp
{background-color:#ffff00;}
.ExternalClass4E7ED87CAA66415092E29FE3E2ED58BF .csharpcode .html
{color:#800000;}
.ExternalClass4E7ED87CAA66415092E29FE3E2ED58BF .csharpcode .attr
{color:#ff0000;}
.ExternalClass4E7ED87CAA66415092E29FE3E2ED58BF .csharpcode .alt
{background-color:#f4f4f4;width:100%;margin:0em;}
.ExternalClass4E7ED87CAA66415092E29FE3E2ED58BF .csharpcode .lnum
{color:#606060;}
</style>

<div class=csharpcode><pre class=alt><span class=kwrd>private</span> <span class=kwrd>readonly</span> IList&lt;<span class=kwrd>string</span>&gt; _FieldsNotShow = <span class=kwrd>new</span>[] <br>{ <span class=str>&quot;ContentTypeId&quot;</span>, <span class=str>&quot;_ModerationComments&quot;</span>, LinkTitleNoMenu<span class=str>&quot;, &quot;</span>LinkTitle<span class=str>&quot;, &quot;</span>File_x0020_Type<span class=str>&quot;, <br>&quot;</span>ID<span class=str>&quot;, &quot;</span>Version<span class=str>&quot;, &quot;</span>ContentType<span class=str>&quot;, &quot;</span>Modified<span class=str>&quot;, &quot;</span>Author<span class=str>&quot;, &quot;</span>Editor<span class=str>&quot;, &quot;</span>_HasCopyDestinations<span class=str>&quot;, <br>&quot;</span>_CopySource<span class=str>&quot;, &quot;</span>owshiddenversion<span class=str>&quot;, &quot;</span>WorkflowVersion<span class=str>&quot;, &quot;</span>_UIVersion<span class=str>&quot;, &quot;</span>_UIVersionString<span class=str>&quot;, <br>&quot;</span>Attachments<span class=str>&quot;, &quot;</span>_ModerationStatus<span class=str>&quot;, &quot;</span>Edit<span class=str>&quot;, &quot;</span>SelectTitle<span class=str>&quot;, &quot;</span>InstanceID<span class=str>&quot;, &quot;</span>Order<span class=str>&quot;, <br>&quot;</span>GUID<span class=str>&quot;, &quot;</span>WorkflowInstanceID<span class=str>&quot;, &quot;</span>FileRef<span class=str>&quot;, &quot;</span>FileDirRef<span class=str>&quot;, &quot;</span>Last_x0020_Modified<span class=str>&quot;, &quot;</span>Created_x0020_Date<span class=str>&quot;, <br>&quot;</span>FSObjType<span class=str>&quot;, &quot;</span>PermMask<span class=str>&quot;, &quot;</span>FileLeafRef<span class=str>&quot;, &quot;</span>UniqueId<span class=str>&quot;, &quot;</span>ProgId<span class=str>&quot;, &quot;</span>ScopeId<span class=str>&quot;, &quot;</span>HTML_x0020_File_x0020_Type<span class=str>&quot;, <br>&quot;</span>_EditMenuTableStart<span class=str>&quot;, &quot;</span>_EditMenuTableEnd<span class=str>&quot;, &quot;</span>LinkFilenameNoMenu<span class=str>&quot;, &quot;</span>LinkFilename<span class=str>&quot;, &quot;</span>DocIcon<span class=str>&quot;, <br>&quot;</span>ServerUrl<span class=str>&quot;, &quot;</span>EncodedAbsUrl<span class=str>&quot;, &quot;</span>BaseName<span class=str>&quot;, &quot;</span>MetaInfo<span class=str>&quot;, &quot;</span>_Level<span class=str>&quot;, &quot;</span>_IsCurrentVersion&quot; };</pre></div></div>
<p>Gruß,<br>Volker</p></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 16.08.2008 18:17</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Sat, 16 Aug 2008 16:17:59 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=49</guid>
    </item>
    <item>
      <title>ADAM und SSL Howto</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=47</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass432045112B3C4C6FB529E4BEEFBD7B82>
<p>Hallo,</p>
<p>um z.B. einen Microsoft Exchange 2007 Server und einen Exchange 2007 Edge Server zu nutzen müssen zwischen beiden Server Zertifikate benötigt. Die Zertifikate werden ganz normal über die PowerShell erstellt. <a href="http://www.msxfaq.de/howto/e2k7ssl.htm" target="_blank">Siehe MSXFAQ</a>. Nun nutzt der Edge Server allerdings eine ADAM Datenbank um die Exchange Konten der Domäne zu synchronisieren. Die ADAM Datenbank wird über SSL angesprochen. Hier gibt es häufig ein paar Probleme die ich hier einmal zusammengetragen habe (Irgendwo in einem Forum gefunden. Leider weiß ich nicht mehr wo):</p>
<p>Here are some notes that might help, if not post back what problem you are having. <br>Using a certificate with an ADAM instance: 
<p>(1) on the ADAM server look in: c:\documents and settings\All Users\ApplicationData\Microsoft\Crypto\RSA\MachineKeys and note what keys are there. 
<p>(2) on the ADAM server request and install a server certificate for use by ADAM in the Computer Personal certificate store or the ADAM Instance personal certificate store (preferred) Use the MMC Certificates snap-in to install the certificate. 
<p>The cert needs to be issued to the FQDN of the machine, and it should be issued for Server Authentication. 
<p>(3) on the ADAM server look in: c:\documents and settings\All Users\ApplicationData\Microsoft\Crypto\RSA\MachineKeys and see what new key is there as a result of (2) and grant READpermission on that key for the ADAM service account. 
<p>NOTE you need to set the permission on the key, the keys in that folder do not inherit permissions 
<p>(4) install or restart an ADAM instance on the server 
<p>(5) On the ADAM server, run ldp.exe and Connect. 
<p>In the server field: put the name of the ADAM server as it appears in the Issued To column of the Certificate MMC when you added the certificate 
<p>In the Port Box put the port number for the ADAM instance SSL and check the SSL box. 
<p>You should see an ldap_sslint connection initiate and hopefully connect. 
<p>When you attempt to connect from a client other than the ADAM server itself (localhost) the client should specify the FQDN of the server that the server was issued to and the client must trust the Certificate Authority that issued the certificate. 
<p>If the connection fails check the event log for the ADAM instance, the presence of Event Id: 1220 
<p>Description:<br>LDAP over Secure Sockets Layer (SSL) will be unavailable at this time because the server was unable to obtain a certificate. Indicates that the ADAM instance has not found a usable certicifcate, this is often due to permissions not being set [see step(3) above] 
<p>Ein weiteres Problem kann der CN Name des Zertifikats sein. Der Name muss auf den Namen des Servers ausgestellt sein. 
<p>Gruß,<br>Volker</p></div></div>
<div><b>Kategorie:</b> Exchange</div>
<div><b>Veröffentlicht:</b> 16.08.2008 18:00</div>
]]></description>
      <author>Volker Helms</author>
      <category>Exchange</category>
      <pubDate>Sat, 16 Aug 2008 16:00:39 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=47</guid>
    </item>
    <item>
      <title>Bird against Audi</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=46</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass495805FDCB9C493A9DF6CC047415FEC9>
<p>Hallo,</p>
<p>am Wochenende war ich mit nem Freund von mir unterwegs. Wir also schön mit dem Audi über die Landstraße. Plötzlich ein komisches Geräusch als ob wir etwas getroffen haben - hm... was war das denn? Später dann noch mal flugs ums Auto rum und da war dann das &quot;Problem&quot;.<br>Also, liebe Vögel - der Audi ist doch stärker als Ihr. Bitte Abstand halten!</p>
<p><a href="http://blog.isrichtig.de/Lists/Fotos/BirdAudi.jpg"><img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px" height=348 alt=image src="http://blog.isrichtig.de/Lists/Fotos/BirdAudi_thumb.jpg" width=566 border=0></a> </p>
<p>Für die Zweifler... Echt kein Witz! Der ist echt so hängen geblieben...</p>
<p>Gruß,<br>Volker</p></div></div>
<div><b>Kategorie:</b> Sonstiges</div>
<div><b>Veröffentlicht:</b> 29.07.2008 20:36</div>
]]></description>
      <author>Volker Helms</author>
      <category>Sonstiges</category>
      <pubDate>Tue, 29 Jul 2008 18:36:36 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=46</guid>
    </item>
    <item>
      <title>CopyTool for SharePoint</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=44</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClassAB146F6758D74A228154172869CEF351>
<p>Hallo,</p>
<p>der René Hezser, mein Arbeitskollege, hat ein Tool erstellt mit dem die häufig recht schwierige Migration von Sharepoint 2003 nach 2007 durchgeführt werden kann. Das Tool kann die Inhalte der alten Umgebung in die neue Welt kopieren. Bei der Migration mit den Microsoft Boardmitteln kommt es häufig zu Problemen beim Datenbankupdate. Das passiert z.B.wenn eigene Templates genutzt wurden. Mit dem CopyTool for SharePoint werden die Daten einfach kopiert. Während des Copyvorgangs werden die notwendigen Listen erstellt, die Berechtigungen und die IDs mitkopiert. Neuigkeiten der aktuellen Version:</p>
<ul>
<li>Das Tool hat nun eine WPF GUI - damit ist die Bedienung viel einfacher und angenehmer.</li>
<li>Copy Subareas - Wird eine Übergeordnete Ebene ausgewählt können alle Ebenen darunter mit kopiert werden.</li>
<li>Kopieren einzelner Listen - Es muss nicht immer ein kompletter Bereich übernommen werden. Jede Liste kann einzeln kopiert und vor allem auch an eine andere Stelle kopiert werden. Damit ist eine Neustrukturierung der Sharepointwelt möglich.</li></ul>
<p><a href="http://blog.isrichtig.de/Lists/Fotos/SCT_2.jpg"><img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px" height=299 alt=image src="http://blog.isrichtig.de/Lists/Fotos/SCT_thumb.jpg" width=343 border=0></a> </p>
<p>Hier der Blog von René mit weiteren <a href="http://www.hezser.de/blog/Lists/Beitraege/Post.aspx?ID=109" target="_blank">Infos</a>.<br>Weitere Infos gibt es bei <a href="http://www.netatwork.de/Net_at_Work_CopyTool_for_SharePoint.htm" target="_blank">Net at Work</a>.</p></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 29.07.2008 07:08</div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Tue, 29 Jul 2008 05:08:24 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=44</guid>
    </item>
    <item>
      <title>Exchange 2007 - Keine Mails an Öffentliche Ordner</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=38</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClassBB9B9170A5EE40E0AFE791E5E75BCC0D>
<p>In Exchange 2007 gibt es ein Problem das keine Mails an eMail aktivierte Öffentliche Ordner verschickt werden können. In der Warteschlange taucht folgender Fehler auf <strong>&quot;Zurzeit ist keine Route zur Postfachdatenbank vorhanden.&quot; </strong>Der Fehler liegt in der AD Konfiguration der Public Folder Hierachy. Bitte startet mal adsiedit.msc (Tool aus den Support Tools) und navigiert zu folgendem Zweig:</p>
<p><a href="http://blog.isrichtig.de/Lists/Beitraege/Attachments/38/image_2.png"><img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px" height=300 alt=image src="http://blog.isrichtig.de/Lists/Beitraege/Attachments/38/image_thumb.png" width=508 border=0></a> </p>
<p>Hier sollte unter Folder Hierachies ein CN=Public Folders zu finden sein. Achtung gibt es noch Exchange 2003 Server ist dieser Wert nicht vorhanden - muss aber auch nicht. Daher vermute ich das das Problem bei der Migration von Exchange 2003 auf 2007 auftritt und die Werte nach dem Entfernen des letzten Exchange 2003 Servers nicht richtig gesetzt werden. Gibt es nur noch Exchange 2007 Server wird zwingend ein CN=Public Folders benötitgt (Name kann variieren).</p>
<p>Im Internet habe ich schon ein paar Anleitungen gefunden um die fehlenden Werte zu erstellen das hat bei mir aber nicht funktioniert. Daher habe ich diesen Weg genommen.</p>
<ol>
<li>Public Folder Store herunterfahren und ein Backup erstellen</li>
<li>Public Folder Store wieder hochfahren und alle enthaltenden Ordner entfernen (auch SystemFolder)</li>
<li>OAB Generierung für alte Outlookversionen deaktivieren (unter Organisation Configuration/ Mailbox/ Offline Address Book)</li>
<li>Public Folder Store löschen</li>
<li>Sicherheitshalber die Storage Group ebenfalls löschen</li>
<li>Neue Storage Group erstellen</li>
<li>Neuen Public Folder Store erstellen</li>
<li>Public Folder Store auf den Postfachspeichern eintragen</li>
<li>Public Folder Store herunterfahren, Logfiles des Stores löschen und die ursprüngliche Datenbank anstelle der neuen ablegen.</li>
<li>Public Folder Store starten</li>
<li>OAB Generierung für alte Outlookversionen wieder aktivieren.</li></ol>
<p>Wenn die Oulookclients beim Starten eine Meldung &quot;Outlookversion darf nicht auf den Server zugreifen (oder so ähnlich)&quot; kommt, müssen die OAB Generierungsoptionen noch einmal angepasst werden. Der Fehler kommt durch diese Konfiguration.</p>
<p><strong>Now for our english speaking visitiors:</strong></p>
<p>If you cannot send mails to a mail enabled public folder and in the queue is a error message like <strong>&quot;There is currently no route to the mailbox database&quot; </strong>there is a problem in active directory. Please check if you can found an entry CN=Public Folders in adsiedit like in the picture. If not you have a problem. I repaired the problem with these stepps:</p>
<ol>
<li>Shutdown Public Folder store and create a file Backup of the edb.</li>
<li>Start the Public Folder store und delte all folders even the sytem folders</li>
<li>deactive OABs for old Outlook versions (you can find these option in Organisation Configuration/ Mailbox/ Offline Address Book)</li>
<li>delete Public Folder Store</li>
<li>delete Storage Group</li>
<li>create a New storage Group</li>
<li>create new Public Folder Store</li>
<li>Assign new store to mailbox stores</li>
<li>shutdown Public folder store and change the new edb with the backup edb. Delete all logfiles from Public folder store</li>
<li>start the store</li>
<li>activate the OAB for old Outlook Versions again</li>
<li>send a testmail to a public folder.</li></ol></div></div>
<div><b>Kategorie:</b> Exchange</div>
<div><b>Veröffentlicht:</b> 12.03.2008 08:49</div>
<div><b>Anlagen:</b> <a href="http://blog.isrichtig.de/Lists/Beitraege/Attachments/38/image_2.png">http://blog.isrichtig.de/Lists/Beitraege/Attachments/38/image_2.png</a><br><a href="http://blog.isrichtig.de/Lists/Beitraege/Attachments/38/image_thumb.png">http://blog.isrichtig.de/Lists/Beitraege/Attachments/38/image_thumb.png</a><br><a href=""></a></div>
]]></description>
      <author>Volker Helms</author>
      <category>Exchange</category>
      <pubDate>Wed, 12 Mar 2008 07:49:44 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=38</guid>
    </item>
    <item>
      <title>Dependent Lookupsfields</title>
      <link>http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=41</link>
      <description><![CDATA[<div><b>Textkörper:</b> <div class=ExternalClass0EE49B27AC1E48B59CFEFB7D671D7F79>
<p>Hallo,</p>
<p>Dependent Lookupsfields oder auch Cascading Dropdown Lists genannt werden sehr häufig im Sharepoint benötigt. Leider bietet weder der WSS noch der MOSS 2007 diese Möglichkeit.</p>
<p>Was sind Dependent Lookupsfields/ Abhängige Lookupfelder?<br>Normalerweise greifen Lookupfelder auf eine andere Liste zu um von dort Inhalte &quot;einzublenden&quot;. Nehmen wir zum Beispiel eine Liste mit Ländern. Die Länder können dann über ein Lookupfeld in einer anderen Liste eingeblendet werden. Nun kommt es aber vor das wir noch eine andere Liste mit Städten haben. Nun soll, wir z.B. das Land Deutschland ausgewählt, auch nur die Städte aus Deutschland angezeigt werden. Diese Funktion nennt man dependent lookupfields.</p>
<p>Wie kann ich trotzdem eine solche Funktion nutzen?<br>Zuerst einmal erstellen wir z.B. eine Custom List mit Ländern. Die Spalte Title benennen wir am besten auch in Länder um. Dann fügen wir ein paar Länder hinzu:</p>
<p><a href="http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_2.png"><img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px" height=153 alt=image src="http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_thumb.png" width=227 border=0></a> </p>
<p>als nächstes brauchen wir eine zweite Custom List. In dieser Liste wird Title in z.B. Städte umbenannt. Als zweite Spalte fügen wir eine normales Lookupfeld auf die Spalte &quot;Länder&quot; der ersten Liste hinzu. Dann noch flugs ein paar Städte hinzu fügen:</p>
<p><a href="http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_10.png"><img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px" height=165 alt=image src="http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_thumb_4.png" width=354 border=0></a> </p>
<p>Nun haben wir die beiden Listen zum Nachschlagen vorbereitet. Jetzt brauchen wir noch eine Lösung die das ganze Verbindet. Zum Glück bietet der &quot;<a href="http://datacogs.com/datablogs/archive/2007/08/26/641.aspx" target="_blank">Data Cogs Information Technology Blog</a>&quot; eine passende Lösung. Hier der Link zum <a href="http://datacogs.com/datablogs/files/ProductionDeployment.zip" target="_blank">Download</a> der Solution.</p>
<p>Vor der Installation muss die Installwsp.cmd noch angepasst werden.</p>
<p>Nachdem die Solution installiert wurde gibt es auf der entsprechenden Webapplication 2 Spalten die einer Liste hinzugefügt werden können. Es sind &quot;Child Drop Down List&quot; und &quot;Parent Drop Down List&quot;. Zuerst muss nun einer neuen Liste (die in der die Lookupfelder genutzt werden sollen) eins &quot;Parent Drop Down List&quot; Spalte hinzugefügt werden:</p>
<p><a href="http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_12.png"><img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px" height=161 alt=image src="http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_thumb_5.png" width=356 border=0></a> </p>
<p>Anschließend noch eine &quot;Child Drop Down List&quot;:</p>
<p><a href="http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_14.png"><img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px" height=189 alt=image src="http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_thumb_6.png" width=354 border=0></a> </p>
<p>Nun sollte alles funktionieren. Also einfach mal nen neuen Eintrag in der Liste erstellen.</p>
<p>Was noch zu tun wäre:<br>Soweit funktioniert die Lösung schon prima. Leider kann es vorkommen das die Abhängigkeiten noch weiter gehen sollen. So in der Art ...es gibt noch eine Liste mit Straßen und der Lookup soll dann auch gleich von dem Stadtfeld abhängig sein. Das funktioniert bisher nicht. Es sind nur 2 Abhängigkeiten möglich und nicht mehrere hintereinander. Auch funktionieren Mehrfachabhängigkeiten nicht (Straße ist von Stadt und Land abhängig). Da aber auf der Seite auch der Quellcode bereit steht könnt ihr die Solution nach euren Wünschen anpassen.</p>
<p>Gruß,<br>Volker</p></div></div>
<div><b>Kategorie:</b> Office Server</div>
<div><b>Veröffentlicht:</b> 27.05.2008 13:58</div>
<div><b>Anlagen:</b> <a href="http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_10.png">http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_10.png</a><br><a href="http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_12.png">http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_12.png</a><br><a href="http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_14.png">http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_14.png</a><br><a href="http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_2.png">http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_2.png</a><br><a href="http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_thumb.png">http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_thumb.png</a><br><a href="http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_thumb_4.png">http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_thumb_4.png</a><br><a href="http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_thumb_5.png">http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_thumb_5.png</a><br><a href="http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_thumb_6.png">http://blog.isrichtig.de/Lists/Beitraege/Attachments/41/image_thumb_6.png</a><br><a href=""></a></div>
]]></description>
      <author>Volker Helms</author>
      <category>Office Server</category>
      <pubDate>Tue, 27 May 2008 11:58:38 GMT</pubDate>
      <guid isPermaLink="true">http://blog.isrichtig.de/Lists/Beitraege/ViewPost.aspx?ID=41</guid>
    </item>
  </channel>
</rss>