<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Bernhard Frank&amp;#39;s Blog</title><subtitle type="html">[bi:frængk] - freimütiges über webhosting auf windows mit iis | sqlserver | asp.net | php</subtitle><id>http://blogs.technet.com/b/bernhard_frank/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/" /><link rel="self" type="application/atom+xml" href="http://blogs.technet.com/b/bernhard_frank/atom.aspx" /><generator uri="http://telligent.com" version="5.6.50428.7875">Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><updated>2010-03-23T19:23:50Z</updated><entry><title>WebMatrix: Check Compatibility shows exclamation mark and states ASP.NET version Not Available</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2011/11/03/webmatrix-check-compatibility-shows-exclamation-mark-and-states-asp-net-version-not-available.aspx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2011/11/03/webmatrix-check-compatibility-shows-exclamation-mark-and-states-asp-net-version-not-available.aspx</id><published>2011-11-03T08:32:00Z</published><updated>2011-11-03T08:32:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/2548.asp.net_2D00_version_2D00_not_2D00_available_2D00_in_2D00_compatibility_2D00_check_2D00_in_2D00_webmatrix_5F00_1B701C21.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="asp.net version not available in compatibility check in webmatrix" border="0" alt="asp.net version not available in compatibility check in webmatrix" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/8726.asp.net_2D00_version_2D00_not_2D00_available_2D00_in_2D00_compatibility_2D00_check_2D00_in_2D00_webmatrix_5F00_thumb_5F00_6E7AB945.png" width="640" height="290" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;&lt;/h1&gt;
&lt;p&gt;&lt;a href="http://technet.microsoft.com/ru-ru/library/ff729439(v=WS.10).aspx"&gt;Enabling Web Management Service Failed Request Tracing&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;helped me to troubleshoot the WebMatrix (client)--- Web Deploy (server) communication. A special account (installed by Web Deploy) is used on the server on behalf of the requesting WebMatrix client to perform higher priviledge operations (e.g. config changes) however this account seems to have a problem:&lt;/p&gt;
&lt;h1&gt;&lt;/h1&gt;
&lt;h1&gt;Failed Request tracing shows:&lt;/h1&gt;
&lt;div&gt;
&lt;table style="background: #e9eef2; width: 977px; border-collapse: collapse;" border="0"&gt;&lt;colgroup&gt;&lt;col style="width: 21px;" /&gt;&lt;col style="width: 41px;" /&gt;&lt;col style="width: 60px;" /&gt;&lt;col style="width: 508px;" /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;
&lt;td style="padding: 1px;"&gt;
&lt;p&gt;53.&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding: 1px;"&gt;
&lt;p&gt;view trace&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding: 1px;"&gt;
&lt;p&gt;&lt;span style="background-color: #ffe4cc; font-family: courier new; color: #990000; font-size: 13pt;"&gt;&lt;strong&gt;Error&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding: 1px;" width="843"&gt;
&lt;p&gt;&lt;span style="color: #007eff;"&gt;&lt;span style="font-family: courier new; font-size: 14pt;"&gt;&lt;strong&gt;-&lt;/strong&gt;&lt;/span&gt;AspNetModuleDiagErrorEvent&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;table style="background: #e9eef2; width: 826px; border-collapse: collapse;" border="0"&gt;&lt;colgroup&gt;&lt;col style="width: 31px;" /&gt;&lt;col style="width: 475px;" /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;
&lt;td style="padding: 1px;"&gt;
&lt;p&gt;&lt;strong&gt;Uri&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding: 1px;" width="789"&gt;
&lt;p&gt;/msdeploy.axd&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="padding: 1px;"&gt;
&lt;p&gt;&lt;span style="font-size: 5pt;"&gt;&lt;strong&gt;eventData&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding: 1px;" width="789"&gt;
&lt;p&gt;&lt;span style="font-size: 5pt;"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;Tracing deployment agent exception. Request ID ''. Request Timestamp: '10/24/2011 12:17:08'. Error Details: &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;&lt;span style="font-size: 5pt;"&gt;Microsoft.Web.Delegation.DeploymentAuthorizationException: Not able to log on the user '.\&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;&lt;strong&gt;WDeployConfigWriter'&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size: 5pt;"&gt;. ---&amp;gt; System.Runtime.InteropServices.COMException (0x80070532): &lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;Logon failure: the specified account password has expired.&lt;/span&gt;&lt;span style="font-size: 5pt;"&gt; (Exception from HRESULT: 0x80070532) &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 5pt;"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;Tracing deployment agent exception. Request ID ''. Request Timestamp: '10/24/2011 12:17:08'. Error Details: Microsoft.Web.Delegation.DeploymentAuthorizationException: Not able to log on the user '.\WDeployConfigWriter'. ---&amp;gt; System.Runtime.InteropServices.COMException (0x80070532): Logon failure: the specified account password has expired. (Exception from HRESULT: 0x80070532) --- End of inner exception stack trace --- at Microsoft.Web.Deployment.LogonUserHandle.LogonUser(String userName, String domain, String password) at Microsoft.Web.Delegation.SpecificUserDelegationContext.get_UserHandle() at Microsoft.Web.Delegation.SpecificUserDelegationContext.Impersonate() at Microsoft.Web.Deployment.DelegationHelper.ImpersonateForOperation(String deploymentAction, String deploymentProvider, String deploymentPath, DelegationContextCache cache) at Microsoft.Web.Deployment.DelegationHelper.ImpersonateForOperation(String deploymentAction, DeploymentObject deploymentObject) at Microsoft.Web.Deployment.DeploymentObject.Add(DeploymentObject source, DeploymentSyncContext syncContext) at Microsoft.Web.Deployment.DeploymentSyncContext.HandleAdd(DeploymentObject destObject, DeploymentObject sourceObject) at Microsoft.Web.Deployment.DeploymentSyncContext.HandleUpdate(DeploymentObject destObject, DeploymentObject sourceObject) at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenNoOrder(DeploymentObject dest, DeploymentObject source) at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source) at Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObject destinationObject, DeploymentObject sourceObject) at Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable) at Microsoft.Web.Deployment.DeploymentAgent.HandleSync(DeploymentAgentWorkerRequest workerRequest) &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 5pt;"&gt;&lt;span style="font-family: Courier New;" face="Courier New"&gt;at Microsoft.Web.Deployment.DeploymentAgent.HandleSync(DeploymentAgentWorkerRequest workerRequest)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;h1&gt;Reason and Solution:&lt;/h1&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/2860.asp.net_2D00_version_2D00_not_2D00_available_2D00_in_2D00_compatibility_2D00_check_2D00_in_2D00_webmatrix_2D00_solution_5F00_37BD5E41.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="asp.net version not available in compatibility check in webmatrix solution" border="0" alt="asp.net version not available in compatibility check in webmatrix solution" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/4617.asp.net_2D00_version_2D00_not_2D00_available_2D00_in_2D00_compatibility_2D00_check_2D00_in_2D00_webmatrix_2D00_solution_5F00_thumb_5F00_2A0AA239.png" width="640" height="446" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;&lt;/h1&gt;
&lt;p&gt;The &lt;strong&gt;WDeployConfigWriter&lt;/strong&gt; has had "&lt;strong&gt;change password at next logon&lt;/strong&gt;" option checked. After checking the option "Password never expires" ASP.NET version compatibility check in WebMatrix works &lt;span style="font-family: wingdings;"&gt;J&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3462984" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author><category term="WebMatrix" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/WebMatrix/" /><category term="WebDeploy" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/WebDeploy/" /></entry><entry><title>Microsoft Cloud links für IT Pros</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2011/09/23/microsoft-cloud-links-f-252-r-it-pros.aspx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2011/09/23/microsoft-cloud-links-f-252-r-it-pros.aspx</id><published>2011-09-23T09:13:00Z</published><updated>2011-09-23T09:13:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://de.wikipedia.org/wiki/Cloud_Computing"&gt;&lt;strong&gt;Cloud Computing&lt;/strong&gt;&lt;/a&gt; ist in (fast) aller Munde. &lt;br /&gt;Dieser &lt;strong&gt;Blogeintrag&lt;/strong&gt; &lt;strong&gt;richtet sich an&lt;/strong&gt; &lt;strong&gt;Alle&lt;/strong&gt;, die ihre &lt;strong&gt;eigene IT-Infrastruktur&lt;/strong&gt; dynamisch &amp;ndash; bedarfsgerecht &amp;ndash; elastisch &amp;ndash; automatisch, &lt;strong&gt;anderen zur Verf&amp;uuml;gung stellen wollen.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;D.h. &lt;strong&gt;eine &lt;/strong&gt;&lt;a href="http://de.wikipedia.org/wiki/Cloud_Computing#Organisatorische_Arten_von_Clouds"&gt;&lt;strong&gt;Private Cloud&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; aufbauen wollen auf der Basis von Microsoft Technologien.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Interessiert? Hier eine Linksammlung:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Weiterbildungsangebote&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.microsoftvirtualacademy.com/Home.aspx?ocid=otc-n-de-jtc--ite"&gt;Microsoft Virtual Academy&lt;/a&gt; (kostenfreie Weiterbildung (Microsoft Cloud) )&lt;/li&gt;
&lt;li&gt;&lt;a href="http://technet.microsoft.com/de-de/cloud?ocid=otc-n-de-jtc--ite"&gt;TechCenter Cloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://technet.microsoft.com/de-de/cloud/erste-schritte-mit-der-private-cloud?ocid=otc-n-de-jtc--ite"&gt;Erste Schritte mit der Private Cloud&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Downloads und Test-Software&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://technet.microsoft.com/evalcenter/dd459137.aspx?ocid=otc-n-de-jtc--EVAL_WS2008R2SP1"&gt;Windows Server 2008 R2 with SP1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://technet.microsoft.com/evalcenter/dd776191.aspx?ocid=otc-n-de-jtc--EVAL_HVS2008R2SP1"&gt;Hyper-V Server 2008 R2 SP1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://technet.microsoft.com/evalcenter/cc793138.aspx?ocid=otc-n-de-jtc--EVAL_SCVMM2008R2SP1"&gt;System Center Virtual Machine Manager 2008 R2 SP1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://technet.microsoft.com/evalcenter/gg678609.aspx?ocid=otc-n-de-jtc--EVAL_SCVMM2012RC"&gt;System Center Virtual Machine Manager 2012 RC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://technet.microsoft.com/evalcenter/bb738014.aspx?ocid=otc-n-de-jtc--EVAL_SCOM2007R2"&gt;System Center Operations Manager 2007 R2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://technet.microsoft.com/evalcenter/bb736730.aspx?ocid=otc-n-de-jtc--EVAL_SCCM2007R3"&gt;System Center Configuration Manager 2007 R3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://technet.microsoft.com/evalcenter/ff657840.aspx?ocid=otc-n-de-jtc--EVAL_SCCM2012BETA2"&gt;System Center Configuration Manager 2012 Beta 2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3455135" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author><category term="training" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/training/" /></entry><entry><title>Configure Web Deploy Publishing missing in IIS console</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2011/09/01/configure-web-deploy-publishing-missing-in-iis-console.aspx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2011/09/01/configure-web-deploy-publishing-missing-in-iis-console.aspx</id><published>2011-09-01T12:16:51Z</published><updated>2011-09-01T12:16:51Z</updated><content type="html">&lt;p&gt;&lt;u&gt;&lt;strong&gt;Scenario:&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;You have installed the Web Deployment Tool on your IIS7 webserver. Now you want to configure a site for Web Deploy Publishing like described in:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://learn.iis.net/page.aspx/984/configure-site-for-web-deploy-publishing/" href="http://learn.iis.net/page.aspx/984/configure-site-for-web-deploy-publishing/"&gt;http://learn.iis.net/page.aspx/984/configure-site-for-web-deploy-publishing/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;i.e. you want to to this using the “Configure Web Deploy Publishing” dialog:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/4760.IIS_2D00_Manager_2D00_UI_2D00_configure_2D00_web_2D00_deploy_2D00_publishing_2D00_dialog_5F00_78BC1E13.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IIS Manager UI configure web deploy publishing dialog" border="0" alt="IIS Manager UI configure web deploy publishing dialog" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/6811.IIS_2D00_Manager_2D00_UI_2D00_configure_2D00_web_2D00_deploy_2D00_publishing_2D00_dialog_5F00_thumb_5F00_1DD96880.png" width="240" height="201" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Problem:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;You do a right-click the site you want to publish to, click Deploy and then&lt;strong&gt; there is no “Configure Web Deploy Publishing…” in the IIS Manager UI&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;i.e. the “Configure Web Deploy Publishing” sub menu is missing .&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Solution:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;You might, like me,&amp;#160; do not have the &lt;strong&gt;latest version&lt;/strong&gt; of the &lt;strong&gt;Microsoft Web Deploy 2.0&lt;/strong&gt; (I had 2.0.1042) on your IIS:&lt;/p&gt;  &lt;p&gt;Install the latest version (&lt;strong&gt;e.g. 2.0.1070&lt;/strong&gt;) of the web deployment tool on your IIS7 –&amp;gt; this will &lt;strong&gt;add&lt;/strong&gt; the &lt;strong&gt;“Configure Web Deploy Publishing…” to the IIS Manager UI:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/7318.configure_2D00_web_2D00_deploy_2D00_publishing_5F00_3C43A969.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="configure web deploy publishing" border="0" alt="configure web deploy publishing" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/5280.configure_2D00_web_2D00_deploy_2D00_publishing_5F00_thumb_5F00_081EE449.png" width="640" height="227" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;I&lt;/strong&gt; did so | &lt;strong&gt;prefer installing the “Web Deployment Tool 2.1 for Hosting Servers” using the &lt;a href="http://www.iis.net/webpi"&gt;Web Platform Installer&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/7652.installing_2D00_web_2D00_deployment_2D00_tool_2D00_2.1_2D00_for_2D00_hosting_2D00_servers_2D00_using_2D00_WebPI_5F00_7D31DD33.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="installing web deployment tool 2.1 for hosting servers using WebPI" border="0" alt="installing web deployment tool 2.1 for hosting servers using WebPI" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/4520.installing_2D00_web_2D00_deployment_2D00_tool_2D00_2.1_2D00_for_2D00_hosting_2D00_servers_2D00_using_2D00_WebPI_5F00_thumb_5F00_66235BF7.png" width="240" height="190" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3450599" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>IIS für Einsteiger Teil 6: Web Work Loads – oder wieso kann mein IIS .html, .jpg, .css,...?</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2011/08/29/iis-f-252-r-einsteiger-teil-6-web-work-loads-oder-wieso-kann-mein-iis-html-jpg-css.aspx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2011/08/29/iis-f-252-r-einsteiger-teil-6-web-work-loads-oder-wieso-kann-mein-iis-html-jpg-css.aspx</id><published>2011-08-29T13:30:00Z</published><updated>2011-08-29T13:30:00Z</updated><content type="html">&lt;p&gt;Diese Frage kommt einem vielleicht nicht so leicht in den Sinn, weil man von jedem Webserver erwarten w&amp;uuml;rde, dass er in der Lage ist die Inhalte meiner Website an Browser auszuliefern.&lt;/p&gt;
&lt;p&gt;Und in der Tat, schafft der IIS diese Anforderung in der Default Installationsvariante. D.h. wenn Sie den IIS 7 installieren, beinhaltet die Standardinstallation alle IIS-Module, die erforderlich sind, um statische HTML-Dateien, Dokumente und Bilder auszuliefern.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/8372.servermanager_2D00_add_2D00_default_2D00_iis_2D00_role_5F00_4D2E0247.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="servermanager add default iis role" border="0" alt="servermanager add default iis role" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/6283.servermanager_2D00_add_2D00_default_2D00_iis_2D00_role_5F00_thumb_5F00_3281662E.png" width="240" height="111" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Meist wird dieses Work Load Szenario mit anderen Work Loads kombiniert z.B. um zus&amp;auml;tzlich Seiten auszuliefern, die in PHP oder ASP.net geschrieben worden sind.&lt;/p&gt;
&lt;h3&gt;Was sind statische Inhalte und wo liegen die im IIS?&lt;/h3&gt;
&lt;p&gt;In &lt;a href="#_Jetzt_geht&amp;rsquo;s_los"&gt;Jetzt geht's los &amp;ndash; "Die erste Webseite."&lt;/a&gt; haben wir gesehen, dass die Inhalte meiner Website letztlich auf der Festplatte des Servers liegen (&lt;a href="http://learn.iis.net/page.aspx/44/configuring-remote-file-server/"&gt;auch remote Share ist m&amp;ouml;glich&lt;/a&gt;). Liefert ein Webserver den Inhalt (z.B. aus einer .html Datei) welcher beim ihm auf Platte liegt genauso beim Browser ab, dann spricht man von &lt;strong&gt;statischen Inhalten&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;Was sind dann dynamische Inhalte?&lt;/h3&gt;
&lt;p&gt;Liegen auf dem Server dagegen Code Dateien (.php, .asp,.aspx, etc.) wird erwartet, dass der Browser nicht Quellcode bekommt sondern dass der IIS Server die Code-Dateien nach abzuarbeitenden Code durchsucht (interpretiert) diesen kompiliert, ausf&amp;uuml;hrt und die Antwort Browser verst&amp;auml;ndlich (z.B. html (+javascript) )zur&amp;uuml;ckschickt &amp;ndash; dabei spricht man von serverseitigen &lt;strong&gt;dynamischen Inhalten&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;Serverseitig(er) versus Browserseitig(er-Code):&lt;/h3&gt;
&lt;p&gt;Serverseitige dynamische Inhalte (siehe auch &lt;a href="http://en.wikipedia.org/wiki/Server-side_scripting"&gt;Server-side scripting&lt;/a&gt;) werden auf dem Webserver bearbeitet und dienen meist dazu interaktive Websites bereitzustellen, die z.B. Inhalte aus Datenbanken darstellen (wie z.B. Webshops, CMS, Blog, o.&amp;auml;.).&lt;/p&gt;
&lt;p&gt;Daneben gibt es auch noch Inhalte/Skripte die im Browser ausgef&amp;uuml;hrt werden (&lt;a href="http://en.wikipedia.org/wiki/Client-side_scripting"&gt;Client-side scripting&lt;/a&gt;) und dadurch die Darstellung / Interaktivit&amp;auml;t einer Website beeinflussen. In der Regel sind diese Inhalte in JavaScript geschrieben und im html eingebettet oder zugeladen.&lt;/p&gt;
&lt;p&gt;Anm.: Da Serverseitig kein Javascript ausgef&amp;uuml;hrt wird ist aus der Sicht des Webserver javascript statischer Inhalt &amp;ndash; und wird entsprechendem Mime-Type Eintrag wie folgt ausgeliefert:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/6886.javascript_2D00_mime_2D00_type_5F00_236A8754.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="javascript mime type" border="0" alt="javascript mime type" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/1018.javascript_2D00_mime_2D00_type_5F00_thumb_5F00_5BA8FE6C.png" width="240" height="20" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Mime-Type: Oder wo wird festgelegt welche Datei-Endungen als statische Inhalte gelten?&lt;/h3&gt;
&lt;p&gt;Welche Datei-Erweiterungen (in der URL) f&amp;uuml;r den IIS als statisch gelten definiert man bei den Einstellungen f&amp;uuml;r die MIME-Typen (siehe auch &lt;a href="http://en.wikipedia.org/wiki/MIME_type"&gt;Internet media type &amp;ndash; Wikipedia)&lt;/a&gt;. Hier wird eine Liste aller Dateitypen hinterlegt die als statisch gelten.&lt;/p&gt;
&lt;p&gt;Anm.: Eintr&amp;auml;ge f&amp;uuml;r dynamische Dateien (z.B. php ) sucht man deshalb hier vergebens.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/3162.mime_2D00_types_5F00_3AB58BC5.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="mime types" border="0" alt="mime types" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/6708.mime_2D00_types_5F00_thumb_5F00_7FEDE2EE.png" width="625" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mime-Types haben die wichtige Aufgabe&lt;/strong&gt; das &amp;uuml;bermittelte zu klassifizieren also &lt;strong&gt;zu&lt;/strong&gt; &lt;strong&gt;beschreiben&lt;/strong&gt; &lt;strong&gt;was&lt;/strong&gt; &lt;strong&gt;da&lt;/strong&gt; &amp;uuml;berhaupt vom Server &lt;strong&gt;gesendet&lt;/strong&gt; wird (z.B. Text, Bild, Zip, etc.) &amp;ndash; also &lt;strong&gt;&amp;auml;hnlich wie Dateiendungen&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Da man sich aber nicht (mehr) auf die Dateiendung in der URL Zeile verlassen m&amp;ouml;chte ist gerade f&amp;uuml;r Browser der korrekte Mime-Type zum &amp;uuml;bermittelten Inhalt besonders wichtig. Warum?:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nur wenn der Browser wei&amp;szlig; was er vom Server bekommen hat, kann er den Inhalt richtig darstellen&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Mit einem Mime-Type Eintrag sage ich dem IIS welche Dateiendung statischen Inhalt transportiert und welchen Mime-Type der IIS beim Ausliefern einer solchen Datei an den Browser mitschicken soll:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/4152.mime_2D00_type_2D00_text_5F00_html_5F00_597BD9D6.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="mime-type text_html" border="0" alt="mime-type text_html" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/7701.mime_2D00_type_2D00_text_5F00_html_5F00_thumb_5F00_263FA06D.png" width="244" height="142" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Wenn ich Browser nun z.B. die "start.html" von meinem IIS aufrufe, dann bekomme als Antwort im &lt;a href="http://en.wikipedia.org/wiki/HTTP_header"&gt;Http-Protokol Header&lt;/a&gt; "Content-Type" den eingetragenen Mime-Type ausgeliefert:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/0116.wfetch_2D00_content_2D00_type_5F00_1728C193.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="wfetch content-type" border="0" alt="wfetch content-type" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/0842.wfetch_2D00_content_2D00_type_5F00_thumb_5F00_35FF3571.png" width="640" height="284" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[&lt;a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=21625"&gt;Download zu wfetch Tool&lt;/a&gt;]&lt;/p&gt;
&lt;h3&gt;Mime-Types bearbeiten? - Oder 404.3 Fehler bei unbekannten Dateiendungen!&lt;/h3&gt;
&lt;p&gt;Wenn Sie diese Fehlermeldung sehen:&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #cc0000;"&gt;&lt;strong&gt;&lt;span style="font-family: verdana;"&gt;HTTP Error 404.3 - Not Found&lt;/span&gt;&lt;span style="color: #4f81bd; font-size: 8pt;"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: verdana; color: #cc0000; font-size: 9pt;"&gt;&lt;strong&gt;The page you are requesting cannot be served because of the extension configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map. &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;, dann haben Sie wahrscheinlich von ihrem IIS eine Datei aufgerufen dessen Datei-Endung und Mime Type dem IIS nicht bekannt ist.&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Hintergrund&lt;/span&gt;: &lt;strong&gt;Statische Inhalte f&amp;uuml;r die im IIS kein Mime-Type definiert ist werden nicht ausgeliefert&lt;/strong&gt; &amp;ndash; der IIS antwortet mit einer &lt;strong&gt;404&lt;/strong&gt; (.3) &lt;strong&gt;Not Found&lt;/strong&gt; Fehlermeldung.&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Abhilfe&lt;/span&gt;: Der IIS hat zwar eine Standardliste mit Verkn&amp;uuml;pfungen von Datei-Endungen zu bekannten Mime-Types, dennoch &lt;strong&gt;kann&lt;/strong&gt; es &lt;strong&gt;vorkommen&lt;/strong&gt;, &lt;strong&gt;dass&lt;/strong&gt; man diese &lt;strong&gt;Liste&lt;/strong&gt; selbst &lt;strong&gt;erweitern&lt;/strong&gt; &lt;strong&gt;muss&lt;/strong&gt; (siehe auch z.B. &lt;a href="http://learn.iis.net/page.aspx/262/configuring-iis-for-silverlight-applications/"&gt;Configuring IIS for Silverlight Applications&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Beispiel&lt;/span&gt;: Um statische Inhalte vom Typ &lt;a href="http://de.wikipedia.org/wiki/Scalable_Vector_Graphics"&gt;Scalable Vector Graphics&lt;/a&gt; (.svg Dateien) vom IIS7 ausliefern zu k&amp;ouml;nnen muss ein neuer Mime-Type Eintrag gesetzt werden (siehe auch &lt;a href="http://learn.iis.net/page.aspx/832/adding-ie-9-mime-types-to-iis-7/"&gt;Adding IE 9 MIME Types to IIS 7&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Als Test .svg-Datei kann z.B. der &lt;a href="http://upload.wikimedia.org/wikipedia/commons/7/72/Variable_Resistor.svg"&gt;Variable Resistor&lt;/a&gt; von Wikipedia dienen. Ich platziere diese Datei in meinem c:\inetpub\wwwroot Ordner (=Standard Web Site).&lt;/p&gt;
&lt;p&gt;Ohne zus&amp;auml;tzlichen Mime-Type Eintrag bekomme ich, im Browser:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/1031.svg_2D00_mime_2D00_type_2D00_error_2D00_404.3_5F00_72D3B743.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="svg mime type error 404.3" border="0" alt="svg mime type error 404.3" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/1031.svg_2D00_mime_2D00_type_2D00_error_2D00_404.3_5F00_thumb_5F00_784227E7.png" width="240" height="121" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Wir f&amp;uuml;gen jetzt den notwendigen Mime-Type hinzu:&lt;/p&gt;
&lt;p&gt;IIS Management Konsole -&amp;gt; Server Namen ausw&amp;auml;hlen -&amp;gt; Mime-Types Feature ausw&amp;auml;hlen -&amp;gt; Open Feature -&amp;gt; Mit "Add" einen neuen Eintrag festlegen:&lt;/p&gt;
&lt;div&gt;
&lt;table style="border-collapse: collapse;" border="0"&gt;&lt;colgroup&gt;&lt;col style="width: 134px;" /&gt;&lt;col style="width: 104px;" /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border: 0.5pt solid;"&gt;
&lt;p&gt;File name extension&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-bottom: 0.5pt solid; border-left-style: none; padding-left: 7px; padding-right: 7px; border-top: 0.5pt solid; border-right: 0.5pt solid;"&gt;
&lt;p&gt;.svg&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-bottom: 0.5pt solid; border-left: 0.5pt solid; padding-left: 7px; padding-right: 7px; border-top-style: none; border-right: 0.5pt solid;"&gt;
&lt;p&gt;MIME type:&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-bottom: 0.5pt solid; border-left-style: none; padding-left: 7px; padding-right: 7px; border-top-style: none; border-right: 0.5pt solid;"&gt;
&lt;p&gt;image/svg+xml&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/4251.add_2D00_svg_2D00_mime_2D00_type_5F00_3DE6B206.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="add svg mime type" border="0" alt="add svg mime type" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/3175.add_2D00_svg_2D00_mime_2D00_type_5F00_thumb_5F00_65C9B165.png" width="640" height="395" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ein erneuter Aufruf im Browser erzeugt keinen Fehler und die Vektor Grafik wird korrekt dargestellt:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/0435.variable_2D00_resistor_5F00_3F87580D.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="variable resistor" border="0" alt="variable resistor" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/0451.variable_2D00_resistor_5F00_thumb_5F00_0216F386.png" width="240" height="153" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Wo bekomme ich den Mime-Type f&amp;uuml;r ein Dateiformat her?&lt;/h3&gt;
&lt;p&gt;Kurz: Im Internet ;-)&lt;/p&gt;
&lt;p&gt;Bei der &lt;a href="http://www.ietf.org/"&gt;Internet Engineering Task Force&lt;/a&gt; (Wikipedia Eintrag zur &lt;a href="http://en.wikipedia.org/wiki/IETF"&gt;IETF&lt;/a&gt;) liegen die sog. RFC &amp;ndash; Beitr&amp;auml;ge aus, die u.a. dokumentieren wie die Mime-Typen zu setzen sind.&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Anm. d. Autors:&lt;/span&gt; Ich musste noch nicht die RFC konsultieren um einen Mime-Type f&amp;uuml;r einen Datei-Type herauszufinden, meist existiert ein Wikipedia Eintrag der den Mime-Type gleich mit angibt oder alternativ hilft eine Suchanfrage nach der Dateiendung und "Mime-Type".:&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/6472.082911_5F00_1330_5F00_IISfrEinste8.png" /&gt;&lt;/p&gt;
&lt;p&gt;Wer hat die Antwort auf statische Inhalte - oder was macht der StaticFile Handler?&lt;/p&gt;
&lt;p&gt;"&lt;strong&gt;Handler Mappings&lt;/strong&gt;" im IIS7 &lt;strong&gt;legen&lt;/strong&gt; &lt;strong&gt;fest&lt;/strong&gt;, &lt;strong&gt;wer&lt;/strong&gt; die &lt;strong&gt;Antwort&lt;/strong&gt; auf eine http Anfrage &lt;strong&gt;&amp;uuml;bernimmt&lt;/strong&gt;:Die Zuordnung welcher Handler f&amp;uuml;r welche Anfragen zust&amp;auml;ndig ist geschieht auf Basis des angefragten Dateityps:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/1524.handler_2D00_mappings_5F00_35DEE9D7.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="handler mappings" border="0" alt="handler mappings" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/0451.handler_2D00_mappings_5F00_thumb_5F00_4D29EE48.png" width="640" height="401" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ein IIS7 soll in der Regel viele unterschiedliche Inhalte (.html, .php, .asp, .aspx, etc.) ausliefern k&amp;ouml;nnen. Je nachdem ob es ich dabei um statische oder dynamisch Inhalte handelt, ergeben sich daraus unterschiedliche Anforderungen an die Darstellung: Dynamische Inhalte m&amp;uuml;ssen vor Versand noch "aufbereitet" (z.B. kompiliert) werden &amp;ndash; statische Inhalte zuvor von der Platte geholt werden. Das erkl&amp;auml;rt die zahlreichen Handler-Einstellungen. Mehrfachbelegungen sind m&amp;ouml;glich, je nach Konfiguration bestimmt der IIS7 dann welcher Handler f&amp;uuml;r eine Anfrage genommen wird.&lt;/p&gt;
&lt;p&gt;F&amp;uuml;r alle statischen Inhalts-Dateitypen gibt es Default nur ein Handler-Mapping : Das &lt;strong&gt;StaticFile-Handler&lt;/strong&gt; Mapping:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/6724.static_2D00_file_2D00_handler_2D00_mapping_5F00_0AD6D605.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="static file handler mapping" border="0" alt="static file handler mapping" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/6724.static_2D00_file_2D00_handler_2D00_mapping_5F00_thumb_5F00_579A9C9B.png" width="640" height="106" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Anstatt f&amp;uuml;r alle statischen Inhalte / Dateiendungen (.htm, .html, .jpg, etc. ) jeweils ein Handler-Mapping zu haben, verwendet der IIS7 ein Wildcard Mapping im Pfad ("*"). Die eigentliche Arbeit &amp;uuml;bernehmen die eingetragenen Handler: z.B. das StaticFileModule.&lt;/p&gt;
&lt;p&gt;Das StaticFileModule liest den Inhalt einer Datei passend zur http Anfrage von der Festplatte und &amp;uuml;bergibt diesen als http Antwort.&lt;/p&gt;
&lt;p&gt;Fehlt das StaticFileModule bekommt man bei einer Anfrage auf statische Inhalte o.&amp;auml;.:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: verdana; color: #cc0000; font-size: 10pt;"&gt;&lt;strong&gt;HTTP Error 500.21 - Internal Server Error &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: verdana; color: #cc0000; font-size: 8pt;"&gt;&lt;strong&gt;Handler "StaticFile" has a bad module "StaticFileModule" in its module list &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Fehlt das Handler-Mapping f&amp;uuml;r statische Inhalte erzeugt eine http-Anfrage darauf o.&amp;auml;.:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: verdana; color: #cc0000; font-size: 10pt;"&gt;&lt;strong&gt;HTTP Error 404.4 - Not Found &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: verdana; color: #cc0000; font-size: 8pt;"&gt;&lt;strong&gt;The resource you are looking for does not have a handler associated with it. &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Tipp: &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Wer wissen m&amp;ouml;chte welches Handler-Mapping f&amp;uuml;r eine bestimmte http Anfrage vom IIS ausgew&amp;auml;hlt worden, kann das IIS7 Failed Request Tracing aktivieren:&lt;/p&gt;
&lt;p&gt;z.B. &lt;strong&gt;"&lt;em&gt;slow.aspx"&lt;/em&gt;&lt;/strong&gt; (ASP.NET 4.0)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/5153.Handler_2D00_Changed_2D00_aspnet40_5F00_5A60518E.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Handler Changed aspnet40" border="0" alt="Handler Changed aspnet40" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/4744.Handler_2D00_Changed_2D00_aspnet40_5F00_thumb_5F00_1EC042CE.png" width="640" height="28" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: consolas; font-size: 7pt;"&gt;NewHandlerName="PageHandlerFactory-Integrated-4.0", NewHandlerModules="ManagedPipelineHandler", NewHandlerScriptProcessor="", NewHandlerType="System.Web.UI.PageHandlerFactory" &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;"&lt;em&gt;start.html" &lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/1121.Handler_2D00_Changed_2D00_static_2D00_file_5F00_5288391F.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="Handler Changed static file" border="0" alt="Handler Changed static file" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/0042.Handler_2D00_Changed_2D00_static_2D00_file_5F00_thumb_5F00_033B40CB.png" width="640" height="31" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: consolas; font-size: 7pt;"&gt;NewHandlerName="StaticFile", NewHandlerModules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Zusammenfassung:&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Handler&lt;/strong&gt; sind Komponenten im IIS7 und &lt;strong&gt;erzeugen&lt;/strong&gt; &lt;strong&gt;den&lt;/strong&gt; &lt;strong&gt;Inhalt&lt;/strong&gt; &lt;strong&gt;den&lt;/strong&gt; &lt;strong&gt;der&lt;/strong&gt; &lt;strong&gt;IIS&lt;/strong&gt; &lt;strong&gt;als&lt;/strong&gt; &lt;strong&gt;http&lt;/strong&gt; &lt;strong&gt;Antwort&lt;/strong&gt; schickt.&lt;/p&gt;
&lt;p&gt;F&amp;uuml;r den &lt;strong&gt;IIS7&lt;/strong&gt; &lt;strong&gt;sind&lt;/strong&gt; &lt;strong&gt;Inhalte&lt;/strong&gt; | Datei-Erweiterungen &lt;strong&gt;statisch&lt;/strong&gt; (.html, .jpg, .css, etc. ), &lt;strong&gt;wenn&lt;/strong&gt; daf&amp;uuml;r ein g&amp;uuml;ltiger &lt;strong&gt;Mime&lt;/strong&gt;-&lt;strong&gt;Type&lt;/strong&gt; &lt;strong&gt;angegeben&lt;/strong&gt; &lt;strong&gt;ist&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;F&amp;uuml;r &lt;strong&gt;alle statischen Inhalte &lt;/strong&gt;greift &lt;strong&gt;standardm&amp;auml;&amp;szlig;ig ein Handler &lt;/strong&gt;Mapping -"&lt;strong&gt;StaticFile&lt;/strong&gt;".&lt;/p&gt;
&lt;p&gt;Dieses Mapping &lt;strong&gt;legt&lt;/strong&gt; &lt;strong&gt;u.a. fest&lt;/strong&gt;, dass &lt;strong&gt;das&lt;/strong&gt; &lt;strong&gt;StaticFileModule&lt;/strong&gt; den &lt;strong&gt;Inhalt&lt;/strong&gt; passend zur http Anfrage &lt;strong&gt;von Festplatte lesen und als http Antwort zur&amp;uuml;ckgeben soll. &lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;Links:&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://learn.iis.net/page.aspx/136/install-typical-iis-workloads/"&gt;Install Typical IIS Workloads : Installing IIS 7 : Installing and Configuring IIS 7&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/c8c6efbf-1e4a-479f-b012-5d5034534ced"&gt;Deploying a Static Content Server (IIS 7)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://learn.iis.net/page.aspx/121/iis-7-modules-overview/"&gt;IIS 7 Modules Overview : Introduction to IIS 7 Architecture&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3449705" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author><category term="iis" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/iis/" /><category term="training" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/training/" /><category term="IIS fuer Einsteiger" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/IIS+fuer+Einsteiger/" /></entry><entry><title>How to turn on IPv6 from the cmd line | script.</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2011/08/22/how-to-turn-on-ipv6-from-the-cmd-line-script.aspx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2011/08/22/how-to-turn-on-ipv6-from-the-cmd-line-script.aspx</id><published>2011-08-22T09:24:06Z</published><updated>2011-08-22T09:24:06Z</updated><content type="html">&lt;p&gt;&lt;strong&gt;Why enable IPv6?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;there are various reasons for this. One that might not be so obvious is because &lt;strong&gt;there are more and more applications that need IPv6&lt;/strong&gt; and rely on the fact that IPv6 is enabled by default (on Windows Vista or Windows Server 2008)&lt;/p&gt;  &lt;p&gt;Turning IPv6 off brings you on untested grounds resulting in components that no longer function.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Support has &lt;u&gt;solved a lot of problems that could have been avoided by keeping IPv6 turned on.&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;For more information on this please read &lt;a href="http://technet.microsoft.com/en-us/magazine/2009.07.cableguy.aspx"&gt;Support for IPv6 in Windows Server 2008 R2 and Windows 7&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So how to do this: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/8551.checkIPv6_5F00_4B217B1A.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="checkIPv6" border="0" alt="checkIPv6" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/4857.checkIPv6_5F00_thumb_5F00_4BE9BB37.png" width="240" height="142" /&gt;&lt;/a&gt; from the cmd line in case someone has unchecked IPv6 mistakenly.&lt;/p&gt;  &lt;p&gt;This is especially useful when you have &lt;strong&gt;no GUI&lt;/strong&gt; – e.g. on Server Core / Hyper-V Server or when you need to &lt;strong&gt;check network connection properties | network settings&lt;/strong&gt; like below for an &lt;strong&gt;unattended&lt;/strong&gt; installation. &lt;/p&gt;  &lt;p&gt;Using WMI or other built-in tools seem to be a dead end. Doing so in the &lt;a href="http://technet.microsoft.com/en-us/network/cc987595.aspx#"&gt;registry&lt;/a&gt; is one way.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Here is an &lt;strong&gt;unsupported tool&lt;/strong&gt; that you could &lt;strong&gt;use at your own risk&lt;/strong&gt;:&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/b/jhoward/archive/2010/01/25/announcing-nvspbind.aspx"&gt;&lt;strong&gt;NVSPBind&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;is the &lt;strong&gt;tool&lt;/strong&gt; that lets you &lt;strong&gt;enable&lt;/strong&gt; &lt;strong&gt;protocols&lt;/strong&gt; (e.g. &lt;a href="http://blogs.technet.com/b/ipv6/"&gt;IPv6&lt;/a&gt;) &lt;strong&gt;on a network adapter&lt;/strong&gt; using the &lt;strong&gt;command line:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;font style="background-color: #000000" color="#00ff00"&gt;nvspbind.exe /e &amp;quot;Local Area Connection&amp;quot; ms_tcpip6 &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;ms_netbios NetBIOS Interface      &lt;br /&gt;ms_server File and Printer Sharing for Microsoft Networks       &lt;br /&gt;ms_pacer QoS Packet Scheduler       &lt;br /&gt;ms_ndiscap NDIS Capture LightWeight Filter       &lt;br /&gt;ms_wfplwf WFP Lightweight Filter       &lt;br /&gt;ms_msclient Client for Microsoft Networks       &lt;br /&gt;ms_lltdio Link-Layer Topology Discovery Mapper I/O Driver       &lt;br /&gt;ms_rspndr Link-Layer Topology Discovery Responder       &lt;br /&gt;ms_ndisuio NDIS Usermode I/O Protocol       &lt;br /&gt;ms_pppoe Point to Point Protocol Over Ethernet       &lt;br /&gt;ms_tcpip6 Internet Protocol Version 6 (TCP/IPv6)       &lt;br /&gt;ms_netbt WINS Client(TCP/IP) Protocol       &lt;br /&gt;ms_smb Microsoft NetbiosSmb       &lt;br /&gt;ms_tcpip Internet Protocol Version 4 (TCP/IPv4)       &lt;br /&gt;vms_pp Microsoft Virtual Network Switch Protocol&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="1"&gt;…&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://archive.msdn.microsoft.com/nvspbind"&gt;&lt;strong&gt;Download NVSBind from MSDN.&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Links:&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;&lt;a href="http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/01/28/nvspbind-and-nvspscrub.aspx"&gt;NVSPBind and NVSPScrub&lt;/a&gt;&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;KB article 929852: &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;929852"&gt;How to disable certain Internet Protocol version 6 (IPv6) components in Windows Vista, Windows 7, and Windows Server 2008&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3448375" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>IIS7: How to enable webdav for (multiple) a website(s) via script</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2011/07/13/iis7-how-to-enable-webdav-for-multiple-of-websites-via-script.aspx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2011/07/13/iis7-how-to-enable-webdav-for-multiple-of-websites-via-script.aspx</id><published>2011-07-13T15:42:00Z</published><updated>2011-07-13T15:42:00Z</updated><content type="html">&lt;p&gt;Configuring &lt;a href="http://www.iis.net/download/WebDAV"&gt;WebDAV&lt;/a&gt; requires some steps, e.g.:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;enabling webdav&lt;/strong&gt; for a specific site&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;add&lt;/strong&gt; an &lt;strong&gt;webdav authoring rule&lt;/strong&gt; for a specific user&lt;/li&gt;
&lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/354/how-to-configure-webdav-with-request-filtering/"&gt;&lt;strong&gt;configure WebDAV with Request Filtering&lt;/strong&gt;&lt;/a&gt; (i.e. not to apply rules for webdav traffic)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;enable&lt;/strong&gt; / allow windows &lt;strong&gt;authentication for this site&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;creating&lt;/strong&gt; windows &lt;strong&gt;accounts&lt;/strong&gt; and &lt;strong&gt;give them NTFS permissions&lt;/strong&gt; on the physical path where the website content is located.&lt;/li&gt;
&lt;li&gt;(set dynamic IP restrictions)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you &lt;strong&gt;want&lt;/strong&gt; to do this &lt;strong&gt;for a couple of websites&lt;/strong&gt; &amp;ndash; you probably &lt;strong&gt;want to do this automatically.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This can be done by &lt;strong&gt;calling a batch file multiple times&lt;/strong&gt;. &lt;strong&gt;Once for each website&lt;/strong&gt; - doing all of the actions as stated above:&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Here is my version:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;here is what goes into the batch &amp;ldquo;&lt;em&gt;webdav.cmd&lt;/em&gt;&amp;rdquo;:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Consolas; font-size: x-small;" size="2" face="Consolas"&gt;@echo off &lt;br /&gt;&lt;span style="color: #008000;" color="#008000"&gt;rem &lt;strong&gt;the first input parameter&lt;/strong&gt; %1 &lt;strong&gt;takes the website name&lt;/strong&gt; with quotation marks e.g. "Default Web Site" &lt;br /&gt;rem the &lt;strong&gt;second input parameter&lt;/strong&gt; %2 &lt;strong&gt;takes a password for the&lt;/strong&gt; &lt;strong&gt;windows user that will associated with the webdav user&lt;/strong&gt; has the same name as the website e.g."Default Web Site" &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Consolas; font-size: x-small;" size="2" face="Consolas"&gt;&lt;span style="color: #9bbb59;" color="#9bbb59"&gt;&lt;span style="color: #008000;" color="#008000"&gt;rem Create a windows account with the same name as the website&lt;/span&gt; &lt;br /&gt;&lt;/span&gt;net user %1 %2 /add /EXPIRES:NEVER&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Consolas; font-size: x-small;" size="2" face="Consolas"&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="color: #008000;" color="#008000"&gt;rem build command string to get the root directory of a website using appcmd.exe&lt;/span&gt; &lt;br /&gt;&lt;/span&gt;set name= %windir%\system32\inetsrv\appcmd.exe list vdir "%~1/" /text:physicalPath'&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Consolas; font-size: x-small;" size="2" face="Consolas"&gt;echo website "%~1/" &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Consolas; font-size: x-small;" size="2" face="Consolas"&gt;&lt;span style="color: #008000;" color="#008000"&gt;rem call icacls to set permissions on each directory &lt;br /&gt;&lt;/span&gt;for /F %%X in ('call %name%) do (echo add NTFS permissions on root: %%X for user "%~1" &amp;amp;&amp;amp; call icacls "%%X" /grant "%~1:(OI)(CI)(M)")&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Consolas; color: #008000; font-size: x-small;" size="2" face="Consolas" color="#008000"&gt;rem IIS per web site settings &lt;br /&gt;rem enable windows authentication on webdav site &lt;br /&gt;rem you might use basic auth in conjunction with SSL and &lt;/span&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;963047"&gt;&lt;span style="font-family: Consolas; color: #008000; font-size: x-small;" size="2" face="Consolas" color="#008000"&gt;http://support.microsoft.com/default.aspx?scid=kb;EN-US;963047&lt;/span&gt;&lt;/a&gt; &lt;br /&gt;&lt;span style="font-family: Consolas; font-size: x-small;" size="2" face="Consolas"&gt;%windir%\system32\inetsrv\appcmd.exe set config %1 -section:system.webServer/security/authentication/windowsAuthentication /enabled:"true" /commit:apphost &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;span style="font-family: Consolas; font-size: x-small;" size="2" face="Consolas"&gt;&lt;span style="color: #008000;" color="#008000"&gt;rem enable webdav on a site basis &lt;br /&gt;&lt;/span&gt;%windir%\system32\inetsrv\appcmd.exe set config %1 -section:system.webServer/webdav/authoring /enabled:"True" /requireSsl:"False" /commit:apphost &lt;br /&gt;&lt;span style="color: #008000;" color="#008000"&gt;rem create a webdav allow rule for the user e.g."Default Web Site" &lt;br /&gt;&lt;span style="color: #000000;" color="#000000"&gt;%windir%\system32\inetsrv\appcmd.exe set config %1 -section:system.webServer/webdav/authoringRules /+"[users='%~1',path='*',access='Read, Write, Source']" /commit:apphost &lt;br /&gt;&lt;/span&gt;rem disable locks for webdav authoring - you might need locks in a multi-source authoring environment. &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;" color="#000000"&gt;%windir%\system32\inetsrv\appcmd.exe set config %1 -section:system.webServer/webdav/authoring /locks.enabled:"False" /locks.requireLockForWriting:"False" /commit:apphost&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Consolas; color: #008000; font-size: x-small;" size="2" face="Consolas" color="#008000"&gt;rem make IIS Request filter behave nice to webdav requests &lt;br /&gt;rem note that these settings get into applicationhost.config - so that the inetmgr UI picks them up &lt;br /&gt;rem see also &lt;/span&gt;&lt;a href="http://learn.iis.net/page.aspx/354/how-to-configure-webdav-with-request-filtering/"&gt;&lt;span style="font-family: Consolas; color: #008000; font-size: x-small;" size="2" face="Consolas" color="#008000"&gt;http://learn.iis.net/page.aspx/354/how-to-configure-webdav-with-request-filtering/&lt;/span&gt;&lt;/a&gt; &lt;br /&gt;&lt;span style="font-family: Consolas; color: #000000; font-size: x-small;" size="2" face="Consolas" color="#000000"&gt;%windir%\system32\inetsrv\appcmd.exe set config %1 -section:system.webServer/security/requestFiltering /fileExtensions.applyToWebDAV:"False" /commit:apphost &lt;br /&gt;%windir%\system32\inetsrv\appcmd.exe set config %1 -section:system.webServer/security/requestFiltering /verbs.applyToWebDAV:"False" /commit:apphost &lt;br /&gt;%windir%\system32\inetsrv\appcmd.exe set config %1 -section:system.webServer/security/requestFiltering /hiddenSegments.applyToWebDAV:"False" /commit:apphost&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #008000;" color="#008000"&gt;&lt;span style="font-family: Consolas; font-size: x-small;" size="2" face="Consolas"&gt;rem if you have dynamic request filtering installed &lt;br /&gt;&lt;span style="color: #000000;" color="#000000"&gt;%windir%\system32\inetsrv\appcmd.exe set config %1 -section:system.webServer/security/ipSecurity /dynamicRestrictions.denyByRequestsOverTime.enabled:"true" /commit:apphost&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000;" color="#000000"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Run &lt;em&gt;webdav.cmd&lt;/em&gt; with 2 parameters e.g.: &lt;span style="background-color: #ffff00; font-family: Consolas;" face="Consolas"&gt;&lt;span style="background-color: #ffffff;"&gt;webdav.cmd &amp;ldquo;Default web site&amp;rdquo; password&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;and the output should look similar to this: &lt;br /&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/4747.webdav.cmd_2D00_output_5F00_6EFEB059.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="webdav.cmd output" border="0" alt="webdav.cmd output" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/4747.webdav.cmd_2D00_output_5F00_thumb_5F00_7B202A80.png" width="240" height="84" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The following will be done:&lt;/p&gt;
&lt;p&gt;a user will be created &amp;ldquo;Default web site&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/1033.default_2D00_web_2D00_site_2D00_user_5F00_40C4B49F.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="default web site user" border="0" alt="default web site user" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/1033.default_2D00_web_2D00_site_2D00_user_5F00_thumb_5F00_7177BC4A.png" width="244" height="147" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;permissions will be granted for this user on the web content directory:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/1033.webdav_2D00_ntfs_2D00_permissions_5F00_371C4669.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="webdav ntfs permissions" border="0" alt="webdav ntfs permissions" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/3362.webdav_2D00_ntfs_2D00_permissions_5F00_thumb_5F00_15BCA0CD.png" width="202" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;webdav will be enabled in IIS for the &amp;ldquo;Default web site&amp;rdquo; and an webdav authoring rule for this user created:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/3660.webdav_2D00_authoring_2D00_rule_5F00_2D73D833.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="webdav authoring rule" border="0" alt="webdav authoring rule" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/3660.webdav_2D00_authoring_2D00_rule_5F00_thumb_5F00_1DF0C664.png" width="244" height="74" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;additionally windows auth will be enabled on this site:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/3276.windows_2D00_authentication_2D00_enabled_5F00_7C9120C7.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="windows authentication enabled" border="0" alt="windows authentication enabled" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/3386.windows_2D00_authentication_2D00_enabled_5F00_thumb_5F00_7C24EDD2.png" width="244" height="15" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;and finally some webdav settings will be set for the site:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/7180.webdav_2D00_settings_5F00_42A1DDDB.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="webdav settings" border="0" alt="webdav settings" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/6318.webdav_2D00_settings_5F00_thumb_5F00_610C1EC4.png" width="244" height="183" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;To enable webdav for multiple websites on an IIS automatically you just need to call the script multiple times from the cmd line:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Consolas;" face="Consolas"&gt;&lt;strong&gt;FOR /F %f IN ('%systemroot%\system32\inetsrv\APPCMD list site /text:name') DO CALL webdav.cmd %f password&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;backup before - no warranties &amp;ndash; hth &lt;img style="border-style: none;" class="wlEmoticon wlEmoticon-winkingsmile" alt="Zwinkerndes Smiley" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/5758.wlEmoticon_2D00_winkingsmile_5F00_549DFB9B.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3441410" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author><category term="iis" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/iis/" /><category term="my scripts" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/my+scripts/" /><category term="webdav" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/webdav/" /></entry><entry><title>IIS für Einsteiger Teil 5: FTP – oder wie lade ich Dateien auf meinen Webserver?</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2011/05/27/iis-f-252-r-einsteiger-teil-5-ftp-oder-wie-lade-ich-dateien-auf-meinen-webserver.aspx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2011/05/27/iis-f-252-r-einsteiger-teil-5-ftp-oder-wie-lade-ich-dateien-auf-meinen-webserver.aspx</id><published>2011-05-27T14:52:00Z</published><updated>2011-05-27T14:52:00Z</updated><content type="html">    &lt;div id="silverlightControlHost" width="512" height="384"&gt;         &lt;object data="data:application/x-silverlight," type="application/x-silverlight" width="512"
            height="384"&gt;             &lt;param value="http://bfrank.codedazure.de/blog/video/MediaPlayerTemplate.xap" name="source" /&gt;             &lt;param value="onSilverlightError" name="onerror" /&gt;             &lt;param value="true" name="autoUpgrade" /&gt;             &lt;param value="4.0.50401.0" name="minRuntimeVersion" /&gt;             &lt;param value="true" name="enableHtmlAccess" /&gt;             &lt;param value="true" name="enableGPUAcceleration" /&gt;             &lt;param value="false" name="allowHtmlPopupWindow" /&gt;             &lt;param value="false" name="enableFrameRateCounter" /&gt;             &lt;param value="playerSettings =&amp;lt;Playlist&amp;gt;&amp;lt;AutoLoad&amp;gt;false&amp;lt;/AutoLoad&amp;gt;&amp;lt;AutoPlay&amp;gt;false&amp;lt;/AutoPlay&amp;gt;&amp;lt;Items&amp;gt;&amp;lt;PlaylistItem&amp;gt;&amp;lt;MediaSource&amp;gt;http://bfrank.codedazure.de/blog/video/content/IIS f&amp;uuml;r Einsteiger Teil 5 - FTP.wmv&amp;lt;/MediaSource&amp;gt;&amp;lt;ThumbSource&amp;gt;http://bfrank.codedazure.de/blog/video/content/IIS f&amp;uuml;r Einsteiger Teil 5 - FTP small.jpg&amp;lt;/ThumbSource&amp;gt;&amp;lt;Title&amp;gt;IIS7%20f%C3%BCr%20Einsteiger%20-%20Installation&amp;lt;/Title&amp;gt;&amp;lt;/PlaylistItem&amp;gt;&amp;lt;/Items&amp;gt;&amp;lt;/Playlist&amp;gt;" name="initparams" /&gt;             &lt;table&gt;                 &lt;tr&gt;                     &lt;td&gt;                         Beste Video-Qualität mit Silverlight &lt;a href="http://go2.microsoft.com/fwlink/?LinkID=149156"&gt;                             &lt;img src="http://go2.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" /&gt;                         &lt;/a&gt;                     &lt;/td&gt;                 &lt;/tr&gt;             &lt;/table&gt;         &lt;/object&gt;     &lt;/div&gt;  &lt;p&gt;Das &lt;a href="http://de.wikipedia.org/wiki/File_Transfer_Protocol"&gt;File Transfer Protocol&lt;/a&gt; (&lt;strong&gt;FTP&lt;/strong&gt;) &lt;strong&gt;ist&lt;/strong&gt; zwar nicht das neueste Protokoll, dafür aber &lt;strong&gt;effizient&lt;/strong&gt; und schnell wenn es darum geht &lt;strong&gt;große&lt;/strong&gt; &lt;strong&gt;Dateien&lt;/strong&gt; oder &lt;strong&gt;viele&lt;/strong&gt; &lt;strong&gt;Dateien&lt;/strong&gt; &lt;strong&gt;mit&lt;/strong&gt; &lt;strong&gt;einem&lt;/strong&gt; (Web)&lt;strong&gt;Server&lt;/strong&gt; &lt;strong&gt;auszutauschen&lt;/strong&gt;. &lt;/p&gt;  &lt;p&gt;Ein weiterer Vorteil: Viele teilweise komfortable &lt;a href="http://de.wikipedia.org/wiki/Kategorie:FTP-Client"&gt;FTP Clients&lt;/a&gt; (z.B. &lt;a href="http://de.wikipedia.org/wiki/FileZilla"&gt;Filezilla&lt;/a&gt;) stehen mir kostenlos zur Verfügung. Damit lassen sich einfach z.B. die Dateien meiner Website von meinem Entwicklerrechner auf den IIS Webserver übertragen. &lt;/p&gt;  &lt;p&gt;Der IIS versteht auch FTP zur Übertragung von Dateien. Auf dem Server werden dazu Verzeichnisse zum Publizieren freigegeben. &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/7563.052711_5F00_1451_5F00_IISfrEinste1.png" /&gt; &lt;/p&gt;  &lt;h3&gt;Was muss ich tun um FTP auf dem IIS zu ermöglichen? &lt;/h3&gt;  &lt;p&gt;&lt;strong&gt;Erstens&lt;/strong&gt; sollte man sicherstellen, dass man den &lt;strong&gt;aktuellsten&lt;/strong&gt; &lt;strong&gt;FTP&lt;/strong&gt; &lt;strong&gt;Dienst&lt;/strong&gt; für den IIS 7 &lt;strong&gt;installiert&lt;/strong&gt; hat. &lt;span style="text-decoration: underline"&gt;Hintergrund&lt;/span&gt;: Der &lt;a href="http://www.iis.net/download/FTP"&gt;FTP 7.5&lt;/a&gt; ist erst nach Fertigstellung des Windows Server 2008 entwickelt worden. Deswegen gibt es für diese IIS/OS Version einen separaten Download. Bei Windows Server 2008 R2 ist der &lt;a href="http://www.iis.net/download/FTP"&gt;FTP7.5&lt;/a&gt; auf der OS DVD mit drauf. &lt;/p&gt;  &lt;p&gt;Am einfachsten überprüft man mit dem &lt;a href="http://go.microsoft.com/?linkid=9655652"&gt;Web Platform Installer ob der aktuellste FTP Dienst&lt;/a&gt; schon drauf ist oder installiert ihn darüber: &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/7167.052711_5F00_1451_5F00_IISfrEinste2.png" /&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Den FTP Dienst verwaltet man in der IIS Administrationskonsole: &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/4035.052711_5F00_1451_5F00_IISfrEinste3.png" /&gt; &lt;/p&gt;  &lt;p&gt;Im &lt;strong&gt;zweiten&lt;/strong&gt; Schritt &lt;strong&gt;richten&lt;/strong&gt; wir &lt;strong&gt;den&lt;/strong&gt; &lt;strong&gt;FTP&lt;/strong&gt; &lt;strong&gt;Dienst&lt;/strong&gt; &lt;strong&gt;ein, &lt;/strong&gt;dazu müssen wir angeben: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;wie ist der FTP Dienst erreichbar (z.B. IP Adresse) &lt;/li&gt;    &lt;li&gt;ob die Verbindung ver-oder unverschlüsselt erfolgen soll &lt;/li&gt;    &lt;li&gt;ob sich ein FTP Benutzer anmelden muss oder ob der &lt;em&gt;Anonymous&lt;/em&gt; Benutzer ausreicht. &lt;/li&gt;    &lt;li&gt;welches Verzeichnis auf dem Webserver soll via FTP erreichbar sein soll &lt;/li&gt;    &lt;li&gt;welche Zugriffsrechte die Benutzer (Lesen oder/und Schreiben) haben sollen &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;3 Szenarien: &lt;/h3&gt;  &lt;p&gt;Man kann Verzeichnisse welche über FTP erreichbar sein sollen unterschiedlich konfigurieren. Die Verzeichnisse werden innerhalb einer FTP Site verwaltet. Ich möchte 3 Einstiegs-Szenarien vorstellen, die jeweils ihre Vor- und Nachteile besitzen: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;Eine FTP Site&lt;/strong&gt; zum &lt;strong&gt;Publizieren in alle Websites&lt;/strong&gt; mit &lt;strong&gt;ein&lt;/strong&gt;en (oder wenigen) FTP &lt;strong&gt;Benutzer&lt;/strong&gt;-Konto. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Eine FTP Site pro Website&lt;/strong&gt; mit jeweils &lt;strong&gt;unterschiedliche&lt;/strong&gt;n &lt;strong&gt;Anmelde-Informationen&lt;/strong&gt; (Benutzername, Adresse) &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Eine FTP&lt;/strong&gt; Site mit &lt;strong&gt;mehr&lt;/strong&gt;eren FTP &lt;strong&gt;Benutzer&lt;/strong&gt;-Konten + &lt;strong&gt;Isolierung&lt;/strong&gt;, d.h. Benutzer &lt;strong&gt;sehen&lt;/strong&gt; &lt;strong&gt;je&lt;/strong&gt; &lt;strong&gt;nach&lt;/strong&gt; &lt;strong&gt;Login&lt;/strong&gt;namen &lt;strong&gt;nur&lt;/strong&gt; &lt;strong&gt;ein&lt;/strong&gt; &lt;strong&gt;bestimmtes&lt;/strong&gt; &lt;strong&gt;Verzeichnis&lt;/strong&gt;. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Diese Beispiele sollen zeigen, wie eine FTP Site grundsätzlich aufgebaut werden kann. Weitere Anpassungen und Erweiterungen sind natürlich möglich, sollen jedoch nicht Fokus sein, siehe dazu auch die weiterführenden &lt;a href="#_Links:"&gt;Links&lt;/a&gt;. &lt;/p&gt;  &lt;h3&gt;(1) Eine FTP Site für alle Websites mit einem FTP Benutzer-Konto – keine Isolierung. &lt;/h3&gt;  &lt;p&gt;Hier die Schritte zum Einrichten der wohl einfachsten Variante. (Siehe auch &lt;a href="http://learn.iis.net/page.aspx/301/creating-a-new-ftp-site/"&gt;Creating a New FTP Site)&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In der IIS Administrationskonsole -&amp;gt; Rechter Mouseklick auf Sites -&amp;gt;Add &amp;quot;FTP Site&amp;quot;: &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/5826.052711_5F00_1451_5F00_IISfrEinste4.png" /&gt; &lt;/p&gt;  &lt;p&gt;Anschließend legen wir den Namen der FTP Site fest und geben an welches Root-Verzeichnis auf dem IIS über FTP erreichbar sein soll (in unserem Fall c:\webs): &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/8171.052711_5F00_1451_5F00_IISfrEinste5.png" /&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Unter der Dialogseite &amp;quot;Binding and SSL&amp;quot; wird festgelegt auf welcher IP Adresse und Port der FTP Dienst für diese Website hören soll, wir nehmen hier die Standardeinstellungen. &lt;/p&gt;  &lt;p&gt;Der FTP 7.5 unterstützt nun Verschlüsselung (&lt;a href="http://en.wikipedia.org/wiki/FTPS"&gt;FTPS&lt;/a&gt;). Eine Option die sehr sinnvoll ist gerade wenn man bedenkt, dass unverschlüsseltes FTP das Passwort bei der Benutzer-Anmeldung Clear-Text über das Internet schickt und mittels &lt;a href="http://en.wikipedia.org/wiki/Network_sniffers"&gt;Netzwerk-Sniffer&lt;/a&gt; von Dritten mitgeschnitten werden könnte. Wer mehr Sicherheit möchte kann Verschlüsselung erlauben oder erzwingen. Wir erlauben SSL und wählen noch das selbstausgestellte Testzertifikat (hier &amp;quot;localhost&amp;quot;) aus: &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/1715.052711_5F00_1451_5F00_IISfrEinste6.png" /&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Im nächsten Dialog werden die Authentifizierungs- und Autorisierung-Einstellungen – also das &amp;quot;wer darf was über FTP&amp;quot; gemacht. Hier kann ich die erste Zugriffsregel festlegen:&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/7587.052711_5F00_1451_5F00_IISfrEinste7.png" /&gt; &lt;/p&gt;  &lt;p&gt;Zunächst sollen sich Benutzer nur als &lt;em&gt;Anonymous&lt;/em&gt; User beim FTP anmelden können (müssen also kein Passwort eingeben) – und haben nur Lese-Zugriff auf die Website. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;span style="text-decoration: underline"&gt;Anm.:&lt;/span&gt; Den Lese-Zugriff des &lt;em&gt;Anonymous&lt;/em&gt; User impersonifiziert der Microsoft FTP Dienst im Hintergrund standardmäßig auf den &lt;em&gt;IUSR&lt;/em&gt; Account, da dieser als &lt;em&gt;Anonymous User Identity&lt;/em&gt; für die &lt;em&gt;Anonymous Authentication&lt;/em&gt; Methode eingetragen ist. D.h. der IUSR Account braucht Lese- Berechtigungen auf dem Filesystem für C:\Webs &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Mit klicken auf &amp;quot;Finish&amp;quot; taucht die FTP Site in der Konsole auf und ist bereit FTP Verbindungen anzunehmen: &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/7674.052711_5F00_1451_5F00_IISfrEinste8.png" /&gt; &lt;/p&gt;  &lt;p&gt;Über FTP ist jetzt das Root Verzeichnis (hier: C:\Webs) inklusive aller Sub-Ordner erreichbar. Wenn ich weitere Ordner freigeben möchte, dann erstelle ich ein virtuelles Verzeichnis in meiner FTP Site: &lt;/p&gt;  &lt;p&gt;IIS Manager -&amp;gt; rechter Mausklick auf &amp;quot;FTP Site&amp;quot; -&amp;gt; Add Virtual Directory: &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/8267.052711_5F00_1451_5F00_IISfrEinste9.png" /&gt; &lt;/p&gt;  &lt;p&gt;Der Server Ordner &lt;em&gt;c:\somewhere&lt;/em&gt; ist damit per FTP als Verzeichnis &lt;em&gt;vDir&lt;/em&gt; erreichbar. Im FTP Client wird dieser virtuelle Ordner standardmäßig nicht angezeigt. Ich muss den FTP Server anweisen virtuelle Verzeichnisse in Ordnerlisten anzuzeigen: &lt;/p&gt;  &lt;p&gt;IIS Manager -&amp;gt; FTP Site auswählen -&amp;gt; FTP Directory Browsing -&amp;gt; aktiviere &amp;quot;Virtual directories&amp;quot; -&amp;gt; Apply: &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/8686.052711_5F00_1451_5F00_IISfrEinste10.png" /&gt; &lt;/p&gt;  &lt;p&gt;Wir machen einen Test und greifen mit Filezilla einem FTP-Client (lokal) auf unsere FTP Site (lokal) zu. &lt;/p&gt;  &lt;p&gt;Server: &lt;em&gt;localhost&lt;/em&gt; &lt;/p&gt;  &lt;p&gt;Benutzername: &lt;em&gt;anonymous &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;In Filezilla ist Links die Ordneransicht auf dem &amp;quot;Client&amp;quot;, Rechts: der &amp;quot;FTP Server. Unser &lt;em&gt;vDir&lt;/em&gt; taucht in der Ordneransicht auf. Dateien können einfach per drag&amp;amp;drop (je nach Berechtigungen) kopiert werden. Wenn wir z.B. versuchen einen neuen Ordner auf dem Server anzulegen bekommen wir einen &amp;quot;Access denied&amp;quot;: &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/4477.052711_5F00_1451_5F00_IISfrEinste11.png" /&gt; &lt;/p&gt;  &lt;p&gt;Das ist auch gut so, denn schließlich handelt es sich hier um den &lt;em&gt;Anonymous&lt;/em&gt; User, der nur Lese Berechtigungen auf den Server hat. Wenn wir bestimmten Benutzern Schreibrechte geben möchten dann muss ich auf dem IIS noch die FTP Authentifizierung aktivieren: &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/4786.052711_5F00_1451_5F00_IISfrEinste12.png" /&gt; &lt;/p&gt;  &lt;p&gt;Wir wählen die Basic Authentication als Methode für die FTP-Authentifizierung. Jetzt müssen wir noch eine FTP-Autorisierungs / Zugriffs-Regel anlegen um z.B. den Benutzer &lt;em&gt;ftpuser,&lt;/em&gt; Lese- und Schreib- (Read and Write) Berechtigungen für die FTP Site zu geben: &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/0675.052711_5F00_1451_5F00_IISfrEinste13.png" /&gt; &lt;/p&gt;  &lt;p&gt;Das FTP Benutzer-Konto muss (bei Basic Authentication als Methode) auch als Windows Account existieren und die entsprechenden Ordner und Datei Berechtigungen (hier C:\Webs) haben. Den &lt;em&gt;ftpuser&lt;/em&gt; erstellen wir uns über die Kommandozeile: &lt;/p&gt;  &lt;p&gt;net user ftpuser * /add &lt;/p&gt;  &lt;p&gt;Im Hintergrund impersonifiziert der Microsoft FTP Dienst (&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/7115.052711_5F00_1451_5F00_IISfrEinste14.png" /&gt;) bei Zugriffen in das angemeldete FTP Benutzer Konto. Deswegen braucht der &lt;em&gt;ftpuser&lt;/em&gt; auch die erforderlichen Berechtigungen im Filesystem auf C:\Webs. Andernfalls könnte es bereits beim Anmelden, Anlegen oder Löschen von Dateien und Ordnern zu Fehlermeldungen kommen, z.B.: &lt;/p&gt;  &lt;p style="margin-left: 73pt"&gt;&lt;span style="font-family: ms shell dlg 2; color: green; font-size: 8pt"&gt;&lt;span style="background-color: white"&gt;&lt;strong&gt;530-User cannot log in&lt;/strong&gt;, home directory inaccessible ... Error details: &lt;strong&gt;File system denied the access&lt;/strong&gt;.&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 73pt"&gt;&lt;span style="font-family: ms shell dlg 2; color: navy; font-size: 8pt"&gt;&lt;span style="background-color: white"&gt;&lt;strong&gt;MKD&lt;/strong&gt; /Neues Verzeichnis ...&lt;span style="color: green"&gt; &lt;strong&gt;550&lt;/strong&gt;-&lt;strong&gt;Access is denied&lt;/strong&gt; ... Error details: &lt;strong&gt;File system denied the access&lt;/strong&gt;.&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 73pt"&gt;&lt;span style="background-color: white; font-family: ms shell dlg 2; color: navy; font-size: 8pt"&gt;&lt;strong&gt;RMD&lt;/strong&gt; Neues Verzeichnis ... &lt;span style="color: green"&gt;&lt;strong&gt;550-Access is denied&lt;/strong&gt; ... Error details: &lt;strong&gt;File system denied the access&lt;/strong&gt;. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;Hier zur Übersicht das Flow-Chart für das Anlegen eines neuen Ordners (bei verwendeter Basic Authentication): &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/0576.052711_5F00_1451_5F00_IISfrEinste15.png" /&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Wir geben dem &lt;em&gt;ftpuser&lt;/em&gt; von der Kommandozeile aus die notwendigen Filesystem-Berechtigungen (Modify) auf C:\Webs: &lt;/p&gt;  &lt;p&gt;ICACLS c:\webs /grant ftpuser:(OI)(CI)(M)&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;(Alternativ auch von über den Windows Explorer) &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Eine Person kann nun mit einem FTP Client über das FTP Konto &lt;em&gt;ftpuser&lt;/em&gt; von remote aus über das FTP Protokoll auf Verzeichnisse des Servers zugreifen um Änderungen vorzunehmen. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;span style="text-decoration: underline"&gt;&lt;strong&gt;Anm.:&lt;/strong&gt;&lt;/span&gt; Es lassen sich natürlich noch weitere Benutzer Konten anlegen und über FTP Autorisierungs-Regeln festlegen worauf diese zugreifen können. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;span style="text-decoration: underline"&gt;&lt;strong&gt;Fazit: &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;+ Einfacher Weg einen Verzeichnisse eines Servers per FTP erreichbar zu machen. &lt;/p&gt;  &lt;p&gt;+ gut geeignet für ein bis wenige FTP User. &lt;/p&gt;  &lt;p&gt;- Isolation, was ein User darf aufgrund von Autorisierungsregeln. &lt;/p&gt;  &lt;p&gt;- Websites von FTP Site getrennt. Benutzer muss navigieren um in das richtige Verzeichnis für die richtige Website zu gelangen. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;(2) Eine FTP Site pro Website - &amp;quot;Per Site FTP Publishing&amp;quot; &lt;/h3&gt;  &lt;p&gt;Diese Methode integriert, verheiratet eine Website mit FTP. Website und FTP Einstellungen liegen beieinander und nicht getrennt in separater Web und FTP Site. (Siehe auch &lt;a href="http://learn.iis.net/page.aspx/303/adding-ftp-to-a-web-site/"&gt;Adding FTP to a Web Site&lt;/a&gt;) &lt;/p&gt;  &lt;p&gt;Ein Administrator muss dazu lediglich &amp;quot;FTP Publishing&amp;quot; zu einer Website hinzufügen. Dieser Vorgang lässt sich für andere Websites wiederholen und man erhält letztlich mehrere FTP Sites auf einem IIS. &lt;/p&gt;  &lt;p&gt;Für einen reibungslosen Betrieb müssen die FTP Sites sich in den Binding-Einstellungen voneinander unterscheiden. &lt;/p&gt;  &lt;p&gt;Der FTP Benutzer muss nicht lange in den Webordner navigieren sondern landet direkt im Verzeichnis seiner Website, das &amp;quot;Routing&amp;quot; passiert aufgrund der Anmelde-Informationen. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/5875.052711_5F00_1451_5F00_IISfrEinste16.png" /&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Wie schon unter &lt;a href="#_(1)_Eine_FTP"&gt;(1)&lt;/a&gt; wird ein Wizard gestartet und es werden sofort die Binding-Informationen abgefragt: &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/4885.052711_5F00_1451_5F00_IISfrEinste17.png" /&gt; &lt;/p&gt;  &lt;p&gt;Wir haben ja bereits eine FTP Site am Laufen, aber genau wie bei Websites kann der IIS auch mehrere FTP Sites haben. Voraussetzung dafür ist, dass sich die FTP Binding Informationen unterscheiden. Ein FTP Binding setzt sich analog zu einem http Binding aus IP, Port, Virtual Host Name zusammen (siehe &lt;a href="http://blogs.technet.com/controlpanel/blogs/posteditor.aspx/Noch_eine_Website"&gt;&amp;quot;Noch eine Website anlegen!&amp;quot;&lt;/a&gt; in Teil 2 IIS für Einsteiger.). &lt;/p&gt;  &lt;p&gt;Wenn wir den &amp;quot;Virtual Host Name&amp;quot; verwenden oder variieren, dann können wir mehrere FTP Sites auf einem IIS anlegen, ohne dass wir dazu zusätzliche IP Adressen brauchen (oder vom Standard-Port abweichen müssen). Für einen Server im Internet mit Domäne könnte das z.B. ftpXXX&lt;em&gt;.%meineDomäne%&lt;/em&gt;.de sein. &lt;/p&gt;  &lt;p&gt;Für mein Demobeispiel im Intranet nehme ich &lt;em&gt;localhost&lt;/em&gt;. Die anderen Einstellungen bleiben die Defaults. &lt;/p&gt;  &lt;p&gt;Unter &amp;quot;Authentication and Authorization&amp;quot; verwenden wir die gleichen Einstellungen wie bei &lt;a href="#_(1)_Eine_FTP"&gt;(1)&lt;/a&gt;, d.h. &lt;/p&gt;  &lt;p&gt;Nur der &lt;em&gt;Anonymous&lt;/em&gt; User kann sich FTP anmelden und hat nur Lese-Zugriff. &lt;/p&gt;  &lt;p&gt;Ist FTP Publishing erfolgreich für die Site aktiviert erscheint im Site Icon (nach einem Refresh)ein ‚&lt;span style="color: red"&gt;&lt;strong&gt;?&lt;/strong&gt;&lt;/span&gt;'. Zusätzlich wird in den Bindings ein Eintrag für das FTP Protokoll hinzugefügt: &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/1680.052711_5F00_1451_5F00_IISfrEinste18.png" /&gt; &lt;/p&gt;  &lt;p&gt;Die Verwendung von &lt;em&gt;Virtual Host Names&lt;/em&gt; hat eine praktische Auswirkung auf den FTP Benutzer: &lt;/p&gt;  &lt;p&gt;Für das Anmelden muss der Benutzer den Loginnamen zusammenbauen aus: &lt;em&gt;&amp;quot;Virtual Host Name&lt;/em&gt;&lt;strong&gt;+|&lt;/strong&gt;%PipeSymbol%&lt;strong&gt;+&lt;/strong&gt;&lt;em&gt;Benutzername&amp;quot; (&lt;/em&gt;z.B.&lt;em&gt; &lt;/em&gt;ftp.contoso.com|administrator ) &lt;/p&gt;  &lt;p&gt;Vergisst man den &lt;em&gt;Virtual Host Name&lt;/em&gt; beim Login bekommt man den Fehler: &lt;/p&gt;  &lt;p style="margin-left: 73pt"&gt;&lt;span style="background-color: white; font-family: ms shell dlg 2; color: green; font-size: 8pt"&gt;Antwort:&amp;#160;&amp;#160;&amp;#160; 220 Microsoft FTP Service&lt;span style="color: navy"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 73pt"&gt;&lt;span style="background-color: white; font-family: ms shell dlg 2; color: navy; font-size: 8pt"&gt;Befehl:&amp;#160;&amp;#160;&amp;#160; USER anonymous&lt;span style="color: green"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 73pt"&gt;&lt;span style="background-color: white; font-family: ms shell dlg 2; color: green; font-size: 8pt"&gt;Antwort:&amp;#160;&amp;#160;&amp;#160; &lt;strong&gt;530-Valid hostname is expected.&lt;/strong&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 73pt"&gt;&lt;span style="background-color: white; font-family: ms shell dlg 2; color: green; font-size: 8pt"&gt;Antwort:&amp;#160;&amp;#160;&amp;#160;&amp;#160; Win32 error: No such host is known. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="background-color: white; font-family: ms shell dlg 2; color: green; font-size: 8pt"&gt;Antwort:&amp;#160;&amp;#160;&amp;#160;&amp;#160; Error details: &lt;strong&gt;Hostname didn't match any configured ftp site.&lt;/strong&gt;&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;span style="text-decoration: underline"&gt;Anm&lt;/span&gt;.: Auch für den &lt;em&gt;Anonymous&lt;/em&gt; User muss der Host Name vorangestellt werden. Wir melden uns mit &lt;em&gt;localhost|anonymous&lt;/em&gt; für die &lt;em&gt;myothersite an&lt;/em&gt;: &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/4382.052711_5F00_1451_5F00_IISfrEinste19.png" /&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;span style="text-decoration: underline"&gt;&lt;strong&gt;Fazit: &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;+ Web- und korrespondierende FTP-Site liegen beieinander – lästiges Navigieren fällt weg. &lt;/p&gt;  &lt;p&gt;- gesamte FTP Einstellungen verteilt auf mehrere Sites. &lt;/p&gt;  &lt;p&gt;- FTP Benutzer muss sich noch zusätzlich zum Login noch die FTP Verbindungseinstellungen merken. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;(3) Eine FTP Site mit FTP Benutzer-Konten-Isolierung &lt;/h3&gt;  &lt;p&gt;Dieses Szenario stellt eine Erweiterung zu &lt;a href="#_(1)_Eine_FTP"&gt;(1)&lt;/a&gt; dar. Die FTP Einstellungen werden in nur einer FTP Site zentral verwaltet aber mit vielen FTP Benutzer Konten. Der Benutzer-Isolationsmodus (&lt;a href="http://learn.iis.net/page.aspx/305/configuring-ftp-75-user-isolation/"&gt;FTP User Isolation&lt;/a&gt;) im FTP 7.5 ermöglicht es Benutzern individuelle FTP-Verzeichnisse zum Uploaden von Inhalte anzubieten. Die eine FTP Site nimmt alle FTP Anmeldungen entgegen und entscheidet aufgrund des Login-Namens was der FTP Benutzer sehen darf. Die Benutzer haben nur Zugriff auf ihre eigenen Verzeichnisse und können z.B. nicht nach oben heraus aus Ihrer Verzeichnisstruktur navigieren. &lt;/p&gt;  &lt;p&gt;Dieses Szenario ist gut geeignet wenn Websites nur einem (oder wenigen) FTP Benutzer(n) zugeordnet werden soll. &lt;/p&gt;  &lt;p&gt;Die &lt;a href="http://learn.iis.net/page.aspx/305/configuring-ftp-75-user-isolation/"&gt;FTP User Isolation&lt;/a&gt; setzt eine bestimmte Verzeichnisstruktur in der FTP Site voraus. Der FTP-Benutzer sieht nur den Inhalt des Verzeichnisses (physikalisch oder virtuell) welches den gleichen Namen trägt wie sein FTP-Benutzer-Konto. Wichtig ist noch, dass die Benutzer-Verzeichnisse sich im Ordner &lt;em&gt;LocalUser&lt;/em&gt; befinden müssen: &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/3821.052711_5F00_1451_5F00_IISfrEinste20.png" /&gt; &lt;/p&gt;  &lt;p&gt;Wir bauen obiges Szenario nach und modifizieren dazu unsere FTP Site. Zuerst legen wir uns auf dem Dateisystem folgende Ordnerstruktur an: &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/2248.052711_5F00_1451_5F00_IISfrEinste21.png" /&gt; &lt;/p&gt;  &lt;p&gt;Anschließend in der IIS Administrationskonsole die FTP Site auswählen und rechts unter &lt;em&gt;Advanced Settings&lt;/em&gt; den &lt;em&gt;Physical Path&lt;/em&gt; ändern, z.B. in c:\inetpub\ftproot &lt;/p&gt;  &lt;p&gt;Dann rechter Mauseklick auf FTP Site und &amp;quot;Add Virtual Directory&amp;quot; mit Namen &lt;em&gt;LocalUser&lt;/em&gt; welches auf den LocaUser Ordner im Dateisystem zeigt: &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/1680.052711_5F00_1451_5F00_IISfrEinste22.png" /&gt; &lt;/p&gt;  &lt;p&gt;Dann ändern wir noch die Autorisierungs-Regeln, sodass nur &lt;em&gt;user1&lt;/em&gt; Lese und Schreib-Berechtigungen für das Verzeichnis &lt;em&gt;user1&lt;/em&gt; hat. &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/2656.052711_5F00_1451_5F00_IISfrEinste23.png" /&gt; &lt;/p&gt;  &lt;p&gt;Die &lt;em&gt;Basic Authentification&lt;/em&gt; muss aktiviert sein. Wir erzeugen uns noch das Benutzerkonto &lt;em&gt;user1&lt;/em&gt; von der Kommandozeile: &lt;/p&gt;  &lt;p&gt;net user user1 * /add &lt;/p&gt;  &lt;p&gt;und geben diesen Account noch Modify-Berechtigungen auf den physikalischen Ordner: &lt;/p&gt;  &lt;p&gt;ICACLS C:\websites\LocalUser\user1 /grant user1:(OI)(CI)(M)&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Dann aktivieren wir noch die &lt;a href="http://learn.iis.net/page.aspx/305/configuring-ftp-75-user-isolation/"&gt;FTP User Isolation&lt;/a&gt;&lt;span style="text-decoration: underline"&gt;&lt;strong&gt;: &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;IIS Administrationskonsole -&amp;gt; FTP Site auswählen -&amp;gt; FTP User Isolation -&amp;gt; &amp;quot;User name directory (disable global virtual...)&amp;quot; auswählen -&amp;gt; Apply: &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/1667.052711_5F00_1451_5F00_IISfrEinste24.png" /&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Eine Verbindung mit Filezilla für &lt;em&gt;user1&lt;/em&gt; sollte ungefähr so aussehen: &lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-43-metablogapi/7127.052711_5F00_1451_5F00_IISfrEinste25.png" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;span style="text-decoration: underline"&gt;&lt;strong&gt;Fazit: &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;+ Gut für ein &amp;quot;Hosting Szenario&amp;quot; mit vielen FTP Benutzern: Ein FTP Benutzer auf 1 bis x Website(s). Benutzer sollen voneinander isoliert sein. &lt;/p&gt;  &lt;p&gt;+ Benutzer muss nicht mehr groß navigieren um in das richtige Verzeichnis für die eigene Website zu gelangen. &lt;/p&gt;  &lt;p&gt;- stellt Anforderungen an Verzeichnisstruktur. &lt;/p&gt;  &lt;p&gt;- Website von FTP Site getrennt. &lt;/p&gt;  &lt;p&gt;- unübersichtlich wenn viele FTP Benutzer auf die gleichen Websites zugreifen sollen. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Sechs FTP Sicherheits-Tipps: &lt;/h3&gt;  &lt;p&gt;Das &amp;quot;&lt;strong&gt;öffnen&lt;/strong&gt;&amp;quot; eines &lt;strong&gt;Webservers &lt;/strong&gt;für &lt;strong&gt;FTP &lt;/strong&gt;bringt &lt;strong&gt;Gefahr&lt;/strong&gt;en mit sich – gerade der &lt;strong&gt;Schreibzugriff&lt;/strong&gt; macht FTP so &lt;strong&gt;interessant&lt;/strong&gt; für &lt;strong&gt;Angreifer&lt;/strong&gt;, sei es zum Zwischen&lt;strong&gt;lager&lt;/strong&gt;n von &lt;strong&gt;illegalen Dateien &lt;/strong&gt;oder dem Hochladen von &lt;strong&gt;Spionageprogramme&lt;/strong&gt;n. Steht ihr Server im Internet und haben Sie FTP aktiviert ist es &lt;strong&gt;nur eine Frage der Zeit bis Angreifer versuchen die Passwörter zu knacken&lt;/strong&gt;. Deswegen hier ein paar &lt;strong&gt;Sicherheits-Tipps&lt;/strong&gt;: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;span style="text-decoration: underline"&gt;&lt;strong&gt;Nur Benutzerkonten mit wenigen Rechten für FTP verwenden &lt;/strong&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;em&gt;Also &lt;strong&gt;nicht Administrator-Konten für FTP freischalten!&lt;/strong&gt; Denn sollte jemand mittels Netzwerkverkehr-Mitschnitt an das Passwort gelangen, hat er nicht gleich die Komplett-Herrschaft über die Maschine. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Noch besser wäre es, wenn für die &lt;strong&gt;Anmeldung&lt;/strong&gt; am FTP Dienst &lt;strong&gt;Benutzer&lt;/strong&gt; verwendet würden, &lt;strong&gt;die&lt;/strong&gt; &lt;strong&gt;nicht&lt;/strong&gt; im &lt;strong&gt;Active Directory&lt;/strong&gt; oder im &lt;strong&gt;Windows&lt;/strong&gt; &lt;strong&gt;angelegt&lt;/strong&gt; &lt;strong&gt;sind&lt;/strong&gt;. Der IIS und FTP 7.5 bieten (auf dem Windows Server 2008) die Möglichkeit &lt;strong&gt;IIS interne Benutzer Accounts&lt;/strong&gt; zu verwenden – siehe dazu &lt;a href="http://learn.iis.net/page.aspx/321/configure-ftp-with-iis-7-manager-authentication/"&gt;&lt;strong&gt;Configure FTP with IIS 7 Manager Authentication.&lt;/strong&gt;&lt;/a&gt; &lt;/em&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;span style="text-decoration: underline"&gt;&lt;strong&gt;Komplexe Passwörter verwenden &lt;/strong&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;em&gt;Nur ausreichend &lt;strong&gt;komplexe Passwörter&lt;/strong&gt; für FTP Benutzer Konten &lt;strong&gt;bieten Schutz&lt;/strong&gt;. Die &lt;strong&gt;Angreifer testen automatisch &lt;/strong&gt;verschiedene &lt;strong&gt;Benutzer &lt;/strong&gt;Konten und &lt;strong&gt;Passwort&lt;/strong&gt;kombinationen durch (&lt;a href="http://de.wikipedia.org/wiki/Brute_force"&gt;&lt;strong&gt;brute force&lt;/strong&gt;&lt;/a&gt;). Wie energisch? Auf einen meiner &lt;strong&gt;Demo&lt;/strong&gt; &lt;strong&gt;FTP&lt;/strong&gt; &lt;strong&gt;Server&lt;/strong&gt; hatten es Angreifer mehr als &lt;strong&gt;3,5 Mil. / Tag&lt;/strong&gt; mal versucht. Daher sollte man es den Angreifern mit komplexen Passwörtern so schwer wie möglich machen. &lt;/em&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/304/using-ftp-over-ssl/"&gt;&lt;strong&gt;Verschlüsseltes FTPS verwenden.&lt;/strong&gt;&lt;/a&gt;&lt;span style="text-decoration: underline"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;em&gt;Bei &lt;strong&gt;unverschlüsseltem&lt;/strong&gt; &lt;strong&gt;FTP&lt;/strong&gt; werden &lt;strong&gt;Passwörter&lt;/strong&gt; beim &lt;strong&gt;Anmelden&lt;/strong&gt; im &lt;strong&gt;Klartext&lt;/strong&gt; &lt;strong&gt;übertragen&lt;/strong&gt;. Jemand der in der Lage ist den Netzwerkverkehr mitzuschneiden (mittels Sniffer) kommt an das Passwort. Bei &lt;strong&gt;FTPS&lt;/strong&gt; ist der Netzwerkverkehr &lt;strong&gt;verschlüsselt&lt;/strong&gt;. &lt;/em&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;span style="text-decoration: underline"&gt;&lt;strong&gt;FTP dienst abschalten wenn nicht benötigt &lt;/strong&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;em&gt;Klingt banal aber &lt;strong&gt;reduziert das Angriffs-Zeit-Fenster&lt;/strong&gt;. Vor dem Update über Remote Desktop den FTP Dienst starten und nach dem publizieren die FTP Site wieder stoppen. &lt;/em&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;span style="text-decoration: underline"&gt;&lt;strong&gt;IP Filtering für FTP aktivieren. &lt;/strong&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;Reduziert das Angriffs-Standort-Fenster. &lt;/strong&gt;Ideal, wenn FTP Verbindungen nur aus einem bestimmten Netzwerkbereich gemacht werden. Angenommen werden nur FTP Clients, die eine bestimmte IP Adresse(n) haben die anderen werden abgewiesen. &lt;/em&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;span style="text-decoration: underline"&gt;&lt;strong&gt;Selbst weitere Sicherheitsfilter einbauen &lt;/strong&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;em&gt;Der &lt;strong&gt;FTP 7.5 ist erweiterbar&lt;/strong&gt;: Im &lt;a href="http://learn.iis.net/page.aspx/673/how-to-use-managed-code-c-to-create-an-ftp-authentication-provider-with-dynamic-ip-restrictions/"&gt;How to Use Managed Code (C#) to Create an FTP Authentication Provider with Dynamic IP Restrictions&lt;/a&gt; wird beschrieben, wie man einen Lösung bauen kann um IP-Adressen zu blockieren, von denen innerhalb eines bestimmten Zeitraums fehlgeschlagene Anmeldeversuche ausgehen. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Was steht im Weg? Firewalls &amp;amp; Co. und Limitationen &lt;/h3&gt;  &lt;p&gt;Aktivierte Firewalls auf Server sind zum Glück die Norm. Um den FTP Dienst auf einem Server von außen erreichbar zu machen verlangt es eine Firewall Regel um eingehenden TCP/IP Verkehr auf Server Port 21 (Control Channel) zu akzeptieren. Allerdings ist das bei FTP nicht alles: Die Dateien- und Ordneransichten werden über Daten Kanäle übertragen. Diese zusätzlichen Datenverbindungen machen den Firewalls Arbeit und setzen voraus dass FTP überhaupt unterstützt wird. Die eingebaute Windows Firewall hat das sowohl auf dem Client als auch auf dem Server im Griff und die Ausnahmeregeln werden beim Server, bei der Installation des FTP Dienstes, und beim Client bei erster Verwendung von z.B. Filezilla eingerichtet. &lt;/p&gt;  &lt;p&gt;Problematischer wird das wenn man im Betrieb sitzt und noch die firmeneigene Firewall überwinden muss. Leider birgt auch die verschlüsselte FTPS Verbindung ein paar Konfigurationstücken – Ich hatte die beste &amp;quot;Experience&amp;quot; wenn ich im Filezilla Client die Server-Verbindung über &amp;quot;Explizites FTP über TLS&amp;quot; im Active Mode aufgebaut habe. Wenn es zu Problemen kommt empfehle ich &lt;a href="http://blogs.iis.net/jaroslad/archive/2007/09/29/windows-firewall-setup-for-microsoft-ftp-publishing-service-for-iis-7-0.aspx"&gt;Windows Firewall setup for Microsoft FTP Publishing Service for IIS 7.0.&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Limitationen: Obwohl es mit anderen FTP Servern möglich ist, z.B. Verzeichnisberechtigungen via FTP Client zu vergeben – so wird dies vom FTP 7.5 nicht unterstützt: &lt;/p&gt;  &lt;p style="margin-left: 73pt"&gt;&lt;span style="background-color: white; font-family: ms shell dlg 2; color: black; font-size: 8pt"&gt;Status:&amp;#160;&amp;#160;&amp;#160; Berechtigungen für '/test/blubber' werden auf '755' gesetzt&lt;span style="color: navy"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 73pt"&gt;&lt;span style="background-color: white; font-family: ms shell dlg 2; color: navy; font-size: 8pt"&gt;Befehl:&amp;#160;&amp;#160;&amp;#160; SITE CHMOD 755 blubber&lt;span style="color: green"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="background-color: white; font-family: ms shell dlg 2; color: green; font-size: 8pt"&gt;Antwort:&amp;#160;&amp;#160;&amp;#160; 500 'SITE &lt;strong&gt;CHMOD&lt;/strong&gt; 755 blubber': &lt;strong&gt;command not understood&lt;/strong&gt;&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;Entpacken von Archiven oder Einspielen von Datenbanken macht man ebenfalls nicht über den FTP 7.5. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;FTP Alternativen &lt;/h3&gt;  &lt;p&gt;Es gibt Alternativen zu FTP (für IIS) für den Datei- oder Datenaustausch, allerdings leider nicht einfacher zu implementieren. Web Deploy ist die Neueste und hat den Vorteil über Dateien hinaus Konfiguration und Datenbanken, etc. auf den Server zu spielen. &lt;/p&gt;  &lt;div&gt;   &lt;table style="border-collapse: collapse" border="0"&gt;&lt;colgroup&gt;&lt;col style="width: 212px" /&gt;&lt;/col&gt;&lt;col style="width: 212px" /&gt;&lt;/col&gt;&lt;col style="width: 212px" /&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;       &lt;tr&gt;         &lt;td style="border-bottom: black 1pt solid; border-left-style: none; padding-left: 7px; padding-right: 7px; border-right-style: none; border-top: black 1pt solid"&gt;           &lt;p&gt;&lt;span style="color: black"&gt;&lt;strong&gt;Protokoll / Technologie&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td style="border-bottom: black 1pt solid; border-left-style: none; padding-left: 7px; padding-right: 7px; border-right-style: none; border-top: black 1pt solid"&gt;           &lt;p&gt;&lt;span style="color: black"&gt;&lt;strong&gt;Was?&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td style="border-bottom: black 1pt solid; border-left-style: none; padding-left: 7px; padding-right: 7px; border-right-style: none; border-top: black 1pt solid"&gt;           &lt;p&gt;&lt;span style="color: black"&gt;&lt;strong&gt;Anmerkungen:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="background: silver"&gt;         &lt;td style="border-left-style: none; padding-left: 7px; padding-right: 7px; border-right-style: none"&gt;           &lt;p&gt;&lt;a href="http://www.iis.net/download/WebDAV"&gt;WebDAV&lt;/a&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td style="border-left-style: none; padding-left: 7px; padding-right: 7px; border-right-style: none"&gt;           &lt;p&gt;&lt;span style="color: black"&gt;Dateien, Ordner&lt;/span&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td style="border-left-style: none; padding-left: 7px; padding-right: 7px; border-right-style: none"&gt;           &lt;p&gt;&lt;span style="color: black"&gt;WebDAV ist eine Erweiterung zum Trägerprotokoll http(s). Stellt als Protokoll weniger Anforderungen an Firewalls. Nicht so häufig anzutreffen.&lt;/span&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td style="padding-left: 7px; padding-right: 7px"&gt;           &lt;p&gt;&lt;a href="http://learn.iis.net/page.aspx/346/web-deploy/"&gt;&lt;strong&gt;Web Deploy&lt;/strong&gt;&lt;/a&gt;&lt;span style="color: black"&gt;&lt;strong&gt; (aka msdeploy)&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td style="padding-left: 7px; padding-right: 7px"&gt;           &lt;p&gt;&lt;span style="color: black"&gt;Dateien, Ordner, Konfiguration, Datenbanken, RegistryKeys, Zertifikate, etc.&lt;/span&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td style="padding-left: 7px; padding-right: 7px"&gt;           &lt;p&gt;&lt;span style="color: black"&gt;Das ist die Zukunft! Nicht nur schnöder Dateiupload sondern Komplett-Deployment von Websites inkl. DB via http(s). Derzeit noch ein bisschen komplex für einfachen Datei-Upload. &lt;/span&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr style="background: silver"&gt;         &lt;td style="border-bottom: black 1pt solid; border-left-style: none; padding-left: 7px; padding-right: 7px; border-right-style: none"&gt;           &lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Background_Intelligent_Transfer_Service"&gt;Background Intelligent Transfer Service&lt;/a&gt;&lt;span style="color: black"&gt; (BITS)&lt;/span&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td style="border-bottom: black 1pt solid; border-left-style: none; padding-left: 7px; padding-right: 7px; border-right-style: none"&gt;           &lt;p&gt;&lt;span style="color: black"&gt;Dateien, Ordner&lt;/span&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td style="border-bottom: black 1pt solid; border-left-style: none; padding-left: 7px; padding-right: 7px; border-right-style: none"&gt;           &lt;p&gt;&lt;span style="color: black"&gt;Für große Down- oder Uploads. BITS Server Erweiterung zum IIS muss über den Server Manager installiert werden. Wenig dokumentiert – selten anzutreffen.&lt;/span&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Links: &lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.iis.net/download/FTP"&gt;FTP Publishing Service&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/320/using-ftp-virtual-host-names/"&gt;Using FTP Virtual Host Names&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/321/configure-ftp-with-iis-7-manager-authentication/"&gt;Configure FTP with IIS 7 Manager Authentication &lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.iis.net/webtopics/archive/2009/11/05/configuring-ftp-7-5-with-host-header-and-ssl.aspx"&gt;Configuring FTP 7.5 with Host Header and SSL&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.iis.net/jaroslad/archive/2007/09/29/windows-firewall-setup-for-microsoft-ftp-publishing-service-for-iis-7-0.aspx"&gt;Windows Firewall setup for Microsoft FTP Publishing Service for IIS 7.0.&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/673/how-to-use-managed-code-c-to-create-an-ftp-authentication-provider-with-dynamic-ip-restrictions/"&gt;How to Use Managed Code (C#) to Create an FTP Authentication Provider with Dynamic IP Restrictions : Developing for FTP 7.5 : Extending IIS 7.0 : The Official Microsoft IIS Site&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3432071" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author><category term="iis" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/iis/" /><category term="IIS fuer Einsteiger" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/IIS+fuer+Einsteiger/" /></entry><entry><title>How to stop all running IIS sites from the command line using appcmd with pipe (single line)</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2011/05/24/how-to-stop-all-running-iis-sites-using-appcmd-single-line.aspx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2011/05/24/how-to-stop-all-running-iis-sites-using-appcmd-single-line.aspx</id><published>2011-05-24T14:36:30Z</published><updated>2011-05-24T14:36:30Z</updated><content type="html">&lt;p&gt;&lt;font style="background-color: #000000" color="#ffffff" face="Courier New"&gt;&lt;font color="#cccccc"&gt;c:\windows\system32\inetsrv\&lt;strong&gt;appcmd.exe list site /xml /state:&amp;quot;$=started&amp;quot; | appcmd stop site /in&lt;/strong&gt;&amp;#160;&lt;/font&gt;&amp;#160; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;results in:&lt;/p&gt;  &lt;p&gt;&lt;font style="background-color: #000000" color="#cccccc" face="Courier New"&gt;&amp;quot;Default Web Site&amp;quot; successfully stopped&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;quot;myothersite&amp;quot; successfully stopped&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;stopping all running websites on an IIS7 server.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3431339" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Carshop Toolkit - Silverlight Applikation auf IIS deployen</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2011/04/19/carshop-toolkit-silverlight-applikation-auf-iis-deployen.aspx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2011/04/19/carshop-toolkit-silverlight-applikation-auf-iis-deployen.aspx</id><published>2011-04-19T08:35:00Z</published><updated>2011-04-19T08:35:00Z</updated><content type="html">&lt;p&gt;der Kollege Christian Klasen stellt auf seinem Blog eine Beispiel Silverlight Applikation “&lt;strong&gt;CarShop&lt;/strong&gt;” vor:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/0284.image_5F00_46A0662E.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/1273.image_5F00_thumb_5F00_6566B43F.png" width="244" height="175" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Hier kurz die Schritte um die Beispiel Applikation auf einem IIS7 ans Laufen zu kriegen.&lt;/p&gt;  &lt;p&gt;&lt;span style="text-decoration: underline"&gt;Quelle:&lt;/span&gt;     &lt;br /&gt;&lt;a href="http://blogs.msdn.com/b/christianklasen/archive/2009/01/22/carshop-toolkit-auf-silverlight-gratis-verf-gbar.aspx"&gt;http://blogs.msdn.com/b/christianklasen/archive/2009/01/22/carshop-toolkit-auf-silverlight-gratis-verf-gbar.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Quellcode und Assetdateien von Skydrive herunterladen:    &lt;br /&gt;&lt;a href="http://cid-b53f1cd9745af0e4.skydrive.live.com/browse.aspx/CarShop%20V2"&gt;http://cid-b53f1cd9745af0e4.skydrive.live.com/browse.aspx/CarShop%20V2&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="text-decoration: underline"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="text-decoration: underline"&gt;Setup:&lt;/span&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;CarShop.2.081018.zip nach c:\work\CarShop entpacken &lt;/li&gt;    &lt;li&gt;CarShop.Assets.2.081018.zip nach c:\work\CarShop entpacken (merge) um die Videos in die Solution zu bekommen.      &lt;br /&gt;&amp;#160;&amp;#160; (-&amp;gt;viele Dateien - kann etwas dauern.) &lt;/li&gt;    &lt;li&gt;CarShop.sln mit Visual Studio öffnen (evtl. nach VS 2010 konvertieren.) &lt;/li&gt;    &lt;li&gt;Photos ordner in die Lösung inkludieren:      &lt;br /&gt;VS -&amp;gt; Solution Explorer-&amp;gt; &amp;quot;Show All Files&amp;quot; Ansicht aktivieren (Icon oben)       &lt;br /&gt;CarShop.Web -&amp;gt; ClientBin -&amp;gt; Assets -&amp;gt; Images -&amp;gt; rechter Mouseklick auf Photos -&amp;gt; &amp;quot;Include in Project&amp;quot; &lt;/li&gt;    &lt;li&gt;Videos ordner in die Lösung inkludieren:      &lt;br /&gt;CarShop.Web -&amp;gt; ClientBin -&amp;gt; Assets -&amp;gt; Images -&amp;gt; rechter Mouseklick auf Videos -&amp;gt; &amp;quot;Include in Project&amp;quot; &lt;/li&gt;    &lt;li&gt;DeepZoom Ordner exkludieren - dauert sonst zulange. &lt;/li&gt;    &lt;li&gt;Builden - etwaige Build errors fixen:      &lt;br /&gt;&lt;span style="text-decoration: underline"&gt;alt:&lt;/span&gt; &lt;span style="font-family: consolas"&gt;&lt;em&gt;new MouseWheelHelper(this).Moved += delegate(object sender, MouseWheelEventArgs e) &lt;/em&gt;&lt;/span&gt;      &lt;br /&gt;&lt;span style="text-decoration: underline"&gt;neu:&lt;/span&gt; &lt;span style="font-family: consolas"&gt;&lt;em&gt;neu: new MouseWheelHelper(this).Moved += delegate(object sender, CarShop.Logic.MouseWheelEventArgs e) &lt;/em&gt;&lt;/span&gt;      &lt;br /&gt;nächster build - sollte erfolgreich sein. &lt;/li&gt;    &lt;li&gt;Rechter Mouseklick auf CarShop.Web -&amp;gt; Build Deployment Package      &lt;br /&gt;Im Output Window von VS sollte nach erfolgreichen packaging in etwa so was stehen:       &lt;br /&gt;...       &lt;br /&gt;&lt;span style="font-family: consolas"&gt;&lt;span style="font-size: small"&gt;Package &amp;quot;CarShop.Web.zip&amp;quot; is successfully created as single file at the following location:          &lt;br /&gt;file:///C:/work/CarShop/CarShop.Web/obj/Debug/Package&lt;/span&gt;&lt;/span&gt; &lt;/li&gt;    &lt;li&gt;Eine CMD mit elevated priviledges starten und in obiges VZ wechseln und das deploy cmd file starten (ggf. das &lt;a title="Web Deployment Tool" href="http://www.iis.net/download/WebDeploy"&gt;Web Deployment Tool&lt;/a&gt; für den IIS via &lt;a title="Web Platform Installer" href="http://go.microsoft.com/fwlink/?LinkID=145510"&gt;Web Platform Installer&lt;/a&gt; installieren): &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;span style="font-family: consolas"&gt;&lt;span style="font-size: small"&gt;C:\work\CarShop\CarShop.Web\obj\Debug\Package&amp;gt;&lt;/span&gt;&lt;span style="font-size: small"&gt;&lt;strong&gt;CarShop.Web.deploy.cmd /Y          &lt;br /&gt;&lt;/strong&gt;=========================================================         &lt;br /&gt;SetParameters from:         &lt;br /&gt;&amp;quot;C:\work\CarShop\CarShop.Web\obj\Debug\Package\CarShop.Web.SetParameters.xml&amp;quot;         &lt;br /&gt;You can change IIS Application Name, Physical path, connectionString         &lt;br /&gt;or other deploy parameters in the above file.         &lt;br /&gt;-------------------------------------------------------         &lt;br /&gt;Start executing msdeploy.exe         &lt;br /&gt;-------------------------------------------------------         &lt;br /&gt;&amp;quot;C:\Program Files\IIS\Microsoft Web Deploy V2\\msdeploy.exe&amp;quot; -source:package         &lt;br /&gt;to,includeAcls='False' -verb:sync -disableLink:AppPoolExtension -disableLink:         &lt;br /&gt;\CarShop\CarShop.Web\obj\Debug\Package\CarShop.Web.SetParameters.xml&amp;quot;         &lt;br /&gt;.         &lt;br /&gt;.         &lt;br /&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family: consolas"&gt;&lt;span style="font-size: x-small"&gt;&lt;/span&gt;&lt;/span&gt;Das erstellt eine eine CarShop.Web_deploy Application in der &amp;quot;Default Web Site&amp;quot; im IIS. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Jetzt noch die DeepZoom Dateien in den Web-Ordner kopieren:      &lt;br /&gt;Ordner DeepZoom aus C:\work\CarShop\CarShop.Web\ClientBin\Assets in den Ordner z.B: C:\inetpub\wwwroot\CarShop.Web_deploy\ClientBin\Assets kopieren. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Damit sollte eigentlich alles funktionieren.&lt;/p&gt;  &lt;p&gt;Viel Spass&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3422675" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author><category term="iis" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/iis/" /></entry><entry><title>IIS für Einsteiger Teil 4: Authentifizierung und Autorisierung mit dem IIS</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2011/04/08/iis-f-252-r-einsteiger-teil-4-authentifizierung-und-autorisierung-mit-dem-iis.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="549" href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-03-41-98-25/Auth_5F00_User.zip" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2011/04/08/iis-f-252-r-einsteiger-teil-4-authentifizierung-und-autorisierung-mit-dem-iis.aspx</id><published>2011-04-08T15:16:00Z</published><updated>2011-04-08T15:16:00Z</updated><content type="html">&lt;div height="384" width="512" id="silverlightControlHost"&gt;
&lt;object height="384" type="application/x-silverlight" width="512" data="data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAADqNAAAsCcAAAAAAAAAAAAAAAAAAAAAAAB+AAAAaAB0AHQAcAA6AC8ALwBiAGYAcgBhAG4AawAuAGMAbwBkAGUAZABhAHoAdQByAGUALgBkAGUALwBiAGwAbwBnAC8AdgBpAGQAZQBvAC8ATQBlAGQAaQBhAFAAbABhAHkAZQByAFQAZQBtAHAAbABhAHQAZQAuAHgAYQBwAAAAPAAAAAAAAAAmAAAAbwBuAFMAaQBsAHYAZQByAGwAaQBnAGgAdABFAHIAcgBvAHIAAAAAAAAAAAAAAAAAAAAAAAAApAMAAHAAbABhAHkAZQByAFMAZQB0AHQAaQBuAGcAcwAgAD0APABQAGwAYQB5AGwAaQBzAHQAPgA8AEEAdQB0AG8ATABvAGEAZAA+AGYAYQBsAHMAZQA8AC8AQQB1AHQAbwBMAG8AYQBkAD4APABBAHUAdABvAFAAbABhAHkAPgBmAGEAbABzAGUAPAAvAEEAdQB0AG8AUABsAGEAeQA+ADwASQB0AGUAbQBzAD4APABQAGwAYQB5AGwAaQBzAHQASQB0AGUAbQA+ADwATQBlAGQAaQBhAFMAbwB1AHIAYwBlAD4AaAB0AHQAcAA6AC8ALwBiAGYAcgBhAG4AawAuAGMAbwBkAGUAZABhAHoAdQByAGUALgBkAGUALwBiAGwAbwBnAC8AdgBpAGQAZQBvAC8AYwBvAG4AdABlAG4AdAAvAEkASQBTACAAZgD8AHIAIABFAGkAbgBzAHQAZQBpAGcAZQByACAAQQB1AHQAaABlAG4AdABpAGYAaQB6AGkAZQByAHUAbgBnACAAdQBuAGQAIABBAHUAdABvAHIAaQBzAGkAZQByAHUAbgBnAC4AdwBtAHYAPAAvAE0AZQBkAGkAYQBTAG8AdQByAGMAZQA+ADwAVABoAHUAbQBiAFMAbwB1AHIAYwBlAD4AaAB0AHQAcAA6AC8ALwBiAGYAcgBhAG4AawAuAGMAbwBkAGUAZABhAHoAdQByAGUALgBkAGUALwBiAGwAbwBnAC8AdgBpAGQAZQBvAC8AYwBvAG4AdABlAG4AdAAvAEkASQBTACAAZgD8AHIAIABFAGkAbgBzAHQAZQBpAGcAZQByACAAQQB1AHQAaABlAG4AdABpAGYAaQB6AGkAZQByAHUAbgBnACAAdQBuAGQAIABBAHUAdABvAHIAaQBzAGkAZQByAHUAbgBnAF8AVABoAHUAbQBiAC4AagBwAGcAPAAvAFQAaAB1AG0AYgBTAG8AdQByAGMAZQA+ADwAVABpAHQAbABlAD4ASQBJAFMANwAlADIAMABmACUAQwAzACUAQgBDAHIAJQAyADAARQBpAG4AcwB0AGUAaQBnAGUAcgAlADIAMAAtACUAMgAwAEkAbgBzAHQAYQBsAGwAYQB0AGkAbwBuADwALwBUAGkAdABsAGUAPgA8AC8AUABsAGEAeQBsAGkAcwB0AEkAdABlAG0APgA8AC8ASQB0AGUAbQBzAD4APAAvAFAAbABhAHkAbABpAHMAdAA+AAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAAAAAAABgAAAA0AC4AMAAuADUAMAA0ADAAMQAuADAAAAAKAAAAdAByAHUAZQAAAP//AAAAAAAAAAAAAA=="&gt;
&lt;param value="http://bfrank.codedazure.de/blog/video/MediaPlayerTemplate.xap" name="source" /&gt;
&lt;param value="onSilverlightError" name="onerror" /&gt;
&lt;param value="true" name="autoUpgrade" /&gt;
&lt;param value="4.0.50401.0" name="minRuntimeVersion" /&gt;
&lt;param value="true" name="enableHtmlAccess" /&gt;
&lt;param value="true" name="enableGPUAcceleration" /&gt;
&lt;param value="false" name="allowHtmlPopupWindow" /&gt;
&lt;param value="false" name="enableFrameRateCounter" /&gt;
&lt;param value="playerSettings =&amp;lt;Playlist&amp;gt;&amp;lt;AutoLoad&amp;gt;false&amp;lt;/AutoLoad&amp;gt;&amp;lt;AutoPlay&amp;gt;false&amp;lt;/AutoPlay&amp;gt;&amp;lt;Items&amp;gt;&amp;lt;PlaylistItem&amp;gt;&amp;lt;MediaSource&amp;gt;http://bfrank.codedazure.de/blog/video/content/IIS f&amp;uuml;r Einsteiger Authentifizierung und Autorisierung.wmv&amp;lt;/MediaSource&amp;gt;&amp;lt;ThumbSource&amp;gt;http://bfrank.codedazure.de/blog/video/content/IIS f&amp;uuml;r Einsteiger Authentifizierung und Autorisierung_Thumb.jpg&amp;lt;/ThumbSource&amp;gt;&amp;lt;Title&amp;gt;IIS7%20f%C3%BCr%20Einsteiger%20-%20Installation&amp;lt;/Title&amp;gt;&amp;lt;/PlaylistItem&amp;gt;&amp;lt;/Items&amp;gt;&amp;lt;/Playlist&amp;gt;" name="initparams" /&gt;
&lt;/object&gt;
&lt;/div&gt;
&lt;h3&gt;Warum ist das wichtig? &lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Jeder IIS Administrator sollte das&lt;/strong&gt; prinzipiell &lt;strong&gt;verstanden haben&lt;/strong&gt;, da dieses Thema, &lt;strong&gt;wenn falsch konfiguriert&lt;/strong&gt;, immer wieder &lt;strong&gt;nette Probleme&lt;/strong&gt;, Fehlermeldungen, nervenden Passwortabfragen &lt;strong&gt;oder&lt;/strong&gt; &lt;strong&gt;Sicherheitsl&amp;ouml;chern&lt;/strong&gt; &lt;strong&gt;verursacht&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;Das eigentliche Anwendungsszenario ist einfach: &lt;/p&gt;
&lt;p&gt;Ich m&amp;ouml;chte meine Websites oder Teile einem eingeschr&amp;auml;nkten Besucherkreis zug&amp;auml;nglich machen &amp;ndash; alle anderen sollen &amp;sbquo;drau&amp;szlig;en' bleiben. &lt;/p&gt;
&lt;p&gt;Kurz: &lt;strong&gt;Wer darf was auf meiner Website sehen &amp;ndash; und wie gehe ich vor.&lt;/strong&gt; &lt;/p&gt;
&lt;h3&gt;Nicht authentifiziert - oder wer ist die &lt;em&gt;Anonymous User Identity (IUSR)&lt;/em&gt;? &lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Im IIS ist standardm&amp;auml;&amp;szlig;ig&lt;/strong&gt; ist die &lt;strong&gt;anonyme&lt;/strong&gt; &lt;strong&gt;Authentifizierung&lt;/strong&gt; &lt;strong&gt;aktiviert&lt;/strong&gt;. Diese erm&amp;ouml;glicht es allen Website Besuchern auf Inhalte zuzugreifen &lt;strong&gt;ohne&lt;/strong&gt; dass eine &lt;strong&gt;Abfrage&lt;/strong&gt; &lt;strong&gt;von&lt;/strong&gt; &lt;strong&gt;Benutzername&lt;/strong&gt; und &lt;strong&gt;Passwort&lt;/strong&gt; im Clientbrowser erfolgt &amp;ndash; also quasi anonym. F&amp;uuml;r das Dateisystem jedoch erfolgt so ein Zugriff unter dem &lt;strong&gt;Benutzerkontext der Anonymous User Identity des "IUSR" Accounts. &lt;/strong&gt;Im Hintergrund impersonifiziert der IIS n&amp;auml;mlich anonyme Browseranfragen auf den IUSR Account &amp;ndash; da dieser Standardm&amp;auml;&amp;szlig;ig als Anonymous User Identity eingetragen ist:&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/6712.040811_5F00_1516_5F00_IISfrEinste1.png" /&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Der IUSR (Default Anonymous User Identity) ist ein Benutzerkonto das bei der Installation des IIS7 angelegt wird. Daher sollte der &lt;strong&gt;IUSR&lt;/strong&gt; Benutzer &lt;strong&gt;NTFS&lt;/strong&gt; &lt;strong&gt;Berechtigungen&lt;/strong&gt; auf den &lt;strong&gt;Ordner&lt;/strong&gt; mit den &lt;strong&gt;Inhalten&lt;/strong&gt; f&amp;uuml;r Ihre &lt;strong&gt;Website&lt;/strong&gt; haben z.B. Read / Execute: &lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/8054.040811_5F00_1516_5F00_IISfrEinste2.png" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Fehlen&lt;/strong&gt; der Anonymous User Identity (Default: &lt;strong&gt;IUSR&lt;/strong&gt;) die &lt;strong&gt;Rechte&lt;/strong&gt; auf die angeforderte Datei (Seite) wird ein "&lt;strong&gt;Access Denied&lt;/strong&gt;" = http Status &lt;strong&gt;401&lt;/strong&gt; zur&amp;uuml;ckgegeben. Der Website Besucher wird dann, &lt;strong&gt;je nach Konfiguration&lt;/strong&gt; des IIS, nach Benutzernamen und Passwort gefragt (&lt;strong&gt;Password Prompt &lt;/strong&gt;(s.u. links)| Login Seite) &lt;strong&gt;oder&lt;/strong&gt; bekommt eine &lt;strong&gt;Fehlerseite&lt;/strong&gt; (s.u. rechts), falls keine alternative Authentifizierungsmethode aktiviert ist: &lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/4251.040811_5F00_1516_5F00_IISfrEinste3.png" /&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Authentifizierung oder "Wer bin ich?" &lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Will ich Jedermann Zugriff auf meine Website geben&lt;/strong&gt;, dann muss ich lediglich daf&amp;uuml;r sorgen &lt;strong&gt;dass&lt;/strong&gt; die &lt;strong&gt;Anonymous Authentication beim IIS aktiviert&lt;/strong&gt; ist: &lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/2117.040811_5F00_1516_5F00_IISfrEinste4.png" /&gt; &lt;/p&gt;
&lt;p&gt;und dass die eingetragene &lt;strong&gt;Anonymous User Identity&lt;/strong&gt; (Default: IUSR) &lt;strong&gt;Read&lt;/strong&gt; / &lt;strong&gt;Execute&lt;/strong&gt; &lt;strong&gt;NTFS&lt;/strong&gt; &lt;strong&gt;Rechte&lt;/strong&gt; &lt;strong&gt;auf&lt;/strong&gt; die &lt;strong&gt;Inhalte&lt;/strong&gt; hat. &lt;/p&gt;
&lt;p&gt;M&amp;ouml;chte ich im Gegenzug &lt;strong&gt;nur bestimmte Besucher auf meine Website&lt;/strong&gt; lassen, &lt;strong&gt;dann&lt;/strong&gt; &lt;strong&gt;brauche&lt;/strong&gt; ich eine &lt;strong&gt;Authentifizierung&lt;/strong&gt; um herauszufinden &lt;strong&gt;wer ist der Besucher &lt;/strong&gt;&amp;uuml;berhaupt. In der Regel passiert das &amp;uuml;ber eine &lt;strong&gt;Benutzername- und Kennwort-Abfrage&lt;/strong&gt;. Der &lt;strong&gt;IIS&lt;/strong&gt; &lt;strong&gt;pr&amp;uuml;ft&lt;/strong&gt; dann in der Benutzerdatenbank &lt;strong&gt;ob&lt;/strong&gt; dieser &lt;strong&gt;Benutzer&lt;/strong&gt;name mit diesem Passwort &lt;strong&gt;existiert&lt;/strong&gt;. Die Benutzerdatenbank kann sein z.B. die lokale Windows Accounts Datenbank, das Active Directory oder z.B. eine ASP.Net Membership DB. F&amp;uuml;r die &lt;strong&gt;Art&lt;/strong&gt; &lt;strong&gt;der&lt;/strong&gt; &lt;strong&gt;Authentifizierung&lt;/strong&gt; stehen mir im &lt;a href="http://www.iis.net/ConfigReference/system.webServer/security/authentication"&gt;IIS7 &lt;strong&gt;diverse Authentifizierungsmethoden&lt;/strong&gt;&lt;/a&gt; zur Verf&amp;uuml;gung mit unterschiedlichen Vorz&amp;uuml;gen und Voraussetzungen:&lt;span style="font-size:10pt"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div sizset="0" sizcache="6"&gt;
&lt;table border="0" style="border-collapse:collapse"&gt;
&lt;colgroup&gt;&lt;col style="width: 100px;"&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col style="width: 152px;"&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col style="width: 105px;"&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col style="width: 284px;"&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 1.0pt; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  none"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;&lt;strong&gt;Methode&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 1.0pt; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  none"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;&lt;strong&gt;Wie loggt sich der Besucher ein?&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 1.0pt; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  none"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;&lt;strong&gt;BenutzerDB | Welche Accounts k&amp;ouml;nnen verwendet werden?&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 1.0pt; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  none"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;&lt;strong&gt;Anmerkungen&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-left:  none; border-right:  none"&gt;
&lt;p&gt;&lt;a href="http://www.iis.net/ConfigReference/system.webServer/security/authentication/anonymousAuthentication"&gt;&lt;span style="font-size:8pt"&gt;Anonymous Authentication&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-left:  none; border-right:  none"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;Kein Login (notwendig)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-left:  none; border-right:  none"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;Active Directory (AD) oder/und lokale Windows Accounts&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-left:  none; border-right:  none"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;Default. Um anonyme Benutzer Zugriff auf die &amp;ouml;ffentlichen Bereiche Ihrer Web- oder FTP-Site zu erlauben ohne Abfrage nach Benutzernamen oder Kennwort.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="padding-left: 7px; padding-right: 7px"&gt;
&lt;p&gt;&lt;a href="http://www.iis.net/ConfigReference/system.webServer/security/authentication/basicAuthentication"&gt;&lt;span style="font-size:8pt"&gt;Basic Authentication&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;Einfache Benutzer- &amp;amp; Passwort-Abfrage mit Dialog&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;AD + lokale&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;Kennwort und Benutzername werden nur leicht verschl&amp;uuml;sselt &amp;uuml;bertragen. Bitte nur mit Verschl&amp;uuml;sslung (https/SSL) verwenden! H&amp;auml;ufig verwendet f&amp;uuml;r Internet facing Websites &amp;ndash; wird von allen g&amp;auml;ngigen Browsern unterst&amp;uuml;tzt.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-left:  none; border-right:  none"&gt;
&lt;p&gt;&lt;a href="http://learn.iis.net/page.aspx/377/using-aspnet-forms-authentication/"&gt;&lt;span style="font-size:8pt"&gt;Forms Authentication&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-left:  none; border-right:  none"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;Login via Formularfeld auf Website&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-left:  none; border-right:  none"&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/tw292whz.aspx"&gt;&lt;span style="font-size:8pt"&gt;ASP.NET Membership&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-left:  none; border-right:  none"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;H&amp;auml;ufig von Webanwendungen verwendet. Vorteil: hier liegen Benutzer z.B. in einer Datenbank welche auch in der Webanwendung einfach "wiederverwendet" werden k&amp;ouml;nnen. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;Bitte nur mit Verschl&amp;uuml;sslung (https/SSL) verwenden, da Kennw&amp;ouml;rter &amp;uuml;bertragen werden! &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;Anm.: Forms Auth. kann nicht mit anderen Auth. Methoden wie z.B: Basic, Windows, Digest kombiniert werden.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="padding-left: 7px; padding-right: 7px"&gt;
&lt;p&gt;&lt;a href="http://www.iis.net/ConfigReference/system.webServer/security/authentication/windowsAuthentication"&gt;&lt;span style="font-size:8pt"&gt;Windows Authentication&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;F&amp;uuml;r den Benutzer i.d. Regel transparent - Authentifizierung l&amp;auml;uft automatisch ab. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;Login Dialog nur im Fehlerfall&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;AD + lokale&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;Versucht wird den gerade am Browsing-Client angemeldeten Benutzer beim Server zu authentifizieren. Sicherer als Basic Authentication da Benutzername und Passwort nicht &amp;uuml;bers Netz &amp;uuml;bertragen werden. Eher f&amp;uuml;r Intranet Szenarien geeignet - Single Sign On.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-left:  none; border-right:  none"&gt;
&lt;p&gt;&lt;a href="http://www.iis.net/ConfigReference/system.webServer/security/authentication/digestAuthentication"&gt;&lt;span style="font-size:8pt"&gt;Digest Authentication&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-left:  none; border-right:  none"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;Benutzer- &amp;amp; Passwort-Abfrage&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-left:  none; border-right:  none"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;AD&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-left:  none; border-right:  none"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;Sicherer als Basic Authentication da Benutzername und Passwort nicht &amp;uuml;bers Netz gehen. Gut geeignet f&amp;uuml;r Internet. Wird von vielen Browsern unterst&amp;uuml;tzt.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="padding-left: 7px; padding-right: 7px"&gt;
&lt;p&gt;&lt;a href="http://www.iis.net/ConfigReference/system.webServer/security/authentication/clientCertificateMappingAuthentication"&gt;&lt;span style="font-size:8pt"&gt;Client Certificate Mapping authentication&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;Benutzer wird aufgefordert ein Client-Zertifikat f&amp;uuml;r die Authentifizierung auszuw&amp;auml;hlen &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;(=Zertifikatsauswahl-Dialog)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;AD&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;Ordnet einem Zertifikat einen Benutzer zu. IIS fr&amp;auml;gt das Active Directory an welchem Benutzer das vorgezeigte Zertifikat zuzuordnen ist, d.h. im AD ist vorher eine Verkn&amp;uuml;pfung (User:Zertifikat) vorzunehmen. Benutzer muss Clientzertifikat auf seinem Rechner installiert haben. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;Setzt eine verschl&amp;uuml;sselte Verbindung https/SSL voraus. &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  none"&gt;
&lt;p&gt;&lt;a href="http://www.iis.net/ConfigReference/system.webServer/security/authentication/iisClientCertificateMappingAuthentication"&gt;&lt;span style="font-size:8pt"&gt;IIS Client Certificate Mapping authentication&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  none"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;Zertifikatsauswahl-Dialog&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  none"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;lokale + AD&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  none"&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;Ben&amp;ouml;tigt https/SSL. Besucher braucht ein Clientzertifikat welches von einer f&amp;uuml;r den IIS7 vertrauensw&amp;uuml;rdigen Zertifizierungstelle ausgestellt worden ist. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:black; font-size:8pt"&gt;Der IIS ordnet einem (&lt;a href="http://www.iis.net/ConfigReference/system.webServer/security/authentication/iisClientCertificateMappingAuthentication/oneToOneMappings"&gt;One-To-One&lt;/a&gt;) oder vielen (&lt;a href="http://www.iis.net/ConfigReference/system.webServer/security/authentication/iisClientCertificateMappingAuthentication/manyToOneMappings"&gt;Many-To-One&lt;/a&gt;) Besucher-Zertifikat(en) einen Benutzer-Account zu.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;Anm.: Aufgelistet sind Authentifizierungsmethoden welche Microsoft mit dem IIS 7 liefert. Es gibt Dritthersteller-Erweiterungen wie z.B. &lt;a href="http://www.rsa.com/node.aspx?id=3663"&gt;RSA Authentication Agent 7.0 for Web for Internet Information Services&lt;/a&gt;). Alternativ l&amp;auml;sst sich der IIS7 einfach erweitern um z.B. eine eigene Authentifizierungsmethoden zu implementieren (siehe &lt;a href="http://learn.iis.net/page.aspx/170/developing-a-module-using-net/"&gt;Developing a Module Using .NET&lt;/a&gt; oder&lt;a href="http://custombasicauth.codeplex.com/)"&gt; Custom Basic Authentication for IIS &lt;/a&gt;) &lt;/p&gt;
&lt;h3&gt;Wie stelle ich nun Authentifizierung ein? &lt;/h3&gt;
&lt;p&gt;Um die Auswahl der richtigen Authentifizierungs-Methode(n) etwas zu erleichtern hier mal &lt;strong&gt;2 Beispiele&lt;/strong&gt; &lt;strong&gt;um&lt;/strong&gt; den &lt;strong&gt;Benutzernamen&lt;/strong&gt; des Website &lt;strong&gt;Besuchers&lt;/strong&gt; &lt;strong&gt;zu&lt;/strong&gt; &lt;strong&gt;erfahren&lt;/strong&gt;. &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Basic Authentication einrichten &lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Meiner Meinung nach die einfachste Variante eine Benutzerauthentifizierung einzurichten und mit https Verschl&amp;uuml;sselung auch recht sicher. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Erstelle einen Ordner in der myothersite "authentication\basic" &lt;/li&gt;
&lt;li&gt;W&amp;auml;hle den Ordner aus und klicke auf Authentication. &lt;/li&gt;
&lt;li&gt;Deaktiviere Anonymous- und aktiviere die Basic Authentication: &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/8484.040811_5F00_1516_5F00_IISfrEinste5.png" /&gt;&lt;span style="text-decoration: underline;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Den Sicherheitshinweis nehmen wir ernst und aktiveren noch die SSL Verschl&amp;uuml;sselung. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Lege ein neues Binding f&amp;uuml;r den Https Port 443 f&amp;uuml;r die myothersite an. &lt;/li&gt;
&lt;li&gt;W&amp;auml;hle als Serverzertifikat das localhost Testzertifikat &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(Praktischerweise hat IIS 7 sich schon selbst ein Zertifikat f&amp;uuml;r Testzwecke erzeugt): &lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/8080.040811_5F00_1516_5F00_IISfrEinste6.png" /&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Erzwinge SSL f&amp;uuml;r den Pfad in dem authentifiziert wird: &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/1057.040811_5F00_1516_5F00_IISfrEinste7.png" /&gt; &lt;/p&gt;
&lt;p&gt;Die myothersite ist nach wie vor &amp;uuml;ber http erreichbar, nur unser "basic" Unterordner erfordert eine verschl&amp;uuml;sselte Verbindung, andernfalls wird ein Fehler aufgeworfen. Das bedeutet aber auch dass ich auf die Seite von nun an mit &lt;a href="https://localhost/authentication/basic/"&gt;http&lt;span style="color:red"&gt;&lt;strong&gt;s&lt;/strong&gt;://localhost/authentication/basic/&lt;/span&gt;&lt;/a&gt;.... zugreifen muss. &lt;/p&gt;
&lt;p&gt;Jeder der jetzt auf die Seite zugreifen will muss sich zuvor authentifizieren: &lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/5102.040811_5F00_1516_5F00_IISfrEinste8.png" /&gt; &lt;/p&gt;
&lt;p&gt;Anm.: Der IE beschwert sich &amp;uuml;ber das Testzertifikat, das sich der IIS selbst ausgestellt hat aber normalerweise von einer vertrauensw&amp;uuml;rdigen Zertifizierungsstelle (Verisign, Thawte, o.&amp;auml;.) kommen sollte. Der Verschl&amp;uuml;sselung tut das keinen Abbruch. &lt;/p&gt;
&lt;p&gt;Nach erfolgreicher Anmeldung kann ich auf die Inhalte zugreifen. Die Benutzerinformationen k&amp;ouml;nnen auch von einer z.B. in ASP.NET geschriebenen Seite ("Auth_User.aspx") ausgelesen werden: &lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/3146.040811_5F00_1516_5F00_IISfrEinste9.png" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/7268.040811_5F00_1516_5F00_IISfrEinste10.png" /&gt; &lt;/p&gt;
&lt;p&gt;Wichtig ist lediglich noch, dass &lt;strong&gt;der Benutzer&lt;/strong&gt; mit dem ich mich anmelde &lt;strong&gt;NTFS Rechte&lt;/strong&gt; auf die im Ordner "basic" liegenden &lt;strong&gt;Dateien&lt;/strong&gt; hat. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Windows Authentication einrichten &lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Die Windows Authentication Methode ist auch ohne SSL Verschl&amp;uuml;sselung sicher zu verwenden und erfordert weniger Mouseklicks in der Konfiguration. Diese Methode ist sehr gut geeignet f&amp;uuml;r &lt;strong&gt;Intra&lt;/strong&gt;net Szenarien, bringt allerdings ein paar T&amp;uuml;cken mit wenn man diese Methode auch f&amp;uuml;r die Authentifizierung von Websites im &lt;strong&gt;Inter&lt;/strong&gt;net einsetzen m&amp;ouml;chte (siehe &lt;a href="http://blogs.technet.com/b/bernhard_frank/archive/2010/02/24/http-error-401-1-unauthorized-bei-verwendung-von-windows-authentication.aspx"&gt;HTTP Error 401.1 &amp;ndash; Unauthorized bei Verwendung von Windows Authentication&lt;/a&gt;). Hier kurz die Vorgehensweise: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Erstelle einen Unterordner "windows" im Ordner "authentication" &lt;/li&gt;
&lt;li&gt;W&amp;auml;hle diesen aus und aktiviere unter Authentication nur die Windows Authentication: &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/5125.040811_5F00_1516_5F00_IISfrEinste11.png" /&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kopiere die Auth_User.aspx wie im Basic-Authentication Beispiel in den Ordner. &lt;/li&gt;
&lt;li&gt;Rufen die Seite auf mit &lt;a href="http://localhost:8080/authentication/windows/auth_user.aspx"&gt;http://localhost:8080/authentication/windows/auth_user.aspx&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/1488.040811_5F00_1516_5F00_IISfrEinste12.png" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Was ist der Unterschied? &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Die &lt;strong&gt;Windows Authentication&lt;/strong&gt; &lt;strong&gt;erfolgt&lt;/strong&gt; normalerweise &lt;strong&gt;ohne&lt;/strong&gt; &lt;strong&gt;Benutzer&lt;/strong&gt; und &lt;strong&gt;Kennwort-Abfrage&lt;/strong&gt;, es wird versucht den am Browsing-Client angemeldeten Benutzer (In meinem Fall ein Dom&amp;auml;nen Benutzer) beim IIS zu authentifizieren. Dies geschieht &lt;strong&gt;f&amp;uuml;r den Benutzer transparent&lt;/strong&gt;. Bei dieser Autentifizierungs-Methode wird &lt;strong&gt;das Kennwort nicht &amp;uuml;bertragen&lt;/strong&gt;, der IIS bekommt kein Passwort, kann dieses nicht in den Server-Variablen ablegen und deshalb zeigt die obige Seite auch nur einen leeren String an. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Der authentifizierte Benutzer braucht NTFS Berechtigungen auf die Datei | Ordner&lt;/strong&gt; ("windows") &lt;strong&gt;damit&lt;/strong&gt; &lt;strong&gt;der IIS diese ausliefert. &lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;Autorisierung oder "Was darf ich?" &lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Nach erfolgreicher Authentifizierung erfolgt die Autorisierung.&lt;/strong&gt; Hierbei bestimmen die Autorisierungs-Einstellungen den &lt;strong&gt;Zugriff des Besucher&lt;/strong&gt;s &lt;strong&gt;auf&lt;/strong&gt; die &lt;strong&gt;verschiedenen&lt;/strong&gt; &lt;strong&gt;Bereiche&lt;/strong&gt; &lt;strong&gt;einer&lt;/strong&gt; &lt;strong&gt;Website&lt;/strong&gt;.&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/0246.040811_5F00_1516_5F00_IISfrEinste13.png" /&gt; &lt;/p&gt;
&lt;p&gt;Ich habe &lt;strong&gt;2 M&amp;ouml;glichkeiten um festzulegen worauf ein Benutzer zugreifen&lt;/strong&gt; darf: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Autorisierung mittels Ordner &amp;amp; Datei-Rechte &lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Hierzu werden einfach &lt;strong&gt;mittels NTFS Berechtigungen&lt;/strong&gt; auf Basis der &lt;strong&gt;Benutzer&lt;/strong&gt;-Accounts | Gruppen der &lt;strong&gt;Zugriff&lt;/strong&gt; auf &lt;strong&gt;Dateien&lt;/strong&gt; | Ordner &lt;strong&gt;erlaubt&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Beispiel: Wir erlauben nur Benutzer einer bestimmten Gruppe Zugriff auf ein Verzeichnis &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Erstelle lokale Benutzergruppe "myothersite authenticated visitors" und f&amp;uuml;ge erlaubte Benutzer hinzu. &lt;/li&gt;
&lt;li&gt;Erstelle Ordner "authenticated-visitors" in myothersite. &lt;/li&gt;
&lt;li&gt;Aktiviere Windows Authentication. &lt;/li&gt;
&lt;li&gt;Rechter Mousklick auf "authenticated-visitors" -&amp;gt; Edit Permissions -&amp;gt; Entfernen der Anonymous User Identity und hinzuf&amp;uuml;gen der "myothersite authenticated visitors" Gruppe: &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/5040.040811_5F00_1516_5F00_IISfrEinste14.png" /&gt; &lt;/p&gt;
&lt;p&gt;Jeder Besucher der auf diesen Ordner zugreifen will muss sich authentifizieren und Mitglied der Gruppe "myothersite..." sein. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Wenn&lt;/strong&gt; &lt;strong&gt;ich&lt;/strong&gt; &lt;strong&gt;sehen m&amp;ouml;chte wer den Zugriff gemacht hat, dann kann ich das &lt;/strong&gt;z.B. mittels &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;der IIS Log Datei: &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-family:Courier New; font-size:9pt"&gt;#Software: Microsoft Internet Information Services 7.5 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New; font-size:9pt"&gt;#Version: 1.0 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New; font-size:9pt"&gt;#Date: 2011-04-07 07:36:04 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New; font-size:9pt"&gt;#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port &lt;strong&gt;cs-username&lt;/strong&gt; ... &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New; font-size:9pt"&gt;2011-04-07 07:36:04 ::1 GET /authenticated-visitors/ - 8080 &lt;strong&gt;EUROPE\bfrank&lt;/strong&gt; ... &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;dem Failed Request Tracing Log: &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/1016.040811_5F00_1516_5F00_IISfrEinste15.png" /&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Oder via &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx"&gt;Process Monitor&lt;/a&gt;: &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/5732.040811_5F00_1516_5F00_IISfrEinste16.png" /&gt; &lt;/p&gt;
&lt;p&gt;tun. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Autorisierung mittels URL &lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Wem das &lt;strong&gt;editieren&lt;/strong&gt; von &lt;strong&gt;NTFS-Rechten&lt;/strong&gt; zu &lt;strong&gt;m&amp;uuml;hsam&lt;/strong&gt; ist hat eine 2te &lt;strong&gt;Alternative&lt;/strong&gt; die Zugriffsrechte festzulegen, die &lt;a href="http://learn.iis.net/page.aspx/142/understanding-iis-70-url-authorization/"&gt;&lt;strong&gt;IIS 7 URL Authorization&lt;/strong&gt;&lt;/a&gt;. Diese Variante ist &lt;strong&gt;einfach&lt;/strong&gt; &lt;strong&gt;zu&lt;/strong&gt; &lt;strong&gt;bedienen&lt;/strong&gt; und &lt;strong&gt;Einstellungen&lt;/strong&gt; &lt;strong&gt;lassen&lt;/strong&gt; &lt;strong&gt;sich&lt;/strong&gt; &lt;strong&gt;leicht&lt;/strong&gt; von einer Maschine zur anderen &lt;strong&gt;kopieren&lt;/strong&gt;. Die Einstellungen "Wer worauf zugreifen darf" stehen in der &lt;strong&gt;web.config Datei&lt;/strong&gt;. Somit ist diese Variante ideal, wenn man z.B. auf einer gehosteten Website nur Zugriff auf die Webinhalte hat nicht aber auf die UI um NTFS Rechte zu &amp;auml;ndern. Ein weiterer Vorteil der &lt;strong&gt;URL Autorisierung&lt;/strong&gt;: Sie &lt;strong&gt;funktioniert&lt;/strong&gt; &lt;strong&gt;auch&lt;/strong&gt; &lt;strong&gt;f&amp;uuml;r Nicht-Windows Benutzer-Accounts&lt;/strong&gt; (also Accounts die z.B. in einer ASP.NET Membership DB liegen) &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Kurz: Autorisierungsregeln werden auf Basis des URL Pfads und Benutzers &lt;/strong&gt;anstelle der zugrunde liegenden Dateisystemressource&lt;strong&gt; gesetzt. &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Diese Variante setzt voraus, dass die "&lt;strong&gt;URL Authorization&lt;/strong&gt;" &lt;strong&gt;Option&lt;/strong&gt; f&amp;uuml;r den &lt;strong&gt;IIS&lt;/strong&gt; &lt;strong&gt;installiert&lt;/strong&gt; wurde. &lt;/p&gt;
&lt;p&gt;("Internet Information Services" &amp;ndash;&amp;gt;" World Wide Web Services" &amp;ndash;&amp;gt; "Security") &lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Beispiel: Wir erlauben nur Benutzer einer bestimmten Gruppe Zugriff auf einen URL-Pfad &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Erstelle einen Ordner "secure" in myothersite. &lt;/li&gt;
&lt;li&gt;W&amp;auml;hle eine Authentifizierungs-Methode f&amp;uuml;r "secure" z.B. Windows Authentication &lt;/li&gt;
&lt;li&gt;
&lt;div&gt;In Authorization Rules: &lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;"Allow All Users" l&amp;ouml;schen. &lt;/li&gt;
&lt;li&gt;Allow Regel f&amp;uuml;r Gruppe "myothersite authenticated visitors" anlegen. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/2018.040811_5F00_1516_5F00_IISfrEinste17.png" /&gt; &lt;/p&gt;
&lt;p&gt;Die Authentifizierung l&amp;auml;uft wie gehabt. Anschlie&amp;szlig;end stell das URL Authorization Modul sicher, dass der Benutzer Zugriffsrechte auf die URL &lt;a href="http://localhost:8080/secure/..."&gt;http://localhost:8080/&lt;strong&gt;secure&lt;/strong&gt;/...&lt;/a&gt; hat. &lt;/p&gt;
&lt;p&gt;Ich w&amp;uuml;rde diese &lt;strong&gt;URL Autorisierung&lt;/strong&gt;smethode derjenigen mit NTFS Rechten vorziehen, da man die &lt;strong&gt;Zugriffsrechte&lt;/strong&gt; &amp;uuml;ber &lt;strong&gt;die IIS Konsole verwalten&lt;/strong&gt; kann und die Vergabe der Zugriffsrechte &lt;strong&gt;auf URL Pfad&lt;/strong&gt; &lt;strong&gt;einfacher&lt;/strong&gt; &lt;strong&gt;nachzuvollziehen&lt;/strong&gt; ist, als &amp;uuml;ber NTFS Rechte &amp;ndash; gerade dann wenn mit virtuellen Verzeichnissen gearbeitet wird (d.h. die Ordner in der URL anders hei&amp;szlig;en als der Ordner auf dem Laufwerk). &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Anm.: NTFS Rechte muss der authentifizierte Benutzer dennoch haben um auf Inhalte zuzugreifen, allerdings kann man diese getrost &amp;sbquo;grob' halten weil ja die URL Autorisierung vorgeschaltet ist und eine granularere Zugriffsverwaltung erm&amp;ouml;glicht. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Was passiert wenn mehrere Authentifizierungsmethoden aktiviert sind? &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Werden dem Browser mehrere Authentifizierungsmethoden angeboten kann er entscheiden. Der IE w&amp;auml;hlt z.B. immer die sicherste Option (also Windows vor Basic Auth) macht aber auch keinen Fallback auf die n&amp;auml;chstunsicherere sollte bei der Ersten die Authentifizierung fehlschlagen. &lt;/p&gt;
&lt;p&gt;Deshalb macht es meiner Meinung nach keinen Sinn z.B. Basic Authentication und Windows Authentication gleichzeitig zu aktivieren. &lt;strong&gt;Denkbar&lt;/strong&gt; w&amp;auml;re eher &lt;strong&gt;die&lt;/strong&gt; &lt;strong&gt;Kombination&lt;/strong&gt; &lt;strong&gt;aus&lt;/strong&gt; &lt;strong&gt;Anonymous&lt;/strong&gt; &lt;strong&gt;Authentication&lt;/strong&gt; &lt;strong&gt;und einer anderen Authentication Methode&lt;/strong&gt;: Dadurch k&amp;ouml;nnten alle Benutzer auf Inhalte zugreifen auf die die Anonymous User Identity NTFS-Rechte hat und f&amp;uuml;r die Inhalte wo der Anonymous User Identity die Rechte fehlen w&amp;uuml;rde dann eine Authentifizierung gemacht &amp;ndash; der Ablauf sieht vereinfacht etwa so aus: &lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/5141.040811_5F00_1516_5F00_IISfrEinste18.png" /&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Eine Authentifizierung und Autorisierung wie hier beschrieben ist nur eine Facette aus dem Bereich Webserver Sicherheit, deshalb empfehle ich Interessierten noch folgende Links: &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;h3&gt;Links:&lt;/h3&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/Aa266535"&gt;Configuring Security for Internet Information Server&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.technet.com/technet.microsoft.com/de-de/library/cc733010(v=WS.10).aspx"&gt;Konfigurieren der Authentifizierung in IIS&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://technet.microsoft.com/de-de/library/cc731278(v=WS.10).aspx"&gt;Konfigurieren der Webserversicherheit (IIS 7)&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3419825" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author><category term="iis" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/iis/" /><category term="training" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/training/" /><category term="IIS fuer Einsteiger" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/IIS+fuer+Einsteiger/" /></entry><entry><title>IIS für Einsteiger Teil 3: IIS Arbeitsweise verstehen: Anwendungspool, Arbeitsprozess und Co.</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2011/02/17/iis-f-252-r-einsteiger-teil-3.aspx" /><link rel="enclosure" type="application/octet-stream" length="760486" href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-03-38-79-81/IIS-fuer-Einsteiger-_2D00_-Arbeitsweise-verstehen.docx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2011/02/17/iis-f-252-r-einsteiger-teil-3.aspx</id><published>2011-02-17T13:44:00Z</published><updated>2011-02-17T13:44:00Z</updated><content type="html">&lt;div height="384" width="512" id="silverlightControlHost"&gt;
&lt;object height="384" type="application/x-silverlight" width="512" data="data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAADqNAAAsCcAAAAAAAAAAAAAAAAAAAAAAAB+AAAAaAB0AHQAcAA6AC8ALwBiAGYAcgBhAG4AawAuAGMAbwBkAGUAZABhAHoAdQByAGUALgBkAGUALwBiAGwAbwBnAC8AdgBpAGQAZQBvAC8ATQBlAGQAaQBhAFAAbABhAHkAZQByAFQAZQBtAHAAbABhAHQAZQAuAHgAYQBwAAAAPAAAAAAAAAAmAAAAbwBuAFMAaQBsAHYAZQByAGwAaQBnAGgAdABFAHIAcgBvAHIAAAAAAAAAAAAAAAAAAAAAAAAAGAMAAHAAbABhAHkAZQByAFMAZQB0AHQAaQBuAGcAcwAgAD0APABQAGwAYQB5AGwAaQBzAHQAPgA8AEEAdQB0AG8ATABvAGEAZAA+AGYAYQBsAHMAZQA8AC8AQQB1AHQAbwBMAG8AYQBkAD4APABBAHUAdABvAFAAbABhAHkAPgBmAGEAbABzAGUAPAAvAEEAdQB0AG8AUABsAGEAeQA+ADwASQB0AGUAbQBzAD4APABQAGwAYQB5AGwAaQBzAHQASQB0AGUAbQA+ADwATQBlAGQAaQBhAFMAbwB1AHIAYwBlAD4AaAB0AHQAcAA6AC8ALwBiAGYAcgBhAG4AawAuAGMAbwBkAGUAZABhAHoAdQByAGUALgBkAGUALwBiAGwAbwBnAC8AdgBpAGQAZQBvAC8AYwBvAG4AdABlAG4AdAAvAGkAaQBzACAAZgB1AGUAcgAgAGUAaQBuAHMAdABlAGkAZwBlAHIALQB0AGUAaQBsADMALgB3AG0AdgA8AC8ATQBlAGQAaQBhAFMAbwB1AHIAYwBlAD4APABUAGgAdQBtAGIAUwBvAHUAcgBjAGUAPgBoAHQAdABwADoALwAvAGIAZgByAGEAbgBrAC4AYwBvAGQAZQBkAGEAegB1AHIAZQAuAGQAZQAvAGIAbABvAGcALwB2AGkAZABlAG8ALwBjAG8AbgB0AGUAbgB0AC8AaQBpAHMAIABmAHUAZQByACAAZQBpAG4AcwB0AGUAaQBnAGUAcgAtAHQAZQBpAGwAMwAuAHAAbgBnADwALwBUAGgAdQBtAGIAUwBvAHUAcgBjAGUAPgA8AFQAaQB0AGwAZQA+AEkASQBTADcAJQAyADAAZgAlAEMAMwAlAEIAQwByACUAMgAwAEUAaQBuAHMAdABlAGkAZwBlAHIAJQAyADAALQAlADIAMABUAGUAaQBsACAAMwA8AC8AVABpAHQAbABlAD4APAAvAFAAbABhAHkAbABpAHMAdABJAHQAZQBtAD4APAAvAEkAdABlAG0AcwA+ADwALwBQAGwAYQB5AGwAaQBzAHQAPgAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAAAAAAAYAAAANAAuADAALgA1ADAANAAwADEALgAwAAAACgAAAHQAcgB1AGUAAAD//wAAAAAAAAAAAAA="&gt;
&lt;param value="http://bfrank.codedazure.de/blog/video/MediaPlayerTemplate.xap" name="source" /&gt;
&lt;param value="onSilverlightError" name="onerror" /&gt;
&lt;param value="true" name="autoUpgrade" /&gt;
&lt;param value="4.0.50401.0" name="minRuntimeVersion" /&gt;
&lt;param value="true" name="enableHtmlAccess" /&gt;
&lt;param value="true" name="enableGPUAcceleration" /&gt;
&lt;param value="false" name="allowHtmlPopupWindow" /&gt;
&lt;param value="false" name="enableFrameRateCounter" /&gt;
&lt;param value="playerSettings =&amp;lt;Playlist&amp;gt;&amp;lt;AutoLoad&amp;gt;false&amp;lt;/AutoLoad&amp;gt;&amp;lt;AutoPlay&amp;gt;false&amp;lt;/AutoPlay&amp;gt;&amp;lt;Items&amp;gt;&amp;lt;PlaylistItem&amp;gt;&amp;lt;MediaSource&amp;gt;http://bfrank.codedazure.de/blog/video/content/iis fuer einsteiger-teil3.wmv&amp;lt;/MediaSource&amp;gt;&amp;lt;ThumbSource&amp;gt;http://bfrank.codedazure.de/blog/video/content/iis fuer einsteiger-teil3.png&amp;lt;/ThumbSource&amp;gt;&amp;lt;Title&amp;gt;IIS7%20f%C3%BCr%20Einsteiger%20-%20Teil 3&amp;lt;/Title&amp;gt;&amp;lt;/PlaylistItem&amp;gt;&amp;lt;/Items&amp;gt;&amp;lt;/Playlist&amp;gt;" name="initparams" /&gt;
&lt;/object&gt;
&lt;/div&gt;
&lt;p&gt;In den beiden vorangegangen Kapiteln haben wir den IIS installiert und 2 Beispielwebseiten angelegt. Nur &lt;strong&gt;wer&lt;/strong&gt; oder welcher Windows Prozess &lt;strong&gt;ist f&amp;uuml;r die Abarbeitung&lt;/strong&gt; der http-Anfragen auf die beiden Websites &lt;strong&gt;verantwortlich&lt;/strong&gt;? &lt;/p&gt;
&lt;p&gt;F&amp;uuml;r die Verarbeitung einer Http-Anfrage sind mehrere Stellen des IIS verantwortlich, den Administrator und Entwickler sollten jedoch besonders die sog. Arbeitsprozesse interessieren. (siehe &lt;a href="http://learn.iis.net/page.aspx/101/introduction-to-iis-7-architecture/"&gt;Introduction to IIS 7 Architecture&lt;/a&gt;) &lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Warum sind Arbeitsprozesse interessant? &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Weil ein Arbeitsprozess (w3wp.exe) http Anfragen verarbeitet und die dazu passende Antwort erzeugt&lt;/strong&gt;. Verarbeiten hei&amp;szlig;t z.B. einen Benutzer authentifizieren, Inhalte (html, jpg, etc.) von der Festplatte | Cache holen oder ASP.NET bzw. PHP Code Ausf&amp;uuml;hren lassen und das Ergebnis an den Anfrager zur&amp;uuml;cksenden. &lt;/p&gt;
&lt;p&gt;Was ein &lt;strong&gt;Arbeitsprozess tut &lt;/strong&gt;um Anfragen zu bearbeiten &lt;strong&gt;l&amp;auml;sst&lt;/strong&gt; sich &lt;strong&gt;konfigurieren&lt;/strong&gt; und &lt;strong&gt;anprogrammieren&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;&amp;Uuml;ber die IIS Management Konsole kann ich einsehen &lt;strong&gt;welche http Anfragen gerade&lt;/strong&gt; pro ausgef&amp;uuml;hrten Arbeitsprozess &lt;strong&gt;ausgef&amp;uuml;hrt werden&lt;/strong&gt;: &lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/0724.021711_5F00_1344_5F00_1.png" /&gt; &lt;/p&gt;
&lt;p&gt;Auf einem IIS sind &lt;strong&gt;in der Regel mehrere Arbeitsprozesse aktiv&lt;/strong&gt;, wie viele ist Konfigurationssache. &lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Warum brauche ich mehrere Arbeitsprozesse? &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Das Konzept der Arbeitsprozesse &lt;strong&gt;erm&amp;ouml;glicht Websites&lt;/strong&gt; oder Teile von Websites &lt;strong&gt;voneinander&lt;/strong&gt; zu &lt;strong&gt;isolieren&lt;/strong&gt;, so k&amp;ouml;nnen z.B. 2 Websites in ihren eigenen w3wp.exe's laufen und unterliegen damit der &lt;strong&gt;Prozessisolation&lt;/strong&gt; des Windows OS. Zus&amp;auml;tzlich lassen sich den Arbeitsprozessen jeweils unterschiedliche &lt;strong&gt;Benutzerkonten&lt;/strong&gt; zuweisen, dadurch kann man mittels NTFS Berechtigungen Datei und Ordnerzugriff einschr&amp;auml;nken. &lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Warum sollte ich isolieren? &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Das erh&amp;ouml;ht die &lt;strong&gt;Stabilit&amp;auml;t&lt;/strong&gt;, weil Website X auch dann noch antwortet wenn Website Y abgest&amp;uuml;rzt ist. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Troubleshooting&lt;/strong&gt; wird einfacher, weil man sich peel-the-onion-m&amp;auml;&amp;szlig;ig an den Problemteil einer Website heran-&amp;sbquo;isolieren' kann. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sicherheit&lt;/strong&gt; wird erh&amp;ouml;ht indem man unterschiedliche Accounts f&amp;uuml;r die Arbeitsprozesse verwendet und den Arbeitsprozessen damit nur NTFS Rechte auf den eigenen Webordner gibt. &lt;/p&gt;
&lt;p&gt;Verhalten | Leistung von Websites wird &lt;strong&gt;planbarer,&lt;/strong&gt; weil sich die Zuweisung von CPU- und Speicher- Ressourcen auf die Arbeitsprozesse steuern l&amp;auml;sst und man kontrollieren kann was passiert wenn Limits &amp;uuml;berschritten werden. (mehr dazu &lt;a href="http://go.microsoft.com/fwlink/?LinkId=64323"&gt;Verwalten von Anwendungspools in IIS 7&lt;/a&gt; und &lt;a href="http://learn.iis.net/page.aspx/449/using-wsrm-to-manage-iis-7-apppool-cpu-utilization/"&gt;Using WSRM to manage IIS 7 AppPool CPU Utilization&lt;/a&gt;) &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Wie isoliere ich mit Arbeitsprozessen? &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Die Arbeitsprozesse werden im IIS &amp;uuml;ber Anwendungspools (Application Pool) angelegt und verwaltet: &lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/6661.021711_5F00_1344_5F00_2.png" /&gt; &lt;/p&gt;
&lt;p&gt;In einem &lt;strong&gt;Anwendungspool&lt;/strong&gt; ist &lt;strong&gt;definiert&lt;/strong&gt; &lt;strong&gt;welche&lt;/strong&gt; (Teile einer) &lt;strong&gt;Website&lt;/strong&gt; &lt;strong&gt;von welchem Arbeitsprozess&lt;/strong&gt;(en) &lt;strong&gt;ausgeliefert&lt;/strong&gt; werden&lt;strong&gt; &lt;/strong&gt;&amp;ndash; letztlich hei&amp;szlig;t das, dass&lt;strong&gt; ein Anwendungspool definiert wer die Bearbeitung einer &lt;/strong&gt;(oder mehrerer)&lt;strong&gt; URL&lt;/strong&gt;(s)&lt;strong&gt; &amp;uuml;bernimmt. &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Um z.B. &lt;strong&gt;eine Website&lt;/strong&gt; nun &lt;strong&gt;einem&lt;/strong&gt; &lt;strong&gt;Anwendungspool&lt;/strong&gt; &lt;strong&gt;zuzuordnen&lt;/strong&gt; sind folgende Schritte notwendig: &lt;/p&gt;
&lt;p&gt;IIS Manager -&amp;gt; Sites -&amp;gt; Website ausw&amp;auml;hlen -&amp;gt;Advanced Settings -&amp;gt; "Application Pool" drop down box ausw&amp;auml;hlen -&amp;gt; aus einer Liste von Anwendungspools ausw&amp;auml;hlen. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/4011.021711_5F00_1344_5F00_3.png" /&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In diesem Beispiel wurde eine ganze Website dem Anwendungspool "myothersite" zugeordnet, alternativ k&amp;ouml;nnte man nur Teile z.B. ein Unterverzeichnis einem Anwendungspool zuordnen. Voraussetzung ist, dass das Unterverzeichnis (wie z.B. unten "shop") eine Anwendung (im Sinne des IIS) ist: &lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/2772.021711_5F00_1344_5F00_4.png" /&gt; &lt;/p&gt;
&lt;p&gt;Ordner welche als IIS Anwendungen markiert sind erhalten in der Ansicht eine kleine Weltkugel. &lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Was ist eine IIS Anwendung? &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Eine &lt;strong&gt;Site&lt;/strong&gt; ist f&amp;uuml;r den IIS ein Container in dem &lt;em&gt;Anwendungen&lt;/em&gt; und (virtuelle) &lt;em&gt;Verzeichnisse&lt;/em&gt; mit Inhalten (*.html, *.css, *.gif,....) und Code (ASP.NET Seiten o.&amp;auml;.) liegen. Auf eine Site kann von au&amp;szlig;en z.B. &amp;uuml;ber http zugegriffen werden. &lt;/p&gt;
&lt;p&gt;Ein (virtuelles) &lt;strong&gt;Verzeichnis&lt;/strong&gt; ist f&amp;uuml;r den IIS ein Ort (Pfad) wo er Inhalte einer Website findet. Dabei wird der Name des Verzeichnisses Teil der URL der Website &amp;uuml;ber die von &amp;sbquo;drau&amp;szlig;en' auf die Inhalte zugegriffen werden kann (z.B. http://www.meinewebsite..../&lt;strong&gt;gallery&lt;/strong&gt;/). &lt;/p&gt;
&lt;p&gt;Eine &lt;strong&gt;IIS Anwendung&lt;/strong&gt; (aka &lt;strong&gt;application&lt;/strong&gt;) definiert wie ein &lt;em&gt;Verzeichnis&lt;/em&gt; eine Gruppe von Dateien die Inhalte einer Website liefert - zus&amp;auml;tzlich kann f&amp;uuml;r eine Anwendung noch die Zugeh&amp;ouml;rigkeit zu einem Anwendungspool definiert werden. &lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Anm.:&lt;/span&gt; D.h. durch &amp;sbquo;Aufspalten' meiner Website in mehrere Anwendungen w&amp;auml;re ich in der Lage diese Website durch mehrere Anwendungspools ausliefern zu lassen. &lt;/p&gt;
&lt;p&gt;(Mehr dazu unter &lt;a href="http://learn.iis.net/page.aspx/150/understanding-sites-applications-and-virtual-directories-on-iis-7/"&gt;Understanding Sites, Applications, and Virtual Directories on IIS 7&lt;/a&gt;) &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Welche Websites (oder Anwendungen) sollten in einen Anwendungspool isoliert werden? &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Pers&amp;ouml;nliche Meinung des Autors: "&lt;strong&gt;Jede Website sollte im eigenen Anwendungspool mit eigener Identit&amp;auml;t &amp;ndash; idealerweise der Application Pool Identity &amp;ndash; laufen." &lt;/strong&gt;Das ist &amp;uuml;brigens auch das Standardverhalten beim Neuanlegen einer Website beim IIS7 unter Windows 7 oder Windows Server 2008 R2. &lt;/p&gt;
&lt;p&gt;Um Ressourcen zu sparen mag man m&amp;ouml;glicherweise davon abr&amp;uuml;cken und mehr Websites in einen Anwendungspool packen, jedoch in folgenden F&amp;auml;llen w&amp;uuml;rde(m&amp;uuml;sste) ich immer isolieren: &lt;/p&gt;
&lt;div sizset="0" sizcache="1"&gt;
&lt;table border="0" style="border-collapse: collapse"&gt;
&lt;colgroup&gt;&lt;col style="width: 318px;"&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col style="width: 318px;"&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;
&lt;td style="border-bottom: black 1pt solid; border-left-style: none; padding-left: 7px; padding-right: 7px; border-right-style: none; border-top: black 1pt solid"&gt;
&lt;p&gt;&lt;span style="color: black"&gt;&lt;strong&gt;Szenario&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-bottom: black 1pt solid; border-left-style: none; padding-left: 7px; padding-right: 7px; border-right-style: none; border-top: black 1pt solid"&gt;
&lt;p&gt;&lt;span style="color: black"&gt;&lt;strong&gt;Link zur Vorgehensweise&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td style="border-left-style: none; padding-left: 7px; padding-right: 7px; border-right-style: none"&gt;
&lt;p&gt;&lt;span style="color: black"&gt;&lt;strong&gt;Websites&lt;/strong&gt; mit &lt;strong&gt;Problemen&lt;/strong&gt; (z.B. Memory Leaks), Experimenteller oder &lt;strong&gt;Beta Code&lt;/strong&gt; sollten in eigenen Application Pools laufen.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-left-style: none; padding-left: 7px; padding-right: 7px; border-right-style: none"&gt;
&lt;p&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=64323"&gt;Verwalten von Anwendungspools in IIS 7&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="padding-left: 7px; padding-right: 7px"&gt;
&lt;p&gt;&lt;span style="color: black"&gt;&lt;strong&gt;Websites von unterschiedlichen Leuten&lt;/strong&gt; (gehostet auf einem IIS) bei denen &lt;strong&gt;sichergestellt&lt;/strong&gt; werden soll dass sie &lt;strong&gt;nicht&lt;/strong&gt; auf die &lt;strong&gt;Inhalte&lt;/strong&gt; des &lt;strong&gt;anderen&lt;/strong&gt; &lt;strong&gt;zugreifen&lt;/strong&gt; (lesen, schreiben, l&amp;ouml;schen) &lt;strong&gt;k&amp;ouml;nnen&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/624/application-pool-identities/"&gt;Application Pool Identities&lt;/a&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/764/ensure-security-isolation-for-web-sites/"&gt;Ensure Security Isolation for Web Sites&lt;/a&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td style="border-left-style: none; padding-left: 7px; padding-right: 7px; border-right-style: none"&gt;
&lt;p&gt;&lt;span style="color: black"&gt;Websites welche unterschiedliche .NET Framework-, PHP- Versionen o.&amp;auml;. verwenden.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-left-style: none; padding-left: 7px; padding-right: 7px; border-right-style: none"&gt;
&lt;p&gt;&lt;span style="color: black"&gt;s.o.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="padding-left: 7px; padding-right: 7px"&gt;
&lt;p&gt;&lt;span style="color: black"&gt;Wenn die &lt;strong&gt;IIS-Anwendung&lt;/strong&gt; einen &lt;strong&gt;h&amp;ouml;her privilegierten Benutzerkontext&lt;/strong&gt; braucht.&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="padding-left: 7px; padding-right: 7px"&gt;
&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc771170(WS.10).aspx"&gt;Specify an Identity for an Application Pool (IIS 7)&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td style="border-bottom: black 1pt solid; border-left-style: none; padding-left: 7px; padding-right: 7px; border-right-style: none"&gt;
&lt;p&gt;&lt;span style="color: black"&gt;Wenn IIS-Anwendungen zu &lt;strong&gt;IIS 6 kompatibel&lt;/strong&gt; sein m&amp;uuml;ssen &lt;strong&gt;bzw.&lt;/strong&gt; wenn &lt;strong&gt;ASP.NET 1.1 auf IIS7&lt;/strong&gt; verwendet werden soll&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-bottom: black 1pt solid; border-left-style: none; padding-left: 7px; padding-right: 7px; border-right-style: none"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/101/"&gt;Introduction to IIS 7 Architecture #IIS 7 Application Pools&lt;/a&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/472/how-to-install-aspnet-11-with-iis7-on-vista-and-windows-2008/"&gt;How to install ASP.NET 1.1 with IIS7 on Vista and Windows 2008&lt;/a&gt;&lt;span style="color: black"&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Was sind jetzt die wichtigsten Einstellungen f&amp;uuml;r einen Anwendungspool? &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Sehen wir uns dazu die Einstellungen des Anwendungspools "myothersite"an: &lt;/p&gt;
&lt;p&gt;IIS Manager -&amp;gt; Application Pools -&amp;gt; doppelclick auf "myothersite": &lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/3463.021711_5F00_1344_5F00_5.png" /&gt; &lt;/p&gt;
&lt;p&gt;Der &lt;strong&gt;Name&lt;/strong&gt; eines Anwendungspools muss eindeutig und sollte aussagekr&amp;auml;ftig sein. Pro Anwendungspool kann nur eine &lt;strong&gt;Version&lt;/strong&gt; des &lt;strong&gt;.NET Framework&lt;/strong&gt;s geladen werden (Evtl. mit dem Entwickler abkl&amp;auml;ren, welche Version des .NET Frameworks ben&amp;ouml;tigt wird). &lt;/p&gt;
&lt;p&gt;Der &lt;strong&gt;Managed pipeline mode&lt;/strong&gt; bestimmt welche Architektur im Arbeitsprozess (w3wp.exe) genommen wird: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;classic: IIS 6 kompatibel &lt;/li&gt;
&lt;li&gt;integrated: IIS7 Architektur &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Der Managed pipeline mode beeinflusst wann .NET Module aufgerufen werden und das hat Auswirkung wie http Anfragen abgearbeitet werden. &lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Pers&amp;ouml;nliche Meinung des Autors:&lt;/span&gt; "&lt;strong&gt;Ich w&amp;uuml;rde Anwendungspools immer im Integrated Pipeline Mode betreiben, &lt;/strong&gt;weil: neu, verst&amp;auml;ndlicher, erweiterbarer &lt;strong&gt;und nur bei Problemen den Classic Modus verwenden"&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;(Mehr dazu &lt;a href="http://learn.iis.net/page.aspx/101/introduction-to-iis-7-architecture/"&gt;Introduction to IIS 7 Architecture&lt;/a&gt; und &lt;a href="http://learn.iis.net/page.aspx/243/aspnet-integration-with-iis-7/"&gt;ASP.NET Integration with IIS 7&lt;/a&gt;) &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Anwendungspool-Identit&amp;auml;t und Recycling &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;F&amp;uuml;r Mehr Isolation/Sicherheit und Stabilit&amp;auml;t sollte man noch 2 Einstellungen von Anwendungspools kennen: &lt;/p&gt;
&lt;p&gt;IIS Manager -&amp;gt; Application Pools -&amp;gt; "myothersite" ausw&amp;auml;hlen -&amp;gt; Advanced Settings ausw&amp;auml;hlen: &lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/4527.021711_5F00_1344_5F00_6.png" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Identit&amp;auml;t &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Der Benutzerkontext unter dem der Arbeitsprozess l&amp;auml;uft kann ein Built-in Account wie z.B. Network Service, die ApplicationPoolIdentity oder ein anderer Windows Benutzer sein. &lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Was ist eine ApplicationPoolIdentity? &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Seit Windows 7 (oder Windows Server 2008 R2, bzw. ab Windows Server 2008 Service Pack 2) kann der IIS7 pro ApplicationPool einen virtuellen Benutzer verwenden &amp;ndash; die sog. ApplicationPoolIdentity. Dieser Benutzer tr&amp;auml;gt den gleichen Namen wie der Anwendungspool. &lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Vorteile von ApplicationPoolIdentities: &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Haben nur die &lt;strong&gt;minimal notwendigen Rechte&lt;/strong&gt; &lt;/li&gt;
&lt;li&gt;Werden &lt;strong&gt;vom IIS automatisch angelegt&lt;/strong&gt; (d.h. kein Eingeben von Passw&amp;ouml;rtern: kein Vergessen &amp;amp;Verfallen) &lt;/li&gt;
&lt;li&gt;Ich kann &lt;strong&gt;NTFS Rechte pro ApplicationPoolIdentity&lt;/strong&gt; vergeben z.B. um Zugriff auf Web-Verzeichnis einzuschr&amp;auml;nken &amp;ndash; &lt;strong&gt;Isolation&lt;/strong&gt;. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Beispiel: Anwendungspool "myothersite" l&amp;auml;uft unter der ApplicationPoolIdentity im Taskmanager sehe ich den Arbeitsprozess w3wp.exe dessen Benutzername "IIS AppPool\myothersite" ist: &lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/8233.021711_5F00_1344_5F00_7.png" /&gt; &lt;/p&gt;
&lt;p&gt;(mehr dazu &lt;a href="http://learn.iis.net/page.aspx/624/application-pool-identities/"&gt;Application Pool Identities&lt;/a&gt;) &lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Recycling &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/7266.021711_5F00_1344_5F00_8.png" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Standardm&amp;auml;&amp;szlig;ig&lt;/strong&gt; wird der Arbeitsprozess(e) eines Anwendungspools nach 29min (=1740 min) &lt;strong&gt;neu gestartet&lt;/strong&gt; ("Regular Time Intervals"). Das &lt;strong&gt;gibt&lt;/strong&gt; bis dahin vergebenen &lt;strong&gt;Speicher&lt;/strong&gt; &lt;strong&gt;wieder&lt;/strong&gt; &lt;strong&gt;frei&lt;/strong&gt; und &lt;strong&gt;initialisiert&lt;/strong&gt; die &lt;strong&gt;Webanwendung&lt;/strong&gt;. Dabei wird ein neuer Arbeitsprozess gestartet, dieser bekommt neue eingehende http-Anfragen zugewiesen. Der &amp;sbquo;alte' Arbeitsprozess(e) darf seine verbleibenden Anfragen abarbeiten und wird dann beendet. D.h. das &lt;strong&gt;Recyclen&lt;/strong&gt; geht ohne &lt;strong&gt;Ausfallzeit&lt;/strong&gt; und der &lt;strong&gt;Websitebesucher&lt;/strong&gt; &lt;strong&gt;merkt&lt;/strong&gt; &lt;strong&gt;davon&lt;/strong&gt; &lt;strong&gt;nichts&lt;/strong&gt; (=Overlapped Recycle). Um Ressourcen zu sparen wird ein neuer &lt;strong&gt;Arbeitsprozess&lt;/strong&gt; &lt;strong&gt;immer&lt;/strong&gt; &lt;strong&gt;nur&lt;/strong&gt; &lt;strong&gt;dann&lt;/strong&gt; &lt;strong&gt;gestartet&lt;/strong&gt; &lt;strong&gt;wenn auch wirklich http-Anfragen daf&amp;uuml;r anliegen&lt;/strong&gt; &amp;ndash; d.h. die &lt;strong&gt;erste http Anfrage nach 30min&lt;/strong&gt; &lt;strong&gt;Leerlauf&lt;/strong&gt; auf einen Webserver &lt;strong&gt;k&amp;ouml;nnte&lt;/strong&gt; wegen des Startups &lt;strong&gt;ein bisschen l&amp;auml;nger dauern&lt;/strong&gt;. (Abhilfe siehe:&lt;a href="http://learn.iis.net/page.aspx/688/using-the-iis-application-warm-up-module/"&gt;Using the IIS Application Warm-Up Module&lt;/a&gt;) &lt;/p&gt;
&lt;p&gt;Ist die Webanwendung gut programmiert, geht bewusst mit Ressourcen um und ist &amp;uuml;ber einen l&amp;auml;ngeren Zeitraum stabil dann spricht nichts dagegen das Zeitraum f&amp;uuml;r das Recycling zu verl&amp;auml;ngern oder ganz abzuschalten. &lt;/p&gt;
&lt;p&gt;(mehr unter &lt;a href="http://go.microsoft.com/fwlink/?LinkId=64323"&gt;Verwalten von Anwendungspools in IIS 7&lt;/a&gt;) &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;Kurz zusammengefasst: &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Der IIS bearbeitet http-Anfragen durch die Arbeitsprozesse (w3wp.exe). &lt;/p&gt;
&lt;p&gt;(Teile von) Websites lassen sich &amp;uuml;ber die Arbeitsprozesse voneinander isolieren f&amp;uuml;r mehr Stabilit&amp;auml;t. &lt;/p&gt;
&lt;p&gt;Arbeitsprozesse und Stabilit&amp;auml;ts-Funktionalit&amp;auml;ten werden im IIS &amp;uuml;ber Anwendungspools konfiguriert. &lt;/p&gt;
&lt;p&gt;Weiterf&amp;uuml;hrend empfehle ich &lt;a href="http://learn.iis.net/page.aspx/101/introduction-to-iis-7-architecture/"&gt;Introduction to IIS 7 Architecture&lt;/a&gt; zu lesen. &lt;/p&gt;
&lt;p&gt;Wer einfach mal sehen m&amp;ouml;chte worauf ein w3wp.exe unter welchem Account zugreift sollte mit dem &lt;a href="http://technet.microsoft.com/de-de/sysinternals/bb896645"&gt;Process Monitor&lt;/a&gt; spielen &amp;ndash; auch f&amp;uuml;r Troubleshooting zwecke ganz hilfreich: &lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/4848.021711_5F00_1344_5F00_9.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3387981" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author><category term="iis" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/iis/" /><category term="training" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/training/" /><category term="IIS fuer Einsteiger" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/IIS+fuer+Einsteiger/" /></entry><entry><title>IIS für Einsteiger Teil 2: Erste Schritte nach der Installation</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2011/02/17/iis-f-252-r-einsteiger-teil2-erste-schritte-nach-der-installation.aspx" /><link rel="enclosure" type="application/vnd.openxmlformats-officedocument.word" length="8394912" href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-03-38-79-43/IIS-f_FC00_r-Einsteiger_2D00_Teil2.docx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2011/02/17/iis-f-252-r-einsteiger-teil2-erste-schritte-nach-der-installation.aspx</id><published>2011-02-17T11:40:00Z</published><updated>2011-02-17T11:40:00Z</updated><content type="html">&lt;div sizset="0" sizcache="1" class="user-defined-markup"&gt;
&lt;object height="384" type="application/x-silverlight" width="512" data="data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAADqNAAAsCcAAAAAAAAAAAAAAAAAAAAAAAB+AAAAaAB0AHQAcAA6AC8ALwBiAGYAcgBhAG4AawAuAGMAbwBkAGUAZABhAHoAdQByAGUALgBkAGUALwBiAGwAbwBnAC8AdgBpAGQAZQBvAC8ATQBlAGQAaQBhAFAAbABhAHkAZQByAFQAZQBtAHAAbABhAHQAZQAuAHgAYQBwAAAAPAAAAAAAAAAmAAAAbwBuAFMAaQBsAHYAZQByAGwAaQBnAGgAdABFAHIAcgBvAHIAAAAAAAAAAAAAAAAAAAAAAAAAwAMAAHAAbABhAHkAZQByAFMAZQB0AHQAaQBuAGcAcwAgAD0APABQAGwAYQB5AGwAaQBzAHQAPgA8AEEAdQB0AG8ATABvAGEAZAA+AGYAYQBsAHMAZQA8AC8AQQB1AHQAbwBMAG8AYQBkAD4APABBAHUAdABvAFAAbABhAHkAPgBmAGEAbABzAGUAPAAvAEEAdQB0AG8AUABsAGEAeQA+ADwASQB0AGUAbQBzAD4APABQAGwAYQB5AGwAaQBzAHQASQB0AGUAbQA+ADwATQBlAGQAaQBhAFMAbwB1AHIAYwBlAD4AaAB0AHQAcAA6AC8ALwBiAGYAcgBhAG4AawAuAGMAbwBkAGUAZABhAHoAdQByAGUALgBkAGUALwBiAGwAbwBnAC8AdgBpAGQAZQBvAC8AYwBvAG4AdABlAG4AdAAvAEkASQBTACAAZgD8AHIAIABFAGkAbgBzAHQAZQBpAGcAZQByACAALQAgAE4AYQBjAGgAIABkAGUAcgAgAEkAbgBzAHQAYQBsAGwAYQB0AGkAbwBuACAAdQBuAGQAIABlAHIAcwB0AGUAIABTAGMAaAByAGkAdAB0AGUALgB3AG0AdgA8AC8ATQBlAGQAaQBhAFMAbwB1AHIAYwBlAD4APABUAGgAdQBtAGIAUwBvAHUAcgBjAGUAPgBoAHQAdABwADoALwAvAGIAZgByAGEAbgBrAC4AYwBvAGQAZQBkAGEAegB1AHIAZQAuAGQAZQAvAGIAbABvAGcALwB2AGkAZABlAG8ALwBjAG8AbgB0AGUAbgB0AC8ASQBJAFMAIABmAPwAcgAgAEUAaQBuAHMAdABlAGkAZwBlAHIAIAAtACAATgBhAGMAaAAgAGQAZQByACAASQBuAHMAdABhAGwAbABhAHQAaQBvAG4AIAB1AG4AZAAgAGUAcgBzAHQAZQAgAFMAYwBoAHIAaQB0AHQAZQBfAFQAaAB1AG0AYgAuAGoAcABnADwALwBUAGgAdQBtAGIAUwBvAHUAcgBjAGUAPgA8AFQAaQB0AGwAZQA+AEkASQBTADcAJQAyADAAZgAlAEMAMwAlAEIAQwByACUAMgAwAEUAaQBuAHMAdABlAGkAZwBlAHIAJQAyADAALQAlADIAMABJAG4AcwB0AGEAbABsAGEAdABpAG8AbgA8AC8AVABpAHQAbABlAD4APAAvAFAAbABhAHkAbABpAHMAdABJAHQAZQBtAD4APAAvAEkAdABlAG0AcwA+ADwALwBQAGwAYQB5AGwAaQBzAHQAPgAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAAAAAAAYAAAANAAuADAALgA1ADAANAAwADEALgAwAAAACgAAAHQAcgB1AGUAAAD//wAAAAAAAAAAAAA="&gt;
&lt;param value="http://bfrank.codedazure.de/blog/video/MediaPlayerTemplate.xap" name="source" /&gt;
&lt;param value="onSilverlightError" name="onerror" /&gt;
&lt;param value="true" name="autoUpgrade" /&gt;
&lt;param value="4.0.50401.0" name="minRuntimeVersion" /&gt;
&lt;param value="true" name="enableHtmlAccess" /&gt;
&lt;param value="true" name="enableGPUAcceleration" /&gt;
&lt;param value="false" name="allowHtmlPopupWindow" /&gt;
&lt;param value="false" name="enableFrameRateCounter" /&gt;
&lt;param value="playerSettings =&amp;lt;Playlist&amp;gt;&amp;lt;AutoLoad&amp;gt;false&amp;lt;/AutoLoad&amp;gt;&amp;lt;AutoPlay&amp;gt;false&amp;lt;/AutoPlay&amp;gt;&amp;lt;Items&amp;gt;&amp;lt;PlaylistItem&amp;gt;&amp;lt;MediaSource&amp;gt;http://bfrank.codedazure.de/blog/video/content/IIS f&amp;uuml;r Einsteiger - Nach der Installation und erste Schritte.wmv&amp;lt;/MediaSource&amp;gt;&amp;lt;ThumbSource&amp;gt;http://bfrank.codedazure.de/blog/video/content/IIS f&amp;uuml;r Einsteiger - Nach der Installation und erste Schritte_Thumb.jpg&amp;lt;/ThumbSource&amp;gt;&amp;lt;Title&amp;gt;IIS7%20f%C3%BCr%20Einsteiger%20-%20Installation&amp;lt;/Title&amp;gt;&amp;lt;/PlaylistItem&amp;gt;&amp;lt;/Items&amp;gt;&amp;lt;/Playlist&amp;gt;" name="initparams" /&gt;
&lt;/object&gt;
&lt;h3&gt;Was sind die &lt;b&gt;wichtigste&lt;/b&gt;n &lt;b&gt;Verzeichnisse &lt;/b&gt;und&lt;b&gt; Dateien&lt;/b&gt; f&amp;uuml;r den &lt;b&gt;IIS&lt;/b&gt;, welche &lt;b&gt;Benutzerkonten&lt;/b&gt; werden angelegt bzw. verwendet und wie hei&amp;szlig;en die &lt;b&gt;IIS-Dienste&lt;/b&gt; welche bei der Installation des IIS7 erzeugt werden:&lt;/h3&gt;
&lt;h4&gt;&lt;em&gt;Wichtige Verzeichnisse und Dateien.&lt;/em&gt;&lt;/h4&gt;
&lt;div style="padding-bottom: 1pt; padding-left: 1pt; width: 247px; padding-right: 4pt; padding-top: 1pt; mso-element: para-border-div; border: black 1pt solid;"&gt;&lt;span lang="DE"&gt;&lt;span style="font-family: courier new"&gt;C:\Windows\System32\inetsrv&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Hauptverzeichnis &lt;/strong&gt;des IIS beeinhaltet z.B. die Dateien zur IIS &lt;strong&gt;Konfiguration&lt;/strong&gt;, &lt;strong&gt;Verwaltung&lt;/strong&gt; (z.B.MMC), IIS-&lt;strong&gt;Module&lt;/strong&gt;, &lt;strong&gt;Executables&lt;/strong&gt; f&amp;uuml;r die IIS Dienste.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="padding-bottom: 1pt; padding-left: 1pt; width: 517px; padding-right: 4pt; padding-top: 1pt; border: black 1pt solid;"&gt;&lt;span style="font-family: courier new"&gt;C:\Windows\System32\inetsrv\config\applicationHost.config&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;b&gt;ApplicationHost.config&lt;/b&gt; ist eine &lt;b&gt;editierbare&lt;/b&gt; &lt;b&gt;XML&lt;/b&gt; &lt;b&gt;Datei&lt;/b&gt; welche die Root-|&lt;b&gt;Hauptdatei&lt;/b&gt; des IIS 7.0 &lt;b&gt;Konfigurationssystems&lt;/b&gt; darstellt. Sie beeinhaltet Definitionen f&amp;uuml;r alle Websites , Anwendungen, virtuelle Verzeichnisse und Anwendungspools , sowie &lt;b&gt;globale&lt;/b&gt; &lt;b&gt;Standards&lt;/b&gt; f&amp;uuml;r die &lt;b&gt;Web-Server -Einstellungen&lt;/b&gt;. Die Konfiguration sollte in regelm&amp;auml;ssigen Abst&amp;auml;nden &lt;b&gt;gebackupt&lt;/b&gt; werden, z.B. mit dem Commando:&lt;/p&gt;
&lt;div style="padding-bottom: 1pt; padding-left: 4pt; width: 1039px; padding-right: 4pt; background: black; padding-top: 1pt; border: windowtext 1pt solid;"&gt;
&lt;p class="result" style="margin: 0cm 0cm 0pt"&gt;&lt;strong&gt;&lt;span style="color: #bfbfbf"&gt;&lt;span style="font-family: courier new"&gt;C:\Windows\System32\inetsrv&amp;gt;appcmd add backup&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="result" style="margin: 0cm 0cm 0pt"&gt;&lt;strong&gt;&lt;span style="color: #bfbfbf"&gt;&lt;span style="font-family: courier new"&gt;BACKUP object "20100623T150732" added&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Die Backups landen im Verzeichnis: C:\Windows\System32\inetsrv\backup &lt;/p&gt;
&lt;p&gt;Mehr unter &lt;a href="http://learn.iis.net/page.aspx/124/introduction-to-applicationhostconfig/"&gt;Introduction to ApplicationHost.config&lt;/a&gt; und &lt;a href="http://technet.microsoft.com/de-de/library/cc754617(WS.10).aspx"&gt;Arbeiten mit Konfigurationsdateien in IIS 7.0&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="padding-bottom: 1pt; padding-left: 1pt; width: 95px; padding-right: 4pt; padding-top: 1pt; border: black 1pt solid;"&gt;&lt;span lang="DE"&gt;&lt;span style="font-family: courier new"&gt;Web.config&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;Der IIS erlaubt das &lt;b&gt;Delegieren&lt;/b&gt; von &lt;b&gt;Einstellungen&lt;/b&gt;. D.h. es k&amp;ouml;nnen IIS Einstellungen &lt;b&gt;au&amp;szlig;erhalb&lt;/b&gt; der &lt;b&gt;applicationHost.config&lt;/b&gt; &amp;uuml;berschrieben | &lt;b&gt;modifiziert&lt;/b&gt; werden, um das &lt;b&gt;Verhalten&lt;/b&gt; des &lt;b&gt;IIS&lt;/b&gt; auf z.B. Website-, Anwendungs- und Verzeichnis-Ebene zu &lt;b&gt;ver&amp;auml;ndern&lt;/b&gt;. Beispiel (s.u.): Caching f&amp;uuml;r einen Untordner deaktivieren. Die Eintr&amp;auml;ge werden in eine &lt;b&gt;web.config&lt;/b&gt; Datei geschrieben und im &lt;b&gt;selben Order&lt;/b&gt; der &lt;b&gt;Webinhalte&lt;/b&gt; abgelegt (i.d.R).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/2450.notcached_5F00_007A57E1.png"&gt;&lt;img height="484" width="643" src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/3513.notcached_5F00_thumb_5F00_362F9D3B.png" alt="IIS7: feature delegation sample - caching settings are stored in local web.config file" border="0" title="IIS7: feature delegation sample - caching settings are stored in local web.config file" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="padding-bottom: 1pt; padding-left: 1pt; width: 175px; padding-right: 4pt; padding-top: 1pt; border: black 1pt solid;"&gt;&lt;span lang="DE"&gt;&lt;span style="font-family: courier new"&gt;Inetpub-Verzeichnis&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;Das C:\&lt;b&gt;inetpub&lt;/b&gt; Verzeichnis ist &lt;b&gt;das Lese- und Schreibverzeichnis des IIS&lt;/b&gt;. Es enth&amp;auml;lt folgende Unterverzeichnisse:&lt;/p&gt;
&lt;table border="1" style="width: 866px; border-collapse: collapse;"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="width: 130px; height: 22px;"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style="height: 22px;"&gt;
&lt;p&gt;Ordner&lt;/p&gt;
&lt;/td&gt;
&lt;td style="height: 22px;"&gt;
&lt;p&gt;Beschreibung&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td rowspan="6" valign="top" style="width: 130px;"&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/2746.inetpubextended_5F00_thumb_5F00_592FE8DE.png" alt="IIS7: inetpub folder extended" title="IIS7: inetpub folder extended" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="height: 22px;"&gt;
&lt;p&gt;C:\inetpub\AdminScripts&lt;/p&gt;
&lt;/td&gt;
&lt;td style="height: 22px;"&gt;
&lt;p&gt;VB Skript zur Administration der IIS Vorg&amp;auml;ngerversion (IIS6) - wg. &lt;b&gt;Kompatibilit&amp;auml;t&lt;/b&gt; - kommt mit den &amp;bdquo;IIS 6 Scripting Tools"&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;C:\inetpub\custerr&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Enth&amp;auml;lt die &lt;b&gt;Fehler-Seiten&lt;/b&gt; welche der IIS im Fehlerfall (z.B. File not found 404) dem Websiten Besucher schickt. Unterst&amp;uuml;tzt Mehrsprachigkeit. Mehr unter &lt;a href="http://learn.iis.net/page.aspx/267/how-to-use-http-detailed-errors-in-iis-70/"&gt;How to Use HTTP Detailed Errors in IIS 7.0&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;C:\inetpub\history&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Sicherheitsnetz: Die IIS &lt;b&gt;Konfiguration&lt;/b&gt; wird &lt;b&gt;automatisch&lt;/b&gt; bei &amp;Auml;nderungen &lt;b&gt;gesichert&lt;/b&gt;. Erm&amp;ouml;glicht den &amp;bdquo;&lt;b&gt;rollback&lt;/b&gt;" zu einer fr&amp;uuml;heren funktionierenden Konfiguration falls Fehler bei Einstellungen gemacht wurden.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;C:\inetpub\logs&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;Ordner f&amp;uuml;r IIS Log-Dateien aller Art, u.a. Web Zugriff- Log-Dateien und Fehlerlogs&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;C:\inetpub\temp&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;Zwischenspeicher&lt;/b&gt;-Verzeichnis u.a. um komprimierte Web-Dateien vorzuhalten oder f&amp;uuml;r bereits kompilierte ASP.NET Dateien&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;C:\inetpub\wwwroot&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;b&gt;Beherbergt das Verzeichnis f&amp;uuml;r die IIS7 Default Web Seite.&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;b&gt;&lt;span style="text-decoration: underline;"&gt;Anm&lt;/span&gt;&lt;/b&gt;&lt;span style="text-decoration: underline;"&gt;.:&lt;/span&gt; Standardm&amp;auml;&amp;szlig;ig wird der &lt;b&gt;Inetpub&lt;/b&gt; Ordner auf der &lt;b&gt;Systempartition&lt;/b&gt; installiert. Aus Sicherheitsgr&amp;uuml;nden mag es evtl. Sinn machen diesen Ordner zu &lt;b&gt;Verschieben&lt;/b&gt; siehe hierzu: &lt;a href="http://blogs.iis.net/thomad/archive/2008/02/10/moving-the-iis7-inetpub-directory-to-a-different-drive.aspx"&gt;IIS7: Moving the INETPUB directory to a different drive&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;&lt;em&gt;Welche Dienste bringt die IIS Installation?&lt;/em&gt;&lt;/h4&gt;
&lt;table cellpadding="2" cellspacing="0" border="1" style="width: 814px; border-collapse: collapse;"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;b&gt;Dienstname&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;b&gt;Prozessname&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;b&gt;Beschreibung&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;b&gt;Application Host Helper Service (AppHostSvc)&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;svchost.exe -k apphost&lt;/p&gt;
&lt;p&gt;(C:\Windows\system32\)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;Verantwortlich u.a. f&amp;uuml;r &lt;b&gt;automatische&lt;/b&gt; &lt;b&gt;Konfigurationssicherung&lt;/b&gt;. App -Pool -Konto -Mapping. (-&amp;gt; C:\inetpub\history)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Sinnvoller&lt;/b&gt; Dienst.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;b&gt;IIS Admin Services&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;inetinfo.exe&lt;/p&gt;
&lt;p&gt;(C:\Windows\system32\inetsrv\)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;b&gt;F&amp;uuml;r Kompatibilit&amp;auml;t&lt;/b&gt;: Bestandteil der &amp;bdquo;&lt;b&gt;IIS6&lt;/b&gt; Management Kompatibility" Features. Verantwortlich f&amp;uuml;r das schreiben in das &amp;bdquo;alte" IIS6 Konfig-System &amp;bdquo;metabase.xml". Nur erforderlich wenn der Windows SMTP Dienst oder der &amp;bdquo;alte" FTP-Dienst betrieben wird (also vor &lt;a href="http://www.iis.net/download/FTP"&gt;FTP7.5&lt;/a&gt;).&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;b&gt;Web Management Service (WMSVC)&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;wmsvc.exe&lt;/p&gt;
&lt;p&gt;(C:\Windows\system32\inetsrv\)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;Erm&amp;ouml;glicht die &lt;b&gt;remote&lt;/b&gt; &lt;b&gt;Verwaltung&lt;/b&gt; des IIS7 (via https). Nicht gestartet bei Default.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;b&gt;&lt;a href="http://learn.iis.net/page.aspx/101/#WAS"&gt;Windows Process Activation Service (WAS)&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;svchost.exe -k iissvcs&lt;/p&gt;
&lt;p&gt;(C:\Windows\system32\)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;b&gt;Verwaltet&lt;/b&gt; &lt;b&gt;Anwendungs&lt;/b&gt;-&lt;b&gt;Pool&lt;/b&gt; &lt;b&gt;Konfiguration&lt;/b&gt; und Web-Arbeitsprozesse (w3wp.exe) und startet diese ggf. (Prozess Aktivierung). Dieser Service ist f&amp;uuml;r den IIS &lt;b&gt;&lt;span style="text-decoration: underline;"&gt;unerl&amp;auml;sslich! Ben&amp;ouml;tigt auch f&amp;uuml;r &lt;a href="http://de.wikipedia.org/wiki/Windows_Communication_Foundation"&gt;WCF&lt;/a&gt; Anwendungen.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;b&gt;&lt;a href="http://learn.iis.net/page.aspx/101/#WWW"&gt;World Wide Web Publishing Service (W3SVC)&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;svchost.exe -k iissvcs&lt;/p&gt;
&lt;p&gt;(C:\Windows\system32\)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;b&gt;Konfiguriert&lt;/b&gt; und updated den &lt;b&gt;HTTP.sys.&lt;/b&gt; Informiert den WAS wenn eine http Anfrage eintrifft. Sammelt &lt;b&gt;Performance&lt;/b&gt; &lt;b&gt;Counter&lt;/b&gt; f&amp;uuml;r Websites.Dieser Service ist f&amp;uuml;r den IIS &lt;b&gt;unerl&amp;auml;sslich!&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;&lt;em&gt;Wichtige IIS7 Benutzer Konten &amp;amp; Gruppen:&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;Die unten aufgef&amp;uuml;hrten Benutzerkonten ben&amp;ouml;tigen Rechte auf die Ordner mit Website Inhalten siehe hierzu &lt;a href="http://learn.iis.net/page.aspx/583/secure-content-in-iis-through-file-system-acls/"&gt;Secure Content in IIS Through File System ACLs&lt;/a&gt; &lt;/p&gt;
&lt;table cellpadding="2" cellspacing="0" border="1" style="width: 992px; border-collapse: collapse;"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" style="width: 247px;"&gt;
&lt;p&gt;&lt;b&gt;Name&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" class="auto-style2" style="width: 66px;"&gt;
&lt;p&gt;Typ&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;b&gt;Bedeutung | Verwengungszweck&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td valign="top" style="width: 247px;"&gt;
&lt;p&gt;&lt;b&gt;IUSR&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;Siehe &lt;b&gt;&lt;a href="http://learn.iis.net/page.aspx/140/understanding-built-in-user-and-group-accounts-in-iis-7/"&gt;Understanding Built-In User and Group Accounts in IIS 7&lt;/a&gt; &lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" class="auto-style1" style="width: 66px;"&gt;
&lt;p&gt;Benutzer&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;Der IIS greift standardm&amp;auml;&amp;szlig;ig unter diesen &lt;b&gt;Benutzerkontext&lt;/b&gt; f&amp;uuml;r &lt;b&gt;anonyme&lt;/b&gt; Website &lt;b&gt;Besucher&lt;/b&gt; auf html Dateien zu.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" style="width: 247px;"&gt;
&lt;p&gt;&lt;b&gt;IIS_IUSRS&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;Siehe &lt;b&gt;&lt;a href="http://learn.iis.net/page.aspx/140/understanding-built-in-user-and-group-accounts-in-iis-7/"&gt;Understanding Built-In User and Group Accounts in IIS 7&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" class="auto-style1" style="width: 66px;"&gt;
&lt;p&gt;Gruppe&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;Webseiten verrichten ihre Arbeiten auf dem System in w3wp.exe Prozessen und sind, da i.d.Regel mehrere w3wp.exe's, voneinander isoliert (Prozessisolation). &lt;/p&gt;
&lt;p&gt;Die w3wp.exe Prozesse k&amp;ouml;nnen mit verschiedenen Benutzern betrieben werden um die Isolation der Seiten durch unterschiedliche Benutzerrechte weiter zu erh&amp;ouml;hen (z.B. durch unterschiedliche Rechte f&amp;uuml;r &lt;i&gt;w3wp.exeUser1&lt;/i&gt; auf &lt;i&gt;Verzeichnis X&lt;/i&gt; zu &lt;i&gt;w3wp.exeUser2&lt;/i&gt; auf &lt;i&gt;Verzeichnis Y&lt;/i&gt; ).&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Benutzer&lt;/b&gt; welche &lt;b&gt;dieser&lt;/b&gt; &lt;b&gt;Gruppe&lt;/b&gt; zugeteilt sind haben die notwendigen &lt;b&gt;Rechte&lt;/b&gt; auf &lt;b&gt;Dateien&lt;/b&gt; und &lt;b&gt;Systemressourcen&lt;/b&gt; &lt;b&gt;um f&amp;uuml;r den IIS als Anwendungs-Pool Identit&amp;auml;t&lt;/b&gt; (und damit w3wp.exe User) &lt;b&gt;zu&lt;/b&gt; &lt;b&gt;fungieren&lt;/b&gt;. &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td valign="top" style="width: 247px;"&gt;
&lt;p&gt;&lt;b&gt;ApplicationPoolIdentity z.B. "IIS APPPOOL\DefaultAppPool"&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;Mehr dazu unter &lt;b&gt;&lt;a href="http://learn.iis.net/page.aspx/624/application-pool-identities/"&gt;Application Pool Identities&lt;/a&gt;&lt;/b&gt; &lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" class="auto-style1" style="width: 66px;"&gt;
&lt;p&gt;Benutzer&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;Neuer Benutzeraccount , eingef&amp;uuml;hrt (f&amp;uuml;r IIS7.x) ab SP2 f&amp;uuml;r Windows Vista und Windows Server 2008.&lt;/p&gt;
&lt;p&gt;Ab diesen SP Stand k&amp;ouml;nnen Application Pools je unter einer eigenen quasi &lt;b&gt;dynamisch&lt;/b&gt; f&amp;uuml;r ihn &lt;b&gt;erzeugten&lt;/b&gt; Identit&amp;auml;t laufen. Vergibt man Zugriffsrechte auf Ordner pro &lt;b&gt;Application Pool Identit&amp;auml;t,&lt;/b&gt; erreicht man eine &lt;b&gt;einfache&lt;/b&gt; &lt;b&gt;Isolation&lt;/b&gt; der Application Pools untereinander und kann somit Websites voneinander sicher abgrenzen.&lt;/p&gt;
&lt;p&gt;Ist automatisch Mitglied in der IIS_IUSRS Gruppe. &lt;/p&gt;
&lt;p&gt;Sollte man sich ansehen grade wenn man Isolation von mehreren &lt;b&gt;Websiten&lt;/b&gt; auf ein und demselben System sicherstellen muss (z.B. in &lt;b&gt;Hosting&lt;/b&gt; &lt;b&gt;Szenarien&lt;/b&gt; bzw. &lt;b&gt;Betreiben&lt;/b&gt; &lt;b&gt;von&lt;/b&gt; &lt;b&gt;Websites&lt;/b&gt; &lt;b&gt;von&lt;/b&gt; &lt;b&gt;Dritten&lt;/b&gt;)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Jetzt geht&amp;rsquo;s los &amp;ndash; &amp;bdquo;Die erste Webseite.&amp;ldquo;&lt;/h3&gt;
&lt;p&gt;Start -&amp;gt; Eingabe von &amp;bdquo;inetmgr" &amp;ouml;ffnet die IIS Verwaltungskonsole. Wir w&amp;auml;hlen die Default Web Site aus und gelangen &amp;uuml;ber einen rechten Mouseklick + Explore in den f&amp;uuml;r die Website konfigurierten Inhalts-Ordner. Wir tauschen die vorhandenen Dateien gegen eine Beispiel Site bestehend aus statischen Inhalten (Html, Bilder, Stylesheet u.&amp;auml;): &lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/2376.default-website-inhalte-austauschen.png" alt="IIS7: Exchanging the contents of the default website" title="IIS7: Exchanging the contents of the default website" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Die Beispielseite finden Sie &lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/5633.samplesite1.zip" title="samplesite1.zip"&gt;hier&lt;/a&gt; zum download. &lt;/p&gt;
&lt;p&gt;Zum Anzeigen der Seite im Browser w&amp;auml;hlen wir die Option &amp;bdquo;Browse" vom Action-Men&amp;uuml;:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/1362.browsesite_5F00_12A2D309.png"&gt;&lt;img height="146" width="244" src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/8625.browsesite_5F00_thumb_5F00_4F7754DB.png" alt="IIS7: browse web site" border="0" title="IIS7: browse web site" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Der Internet Explorer startet und wir bekommen wahrscheinlich folgende Fehlermeldung:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/6746.403_5F00_5883E05C.png"&gt;&lt;img height="150" width="244" src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/1374.403_5F00_thumb_5F00_720B6D89.png" alt="403.13 error when no default document configured and directory browsing is disabled" border="0" title="403.13 error when no default document configured and directory browsing is disabled" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Grund f&amp;uuml;r diese Fehlermeldung ist:&lt;/p&gt;
&lt;p&gt;Der Besucher hat ein Verzeichnis angesurft (siehe URL http://localhost/), daher wird versucht dem Besucher eine Start Seite (z.b. index.htm) zur&amp;uuml;ckzuspielen. Dazu hat &lt;b&gt;der&lt;/b&gt; &lt;b&gt;IIS&lt;/b&gt; eine &lt;b&gt;Liste&lt;/b&gt; an &lt;b&gt;Default&lt;/b&gt; &lt;b&gt;Dokumenten&lt;/b&gt; (aka &lt;a href="http://en.wikipedia.org/wiki/Webserver_directory_index"&gt;Webserver directory index&lt;/a&gt;), die &lt;b&gt;definiert&lt;/b&gt; &lt;b&gt;welche&lt;/b&gt; &lt;b&gt;Dateien&lt;/b&gt; &lt;b&gt;einer&lt;/b&gt; &lt;b&gt;Seite&lt;/b&gt; &lt;b&gt;als&lt;/b&gt; m&amp;ouml;gliche &lt;b&gt;Startseiten&lt;/b&gt; &lt;b&gt;in&lt;/b&gt; &lt;b&gt;Betracht&lt;/b&gt; &lt;b&gt;kommen&lt;/b&gt;. Findet der IIS im Verzeichnis keine Datei welche in der Liste aufgef&amp;uuml;hrt wird versucht er das Verzeichnis als Ganzes aufzulisten, da dies aus Sicherheitsgr&amp;uuml;nden standardm&amp;auml;&amp;szlig;ig untersagt ist bekommen wir die Fehlermeldung 403 Forbidden.&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Abhilfe&lt;/span&gt;: Wir teilen dem IIS mit dass er die Seite &lt;b&gt;start.html&lt;/b&gt; in die &lt;b&gt;Default&lt;/b&gt; &lt;b&gt;Document&lt;/b&gt; &lt;b&gt;Liste&lt;/b&gt; &lt;b&gt;aufnehmen&lt;/b&gt; soll:&lt;/p&gt;
&lt;p&gt;Default Web Site ausw&amp;auml;hlen -&amp;gt; Doppelklick auf Default Document -&amp;gt; Add -&amp;gt; start.html&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/3426.defaultdocument_5F00_10097B7E.png" alt="IIS7: configuring a default document (aka directory index)" title="IIS7: configuring a default document (aka directory index)" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Anm.:&lt;/span&gt; Dieser Eintrag wird in eine &lt;b&gt;lokale&lt;/b&gt; (also im Ordner der Website) &lt;b&gt;web.config&lt;/b&gt; Datei geschrieben, d.h. man h&amp;auml;tte auch die &lt;b&gt;Einstellung&lt;/b&gt; direkt &lt;b&gt;mit&lt;/b&gt; einem &lt;b&gt;Texteditor&lt;/b&gt; machen k&amp;ouml;nnen. Das ist kein absonderlicher Weg und dazu ist &lt;b&gt;kein&lt;/b&gt; &lt;b&gt;Neustart&lt;/b&gt; &lt;b&gt;der&lt;/b&gt; &lt;b&gt;Website&lt;/b&gt; &lt;b&gt;notwendig&lt;/b&gt; - sondernd der IIS reagiert automatisch &amp;Auml;nderungen in der web.config Datei. Warum?:&amp;nbsp; Damit haben &lt;b&gt;Entwickler&lt;/b&gt; welche z.B. nur Dateien per FTP hochladen k&amp;ouml;nnen (und keinen anderen Zugang zu Verwaltungstools haben) &lt;b&gt;die&lt;/b&gt; &lt;b&gt;M&amp;ouml;glichkeit&lt;/b&gt; dem &lt;b&gt;Webserver&lt;/b&gt; &lt;b&gt;Einstellungen&lt;/b&gt; &lt;b&gt;f&amp;uuml;r&lt;/b&gt; die &lt;b&gt;eigene&lt;/b&gt; &lt;b&gt;Website selbst zu regeln.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Greifen wir nun auf unsere Website mit &lt;a href="http://localhost/"&gt;http://localhost/&lt;/a&gt; zu, erscheint folgende gew&amp;uuml;nschte Ansicht:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/4011.mysite_5F00_0A1EB218.png" alt="sample site 1" title="sample site 1" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&amp;bdquo;Noch eine Website anlegen!&amp;ldquo;&lt;/h3&gt;
&lt;p&gt;Auf &lt;b&gt;einem&lt;/b&gt; IIS lassen sich nat&amp;uuml;rlich &lt;b&gt;mehrere&lt;/b&gt; &lt;b&gt;Websites&lt;/b&gt; anlegen. Die Frage &amp;bdquo;&lt;b&gt;Wieviele&lt;/b&gt;?" l&amp;auml;&amp;szlig;t sich nicht generell beantworten, da dies davon &lt;b&gt;abh&amp;auml;ngig&lt;/b&gt; ist &lt;b&gt;wie&lt;/b&gt; &lt;b&gt;stark&lt;/b&gt; die &lt;b&gt;Websites&lt;/b&gt; den &lt;b&gt;Server&lt;/b&gt; &lt;b&gt;beanspruchen&lt;/b&gt;. Soviel sei jedoch gesagt, bei Internet Service Providern k&amp;ouml;nnen das schon mal &lt;b&gt;hunderte&lt;/b&gt; &lt;b&gt;bis&lt;/b&gt; wenige &lt;b&gt;tausende&lt;/b&gt; sein.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Es gibt 3 Parameter welche eine IIS-Website eindeutig bestimmen: Die IP Adresse, den Port und Host Namen. Das Triplet IP:Port:Hostname wird als Binding bezeichnet&lt;/b&gt;:&lt;/p&gt;
&lt;table cellpadding="2" cellspacing="0" border="1" style="width: 941px; border-collapse: collapse;"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" style="width: 92px;"&gt;
&lt;p&gt;&lt;b&gt;Binding Parameter&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="width: 278px;"&gt;
&lt;p&gt;&lt;b&gt;Beispiele&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;b&gt;Bedeutung&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td valign="top" style="width: 92px;"&gt;
&lt;p&gt;&lt;b&gt;IP Adresse&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="width: 278px;"&gt;
&lt;p&gt;&lt;b&gt;All Unassigned&lt;/b&gt;&amp;nbsp; oder &lt;b&gt;*&lt;/b&gt;&amp;nbsp; Alle auf dem Server vohandenen IPs&lt;/p&gt;
&lt;p&gt;&lt;b&gt;192.168.2.1&lt;/b&gt; IPv4&amp;nbsp; Adresse&lt;/p&gt;
&lt;p&gt;&lt;b&gt;2a01:110:8:f001:200:5efe:65.53.236.86 &lt;/b&gt;Ipv6 Adresse&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;Die IP ist quasi die &amp;sbquo;&lt;i&gt;Telefonnummer&lt;/i&gt;' des Servers, davon kann ein Server mehrere haben. Einzelne Websites k&amp;ouml;nnen auf eine, mehrere oder alle IP Adressen &amp;sbquo;h&amp;ouml;ren'.&amp;nbsp; Egal ob Ipv4 oder Ipv6.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" style="width: 92px;"&gt;
&lt;p&gt;&lt;b&gt;Port&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="width: 278px;"&gt;
&lt;p&gt;&lt;b&gt;80&lt;/b&gt; Standardport f&amp;uuml;r http&lt;/p&gt;
&lt;p&gt;&lt;b&gt;443&lt;/b&gt; Standardport f&amp;uuml;r https&lt;/p&gt;
&lt;p&gt;Oder andere&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;Die &amp;sbquo;&lt;i&gt;Durchwahlnummer&lt;/i&gt;'&lt;/p&gt;
&lt;p&gt;I.d. Regel w&amp;uuml;rde man im Browser den Port mit bei der URL angeben z.B. &lt;a href="http://www.microsoft.com/"&gt;http://www.microsoft.com:80&lt;/a&gt; macht kein Mensch - au&amp;szlig;er wenn kein Standardport verwendet wird (z.B. AdministrationsSite welche nicht f&amp;uuml;r jedermann gleich sichtbar sein soll)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td valign="top" style="width: 92px;"&gt;
&lt;p&gt;&lt;b&gt;Host Name&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="width: 278px;"&gt;
&lt;p&gt;&lt;b&gt;&lt;a href="http://www.microsoft.com/"&gt;www.microsoft.com&lt;/a&gt;&lt;/b&gt;&amp;nbsp; Fully Qualified Domain Name&lt;/p&gt;
&lt;p&gt;&lt;b&gt;bfrank7&lt;/b&gt; Host Name&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&amp;bdquo;&lt;i&gt;Kann ich bitte den Klaus sprechen?&lt;/i&gt;":&lt;/p&gt;
&lt;p&gt;Beim Aufruf von &lt;a href="http://www.microsoft.com/"&gt;http://www.microsoft.com&lt;/a&gt; im Browser wird in einem Teils des Nachrichtenkopfes der http Anfrage dem sog. &lt;a href="http://de.wikipedia.org/wiki/Host_Header"&gt;Host Header&lt;/a&gt; mit dem String &amp;bdquo;www.microsoft.com"&amp;nbsp; geschrieben.&amp;nbsp; Der IIS wertet diesen Header aus leitet die Anfrage an die entsprechende Website weiter. D.h diverse Websites k&amp;ouml;nnen dieselbe IP haben m&amp;uuml;ssen aber unterschiedliche Hostnamen haben. Als Host Header funktionieren FQDN's (Internet). Im Intranet finden auch Host | Maschine-Namen Verwendung.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Vorsicht&lt;/b&gt;: &lt;b&gt;Host Namen lassen sich nur mit Einschr&amp;auml;nkung f&amp;uuml;r https verwenden&lt;/b&gt;. Siehe dazu:&lt;span lang="de"&gt; &lt;/span&gt;&lt;a href="http://blogs.iis.net/thomad/archive/2008/01/25/ssl-certificates-on-sites-with-host-headers.aspx"&gt;SSL certificates on Sites with Host Headers&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Bei der Erstellung von &lt;b&gt;mehreren Websites&lt;/b&gt; auf &lt;b&gt;einem&lt;/b&gt; &lt;b&gt;IIS&lt;/b&gt; ist &lt;b&gt;darauf&lt;/b&gt; zu achten, &lt;b&gt;da&amp;szlig;&lt;/b&gt; &lt;b&gt;die&lt;/b&gt; &lt;b&gt;Bindings&lt;/b&gt; &lt;b&gt;sich&lt;/b&gt; &lt;b&gt;voneinander&lt;/b&gt; &lt;b&gt;unterscheiden&lt;/b&gt;. Ansonsten l&amp;auml;&amp;szlig;t der IIS die Website erst gar nicht starten, z.B.:&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/8712.cannotstartwebsite_5F00_48744FFE.png" alt="IIS7: Error message cannot start website" title="IIS7: Error message cannot start website" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;M&amp;ouml;gliche Konstellation von mehreren Websites auf einem IIS:&lt;/p&gt;
&lt;table cellpadding="2" cellspacing="0" border="1" style="width: 946px; border-collapse: collapse;"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" style="width: 259px;"&gt;
&lt;p&gt;&lt;b&gt;Konstellation&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;b&gt;Beispielszenarien&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td valign="top" style="width: 259px;"&gt;
&lt;p&gt;&lt;b&gt;Gleiche IP, gleicher Port und &lt;i&gt;unterschiedlicher&lt;/i&gt; Hostname&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;H&amp;auml;ufig anzutreffen auf Internet Webservern mit einer IP auf dem mehrere unterschiedliche Domains gehostet sind, welche alle &amp;uuml;ber den http Standardport angesprochen werden sollen. &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" style="width: 259px;"&gt;
&lt;p&gt;&lt;b&gt;Gleiche IP, &lt;i&gt;unterschiedlicher&lt;/i&gt; Port&amp;nbsp; und gleicher (oder kein) Hostname&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;Seltener anzutreffen, gut zum mal schnell testen. Die Ports m&amp;uuml;ssen explizit in der URL im Browser angegeben werden z.B. &lt;a href="http://www.xyz.de:8080/"&gt;http://www.xyz.de:8080&lt;/a&gt; und http auf nicht Standardports werden ggf. von Firewalls blockiert bzw. m&amp;uuml;ssen explizit erlaubt weren.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td valign="top" style="width: 259px;"&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;Unterschiedliche&lt;/i&gt; IP, gleicher Port, und gleicher (oder kein) Hostname&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;Z.B. Wenn mehrere Websites auf einem Server via verschl&amp;uuml;sseltem https erreichbar sein m&amp;uuml;ssen&amp;nbsp; (z.B. mehrere Internet shops auf einem Server)&lt;/p&gt;
&lt;p&gt;Anm.: Bei Verwendung von https machen Hostnamen nur im Ausnahmefall Sinn. Siehe dazu: &lt;a href="http://blogs.iis.net/thomad/archive/2008/01/25/ssl-certificates-on-sites-with-host-headers.aspx"&gt;SSL certificates on Sites with Host Headers&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Wir erstellen nun eine 2te Website die sich zur 1sten bei im Port (80 vs. 8080) unterscheidet. Default Web Site ausw&amp;auml;hlen -&amp;gt; rechter Mouseklick auf Sites&amp;nbsp; -&amp;gt; Add Web Site -&amp;gt; Folgende Einstellungen:&lt;/p&gt;
&lt;div style="border-bottom: #f2f2f2 4.5pt solid; border-left: #f2f2f2 4.5pt solid; padding-bottom: 1pt; padding-left: 4pt; padding-right: 4pt; background: #f2f2f2; border-top: #f2f2f2 4.5pt solid; border-right: #f2f2f2 4.5pt solid; padding-top: 1pt; mso-element: para-border-div; mso-background-themecolor: background1; mso-border-themecolor: background1; mso-border-themeshade: 242; mso-border-shadow: yes; mso-background-themeshade: 242"&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-family: courier new"&gt;Site name: myothersite&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-family: courier new"&gt;Physical path: c:\webs\myothersite&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt"&gt;&lt;span style="font-family: courier new"&gt;Port: 8080&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/0714.add2ndsite_5F00_25D01183.png" alt="IIS7: add a 2nd web site" title="IIS7: add a 2nd web site" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;Die neu erstellte &lt;i&gt;myothersite&lt;/i&gt; bekommt die ID 2 zugewiesen und ist bereits gestartet. Man beachte, da&amp;szlig; als Website Verzeichnis ein neu angelegter Ordner (c:\webs\myothersite) angegeben worden ist. &lt;/p&gt;
&lt;p&gt;Dieser Ordner wird mit Inhalten gef&amp;uuml;llt (Beispiesite download &lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/3377.samplesite2.zip" title="samplesite2.zip"&gt;hier&lt;/a&gt;):&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/5516.contentforsecondwebsite_5F00_14BBBDD3.png" alt="IIS7: exchange content for second website" title="IIS7: exchange content for second website" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Und bekommt abschlie&amp;szlig;end noch die f&amp;uuml;r den &lt;b&gt;IIS&lt;/b&gt; &lt;b&gt;notwendigen&lt;/b&gt; &lt;b&gt;Benutzerrechte&lt;/b&gt;:&lt;/p&gt;
&lt;p&gt;Jeweils &lt;b&gt;Read &amp;amp; Execute&lt;/b&gt; f&amp;uuml;r den Benutzer &lt;b&gt;IUSR&lt;/b&gt; und die Gruppe &lt;b&gt;IIS_IUSRS&lt;/b&gt; auf den &lt;b&gt;Ordner&lt;/b&gt; mit den Web-Inhalten:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/8156.IUSRPermissions_5F00_7719BD06.png" alt="IIS7: IUSR Permissions for a website folder" title="IIS7: IUSR Permissions for a website folder" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;Ein Aufruf von &lt;a href="http://localhost:8080/"&gt;http://localhost:8080/&lt;/a&gt;im lokalen Internet Explorer liefert:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/7266.myothersite_5F00_1B9B24BE.png" alt="sample site 2" title="sample site 2" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;Damit haben wir erstmal was es braucht um &lt;b&gt;mehrere&lt;/b&gt; &lt;b&gt;anonyme&lt;/b&gt; &lt;b&gt;Websites&lt;/b&gt; auf &lt;b&gt;einer&lt;/b&gt; &lt;b&gt;IIS&lt;/b&gt; Installation &lt;b&gt;einzurichten&lt;/b&gt;. Weitere Einstellungen des IIS gibt es in nachfolgenden Eintr&amp;auml;gen. &lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3387943" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author><category term="iis" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/iis/" /><category term="training" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/training/" /><category term="IIS fuer Einsteiger" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/IIS+fuer+Einsteiger/" /></entry><entry><title>IIS für Einsteiger Teil 1: Installation</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2011/02/17/iis-f-252-r-einsteiger-teil-1-installation.aspx" /><link rel="enclosure" type="application/vnd.openxmlformats-officedocument.word" length="5713067" href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-03-38-79-42/IIS-f_FC00_r-Einsteiger_2D00_Teil1.docx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2011/02/17/iis-f-252-r-einsteiger-teil-1-installation.aspx</id><published>2011-02-17T11:38:00Z</published><updated>2011-02-17T11:38:00Z</updated><content type="html">&lt;p&gt;
&lt;object height="384" type="application/x-silverlight" width="512" data="data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAADqNAAAsCcAAAAAAAAAAAAAAAAAAAAAAAB+AAAAaAB0AHQAcAA6AC8ALwBiAGYAcgBhAG4AawAuAGMAbwBkAGUAZABhAHoAdQByAGUALgBkAGUALwBiAGwAbwBnAC8AdgBpAGQAZQBvAC8ATQBlAGQAaQBhAFAAbABhAHkAZQByAFQAZQBtAHAAbABhAHQAZQAuAHgAYQBwAAAAPAAAAAAAAAAmAAAAbwBuAFMAaQBsAHYAZQByAGwAaQBnAGgAdABFAHIAcgBvAHIAAAAAAAAAAAAAAAAAAAAAAAAAfgMAAHAAbABhAHkAZQByAFMAZQB0AHQAaQBuAGcAcwAgAD0APABQAGwAYQB5AGwAaQBzAHQAPgA8AEEAdQB0AG8ATABvAGEAZAA+AGYAYQBsAHMAZQA8AC8AQQB1AHQAbwBMAG8AYQBkAD4APABBAHUAdABvAFAAbABhAHkAPgBmAGEAbABzAGUAPAAvAEEAdQB0AG8AUABsAGEAeQA+ADwASQB0AGUAbQBzAD4APABQAGwAYQB5AGwAaQBzAHQASQB0AGUAbQA+ADwATQBlAGQAaQBhAFMAbwB1AHIAYwBlAD4AaAB0AHQAcAA6AC8ALwBiAGYAcgBhAG4AawAuAGMAbwBkAGUAZABhAHoAdQByAGUALgBkAGUALwBiAGwAbwBnAC8AdgBpAGQAZQBvAC8AYwBvAG4AdABlAG4AdAAvAEkASQBTADcAJQAyADAAZgD8AHIAJQAyADAARQBpAG4AcwB0AGUAaQBnAGUAcgAlADIAMAAtACUAMgAwAEkAbgBzAHQAYQBsAGwAYQB0AGkAbwBuAC4AdwBtAHYAPAAvAE0AZQBkAGkAYQBTAG8AdQByAGMAZQA+ADwAVABoAHUAbQBiAFMAbwB1AHIAYwBlAD4AaAB0AHQAcAA6AC8ALwBiAGYAcgBhAG4AawAuAGMAbwBkAGUAZABhAHoAdQByAGUALgBkAGUALwBiAGwAbwBnAC8AdgBpAGQAZQBvAC8AYwBvAG4AdABlAG4AdAAvAEkASQBTADcAJQAyADAAZgAlAEMAMwAlAEIAQwByACUAMgAwAEUAaQBuAHMAdABlAGkAZwBlAHIAJQAyADAALQAlADIAMABJAG4AcwB0AGEAbABsAGEAdABpAG8AbgBfAFQAaAB1AG0AYgAuAGoAcABnADwALwBUAGgAdQBtAGIAUwBvAHUAcgBjAGUAPgA8AFQAaQB0AGwAZQA+AEkASQBTADcAJQAyADAAZgAlAEMAMwAlAEIAQwByACUAMgAwAEUAaQBuAHMAdABlAGkAZwBlAHIAJQAyADAALQAlADIAMABJAG4AcwB0AGEAbABsAGEAdABpAG8AbgA8AC8AVABpAHQAbABlAD4APAAvAFAAbABhAHkAbABpAHMAdABJAHQAZQBtAD4APAAvAEkAdABlAG0AcwA+ADwALwBQAGwAYQB5AGwAaQBzAHQAPgAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAAAAAAAYAAAANAAuADAALgA1ADAANAAwADEALgAwAAAACgAAAHQAcgB1AGUAAAD//wAAAAAAAAAAAAA="&gt;
&lt;param value="http://bfrank.codedazure.de/blog/video/MediaPlayerTemplate.xap" name="source" /&gt;
&lt;param value="onSilverlightError" name="onerror" /&gt;
&lt;param value="true" name="autoUpgrade" /&gt;
&lt;param value="4.0.50401.0" name="minRuntimeVersion" /&gt;
&lt;param value="true" name="enableHtmlAccess" /&gt;
&lt;param value="true" name="enableGPUAcceleration" /&gt;
&lt;param value="false" name="allowHtmlPopupWindow" /&gt;
&lt;param value="false" name="enableFrameRateCounter" /&gt;
&lt;param value="playerSettings =&amp;lt;Playlist&amp;gt;&amp;lt;AutoLoad&amp;gt;false&amp;lt;/AutoLoad&amp;gt;&amp;lt;AutoPlay&amp;gt;false&amp;lt;/AutoPlay&amp;gt;&amp;lt;Items&amp;gt;&amp;lt;PlaylistItem&amp;gt;&amp;lt;MediaSource&amp;gt;http://bfrank.codedazure.de/blog/video/content/IIS7%20f&amp;uuml;r%20Einsteiger%20-%20Installation.wmv&amp;lt;/MediaSource&amp;gt;&amp;lt;ThumbSource&amp;gt;http://bfrank.codedazure.de/blog/video/content/IIS7%20f%C3%BCr%20Einsteiger%20-%20Installation_Thumb.jpg&amp;lt;/ThumbSource&amp;gt;&amp;lt;Title&amp;gt;IIS7%20f%C3%BCr%20Einsteiger%20-%20Installation&amp;lt;/Title&amp;gt;&amp;lt;/PlaylistItem&amp;gt;&amp;lt;/Items&amp;gt;&amp;lt;/Playlist&amp;gt;" name="initparams" /&gt;
&lt;/object&gt;
&lt;/p&gt;
&lt;h3&gt;Generelles zum IIS 7.x (Setup)&lt;/h3&gt;
&lt;p&gt;Wie sich der folgenden Tabelle entnehmen l&amp;auml;sst gibt es den IIS schon geraume Zeit: &lt;/p&gt;
&lt;table cellpadding="2" cellspacing="0" border="0" style="width: 400px;"&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" style="width: 657px; border-collapse: collapse;"&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;
&lt;td width="200" valign="top"&gt;&lt;b&gt;OS&lt;/b&gt; &lt;/td&gt;
&lt;td width="217" valign="top"&gt;&lt;b&gt;IIS Version by &lt;a href="http://en.wikipedia.org/wiki/List_of_HTTP_headers"&gt;http server header&lt;/a&gt; &lt;/b&gt;&lt;/td&gt;
&lt;td width="238" valign="top"&gt;&lt;b&gt;Jahr&lt;span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td width="200" valign="top"&gt;&lt;b&gt;Windows NT 4 Server&lt;/b&gt; &lt;/td&gt;
&lt;td width="217" valign="top"&gt;Microsoft-IIS/4.0 &lt;/td&gt;
&lt;td width="238" valign="top"&gt;1998 (als Teil des NT 4 Option Packs) &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="200" valign="top"&gt;&lt;b&gt;Windows Server 2000&lt;span&gt;&lt;/span&gt;&lt;/b&gt; &lt;/td&gt;
&lt;td width="217" valign="top"&gt;Microsoft-IIS/5.0 &lt;/td&gt;
&lt;td width="238" valign="top"&gt;2000 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td width="200" valign="top"&gt;&lt;strong&gt;Windows XP &lt;/strong&gt;&lt;/td&gt;
&lt;td width="217" valign="top"&gt;Microsoft-IIS/5.1 &lt;/td&gt;
&lt;td width="238" valign="top"&gt;2001 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="200" valign="top"&gt;&lt;strong&gt;Windows Server 2003&lt;/strong&gt; &lt;/td&gt;
&lt;td width="217" valign="top"&gt;Microsoft-IIS/6.0 &lt;/td&gt;
&lt;td width="238" valign="top"&gt;2003 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td width="200" valign="top"&gt;&lt;strong&gt;Windows Vista&lt;/strong&gt; &lt;/td&gt;
&lt;td width="217" valign="top"&gt;Microsoft-IIS/7.0 &lt;/td&gt;
&lt;td width="238" valign="top"&gt;2006 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="200" valign="top"&gt;&lt;strong&gt;Windows Server 2008&lt;/strong&gt; &lt;/td&gt;
&lt;td width="217" valign="top"&gt;Microsoft-IIS/7.0 &lt;/td&gt;
&lt;td width="238" valign="top"&gt;2008 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td width="200" valign="top"&gt;&lt;strong&gt;Windows 7&lt;/strong&gt; &lt;/td&gt;
&lt;td width="217" valign="top"&gt;Microsoft-IIS/7.5 &lt;/td&gt;
&lt;td width="238" valign="top"&gt;2009 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="200" valign="top"&gt;&lt;strong&gt;Windows Server 2008 R2&lt;/strong&gt; &lt;/td&gt;
&lt;td width="217" valign="top"&gt;Microsoft-IIS/7.5 &lt;/td&gt;
&lt;td width="238" valign="top"&gt;2009 &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;b&gt;Nach NT4&lt;/b&gt; wurden die &lt;b&gt;IIS&lt;/b&gt; &lt;b&gt;Versionen&lt;/b&gt; an das &lt;b&gt;OS&lt;/b&gt; &lt;b&gt;gekoppelt&lt;/b&gt;, d.h. h&amp;ouml;here Versionen des IIS bekomme ich nur mit Installation einer aktuelleren Version von Windows. Einzelne Installer des IIS f&amp;uuml;r fr&amp;uuml;here Betriebsystemversionen stehen nicht zur Verf&amp;uuml;gung. Beim &lt;b&gt;Upgrade&lt;/b&gt; eines &lt;b&gt;OS&lt;/b&gt; auf eine h&amp;ouml;rere Version wird &lt;b&gt;auch&lt;/b&gt; der &lt;b&gt;IIS&lt;/b&gt; mit &lt;b&gt;upgegradet&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Aktuell&lt;/b&gt; sind die Versionen &lt;b&gt;7.x&lt;/b&gt; welche es sowohl &lt;b&gt;f&amp;uuml;r&lt;/b&gt; &lt;b&gt;Client&lt;/b&gt; als auch &lt;b&gt;Server&lt;/b&gt; &lt;b&gt;Betriebsysteme&lt;/b&gt; gibt, der &lt;b&gt;Vorteil&lt;/b&gt;: Entwickler haben &lt;b&gt;keinen&lt;/b&gt; &lt;b&gt;Versions&lt;/b&gt;- und (vernachl&amp;auml;ssigbaren) Feature-&lt;b&gt;Bruch&lt;/b&gt; mehr &lt;b&gt;zwischen&lt;/b&gt; den &lt;b&gt;Entwicklungs&lt;/b&gt;- und &lt;b&gt;Betriebs&lt;/b&gt;-&lt;b&gt;Webserver&lt;/b&gt; mehr.&lt;/p&gt;
&lt;p&gt;Die &lt;a href="http://learn.iis.net/page.aspx/28/install-iis-7-on-windows-vista-and-windows-7/"&gt;&lt;b&gt;Installation&lt;/b&gt; von &lt;b&gt;IIS7.x&lt;/b&gt; auf dem &lt;b&gt;Client OS&lt;/b&gt;&lt;/a&gt; &lt;b&gt;unterscheidet&lt;/b&gt; sich nur &lt;b&gt;geringf&amp;uuml;gig&lt;/b&gt; von &lt;a href="http://learn.iis.net/page.aspx/29/installing-iis-7-on-windows-server-2008-or-windows-server-2008-r2/"&gt;der Installation des IIS7.x auf &lt;b&gt;Windows Server 2008&lt;/b&gt; (R2)&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;W&amp;auml;hrend man beim Client OS den IIS7.x &amp;uuml;ber die Option Windows Features installiert, &lt;/p&gt;
&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img height="210" width="240" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/0880.061410_5F00_1512_5F00_2.png" alt="Turn Windows features on or off dialog" title="Turn Windows features on or off dialog" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;Bekommt man beim Server OS den &lt;b&gt;IIS7&lt;/b&gt;.x &amp;uuml;ber den &lt;a href="http://en.wikipedia.org/wiki/Windows_Server_2008#Server_Manager"&gt;&lt;b&gt;Server Manager&lt;/b&gt;&lt;/a&gt; auf das System. Beim Server OS lassen sich die Internet Informationsdienste einfach durch Auswahl der &lt;b&gt;Webserver&lt;/b&gt; &lt;b&gt;Rolle&lt;/b&gt; &lt;b&gt;installieren&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/3240.clip_5F00_image006_5F00_420AA0E6.jpg" alt="Windows Server 2008 Server Manager window" title="Windows Server 2008 Server Manager window" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;Das &lt;b&gt;Setup&lt;/b&gt; ist in beiden F&amp;auml;llen deutlich &lt;b&gt;granularer&lt;/b&gt; als im Vergleich zu fr&amp;uuml;heren Versionen des IIS, so hat der &lt;b&gt;IIS7&lt;/b&gt; (Windows Server 2008) mehr als &lt;b&gt;40 ausw&amp;auml;hlbare Sub-Features&lt;/b&gt; (bei IIS6 waren es &amp;lt; 20).&lt;/p&gt;
&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/1830.061410_5F00_1512_5F00_13.png" alt="Windows Server 2008: Select Role Services dialog" title="Windows Server 2008: Select Role Services dialog" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;Kontrolle ist gut, auch in punkto &lt;b&gt;Sicherheit&lt;/b&gt; &lt;b&gt;ist weniger &lt;/b&gt;installierte &lt;i&gt;Komponenten&lt;/i&gt; &lt;b&gt;mehr,&lt;/b&gt; aber&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;"&amp;hellip;welche Standard Rollendienste f&amp;uuml;r den IIS brauch ich denn?"&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;It depends, deswegen der Tipp f&amp;uuml;r die, die es genau wissen wollen|m&amp;uuml;ssen: Eine Beschreibung der einzelnen Features werden im Installations Dialog angezeigt, bzw. k&amp;ouml;nnen &amp;uuml;ber die eingebaute Hilfe abgefragt werden:&lt;/p&gt;
&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/2604.clip_5F00_image010_5F00_5E94663B.jpg" alt="Windows Server 2008: Select Role Services help" title="Windows Server 2008: Select Role Services help" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;Ebenfalls muss man &lt;b&gt;keine &lt;/b&gt;Angst haben &lt;b&gt;abh&amp;auml;ngige Komponenten zu&lt;/b&gt; &lt;b&gt;vergessen &lt;/b&gt;&amp;ndash; das &lt;b&gt;Setup &lt;/b&gt;ist so schlau und &lt;b&gt;zieht &lt;/b&gt;die &lt;b&gt;Abh&amp;auml;ngigkeiten automatisch &lt;/b&gt;mit.&lt;/p&gt;
&lt;h3&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;Ein "Serviervorschlag"&lt;/h3&gt;
&lt;p&gt;&amp;bdquo;Was oder welche Serverrollendienste sollte ich also bei einer Standardinstallation ausw&amp;auml;hlen? Hier meine Auswahl in Anlehnung an folgenden &lt;a href="http://learn.iis.net/page.aspx/192/installing-the-web-server-role/"&gt;link&lt;/a&gt;&amp;ldquo;:&lt;/p&gt;
&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;span style="color: #000000"&gt;&lt;img src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/2475.image_5F00_thumb_5F00_2E5287BD.png" border="0" /&gt;&amp;nbsp;&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;Weitere Infos und beschreibungen zu den Einzelnen Features finden sich &lt;a href="http://learn.iis.net/page.aspx/188/preparing-iis-70-for-shared-hosting/"&gt;hier&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Wer keine Lust hat zu klicken hier die Befehlszeilenvariante:&lt;/p&gt;
&lt;samp&gt;
&lt;div style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 1pt; padding-left: 4pt; padding-right: 4pt; background: black; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 1pt; mso-element: para-border-div; mso-background-themecolor: text1"&gt;
&lt;p class="result" style="margin: 0cm 0cm 0pt; background: black; mso-background-themecolor: text1"&gt;&lt;strong&gt;&lt;span style="color: #bfbfbf"&gt;&lt;samp&gt;&lt;span lang="DE" style="mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: de"&gt;start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ASPNET;IIS-NetFxExtensibility;IIS-ASP;IIS-CGI;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-Security;IIS-BasicAuthentication;IIS-URLAuthorization;IIS-IPSecurity;IIS-RequestFiltering;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-ManagementScriptingTools;IIS-ManagementService;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI;IIS-IIS6ManagementCompatibility;IIS-Metabase;IIS-WMICompatibility;IIS-LegacyScripts;IIS-LegacySnapIn&lt;/span&gt;&lt;/samp&gt;&lt;span lang="DE" style="mso-ansi-language: de"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/samp&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="text-decoration: underline;"&gt;Wichtig&lt;/span&gt;&lt;/b&gt;: &lt;b&gt;Kein Stress wenn man was vergessen ha&lt;/b&gt;t. Es lassen sich &lt;b&gt;jederzeit&lt;/b&gt; &lt;b&gt;Features&lt;/b&gt; im &lt;b&gt;Server Manager&lt;/b&gt; &lt;b&gt;nachtr&amp;auml;glich&lt;/b&gt; &lt;b&gt;hinzuf&amp;uuml;gen&lt;/b&gt; oder entfernen.&lt;/p&gt;
&lt;p&gt;Weiterer Vorteil von Windows Server 2008: Die f&amp;uuml;r die IIS installation notwendigen Dateien sind bereits bei der Installation des OS mit auf dem System abgelegt worden, d.h. &lt;b&gt;das Installieren des IIS&lt;/b&gt; oder aktivieren von Sub-Features &lt;b&gt;braucht keine Installations DVD&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Die weitere IIS7.x Installation in Bildern:&lt;/h3&gt;
&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/1830.061410_5F00_1512_5F00_13.png" alt="Windows Server 2008: Select Role Services dialog" title="Windows Server 2008: Select Role Services dialog" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/3312.061410_5F00_1512_5F00_14.png" alt="Windows Server 2008: Confirm Installation Selections dialog" title="Windows Server 2008: Confirm Installation Selections dialog" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/2210.clip_5F00_image0224_5F00_49A22221.gif" alt="Windows Server 2008: Progress dialog" title="Windows Server 2008: Progress dialog" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/3386.clip_5F00_image0244_5F00_11A02E3E.gif" alt="Windows Server 2008: Confirm Installation Results dialog" title="Windows Server 2008: Confirm Installation Results dialog" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/7827.clip_5F00_image0264_5F00_6A193C06.gif" alt="Windows Server 2008 Server Manager - selected Web Server Role window" title="Windows Server 2008 Server Manager - selected Web Server Role window" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;h3&gt;IIS installieren f&amp;uuml;r die Befehlszeilen-Liebhaber&lt;/h3&gt;
&lt;p&gt;Ohne GUI, f&amp;uuml;r unattended Setups, n&amp;uuml;tzlich f&amp;uuml;r konsistente Massen-Installationen -Hier die Befehlszeilen Alternativen: &lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" style="width: 657px; border-collapse: collapse;"&gt;
&lt;tbody valign="top"&gt;
&lt;/tbody&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="214" valign="top"&gt;
&lt;p&gt;&lt;b&gt;Tool&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="214" valign="top"&gt;
&lt;p&gt;&lt;b&gt;OS Variante / Edition&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="214" valign="top"&gt;
&lt;p&gt;&lt;b&gt;Beschreibung&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td width="214" valign="top"&gt;
&lt;p&gt;&lt;b&gt;pkgmgr.exe&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="214" valign="top"&gt;
&lt;p&gt;Windows Vista, Windows 7, Windows Server 2008 (R2)&lt;/p&gt;
&lt;/td&gt;
&lt;td width="214" valign="top"&gt;
&lt;p&gt;&lt;b&gt;Windows Package Manager&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Cmd line Werkzeug zum Installieren,Enfernen und Updaten von Windows Paketen. Seit Vista wurde auf ein Image basiertes Setup umgestellt in dem Funktionalit&amp;auml;ten in Komponenten paketiert wurden.Sehr m&amp;auml;chtig siehe &lt;a href="http://technet.microsoft.com/en-us/library/cc749302(WS.10).aspx"&gt;Package Manager Technical Reference&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Beispiele&lt;/span&gt;:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://learn.iis.net/page.aspx/132/install-iis-7-from-the-command-line/"&gt;Installing IIS 7.0 from the Command Line&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="214" valign="top"&gt;
&lt;p&gt;&lt;b&gt;servermanagercmd.exe&lt;/b&gt;&lt;b&gt;&lt;sup&gt;&amp;dagger;)&lt;/sup&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&amp;dagger;) &lt;a href="http://technet.microsoft.com/de-de/library/ee681714(WS.10).aspx"&gt;The ServerManagerCmd.exe command-line tool has been deprecated in Windows Server&amp;reg; 2008 R2.&lt;/a&gt;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="214" valign="top"&gt;
&lt;p&gt;Windows Server 2008 (R2&lt;sup&gt;&amp;dagger;)&lt;/sup&gt;)&lt;/p&gt;
&lt;p&gt;Nicht Server Core&lt;/p&gt;
&lt;/td&gt;
&lt;td width="214" valign="top"&gt;
&lt;p&gt;&lt;b&gt;Command line Variante des Server-Manager&lt;/b&gt; unter Windows Server&amp;reg; 2008. Wird eingestampft daher nicht mehr verwenden -&amp;gt; die Powershell &amp;uuml;bernimmt die Funktionalit&amp;auml;ten &amp;ndash; s.u.&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;Beispiele&lt;/span&gt;: &lt;a href="http://learn.iis.net/page.aspx/136/install-typical-iis-workloads/"&gt;Install Typical IIS Workloads&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="background: silver"&gt;
&lt;td width="214" valign="top"&gt;
&lt;p&gt;&lt;b&gt;Powershell 2.0 mit den Cmdlets:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="font-family: conso"&gt;Add-WindowsFeature,&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="font-family: conso"&gt;Get-WindowsFeature,&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="font-family: conso"&gt;Remove-WindowsFeature&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="214" valign="top"&gt;
&lt;p&gt;Windows Server 2008 R2&lt;/p&gt;
&lt;/td&gt;
&lt;td width="214" valign="top"&gt;
&lt;p&gt;&lt;b&gt;Windows PowerShell-Cmdlets f&amp;uuml;r den Server-Manager&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Ersatz f&amp;uuml;r servermanagercmd.exe &lt;/p&gt;
&lt;p&gt;Commandlets m&amp;uuml;ssen vor der Verwendung &amp;uuml;ber Befehl:&lt;/p&gt;
&lt;div style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 1pt; padding-left: 4pt; padding-right: 4pt; background: black; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 1pt; mso-element: para-border-div; mso-background-themecolor: text1"&gt;
&lt;p class="result" style="margin: 0cm 0cm 0pt"&gt;&lt;span lang="DE" style="mso-ansi-language: de"&gt;&lt;strong&gt;&lt;span style="color: #bfbfbf"&gt;&lt;span style="font-family: courier new"&gt;import-module servermanager&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;importiert werden.&lt;/p&gt;
&lt;p&gt;Siehe: &lt;a href="http://technet.microsoft.com/de-de/library/cc732757.aspx#BKMK_wps"&gt;Server-Manager-Befehle (&amp;Uuml;bersicht)&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3&gt;Installation testen:&lt;/h3&gt;
&lt;p&gt;Am einfachsten mittels Aufruf der Default-Seite im lokalen Browser mit &lt;a href="http://localhost"&gt;http://localhost&lt;/a&gt; , das Ergebnis sollte so aussehen:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/3704.clip_5F00_image028_5F00_thumb_5F00_0F7309A8.gif" alt="IIS 7 Default Document" title="IIS 7 Default Document" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Ein erster Blick auf die IIS-Verwaltungskonsole (inetmgr) und Starten | Stoppen der Website&lt;/h3&gt;
&lt;p&gt;Die IIS Verwaltungskonsole basierend auf der Microsoft Management Console (MMC) erreicht man entweder &amp;uuml;ber Start-&amp;gt;Administrative Tools-&amp;gt;Internet Information Services (IIS) Manager:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/4331.061410_5F00_1512_5F00_19.png" alt="Icon Internet Information Services (IIS) Manager" title="Icon Internet Information Services (IIS) Manager" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;Oder direkt &amp;uuml;ber Eingabe von &lt;i&gt;inetmgr&lt;/i&gt; im Suchfeld bei Start. Ein erster Blick auf die Console l&amp;auml;sst erahnen dass es zahlreiche Konfigurationsm&amp;ouml;glichkeiten f&amp;uuml;r den IIS gibt:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/0243.061410_5F00_1512_5F00_20.png" alt="Internet Information Services 7 (IIS) Management Console (aka inetmgr)" title="Internet Information Services 7 (IIS) Management Console (aka inetmgr)" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;Der &lt;b&gt;IIS&lt;/b&gt; ist so &lt;b&gt;konzipiert&lt;/b&gt; dass er alle &lt;b&gt;Konfigurations&amp;auml;nderungen&lt;/b&gt; &lt;b&gt;sofort&lt;/b&gt; &lt;b&gt;anwendet&lt;/b&gt;, d.h. in der Regel &lt;b&gt;kein&lt;/b&gt; &lt;b&gt;Durchstarten&lt;/b&gt; der &lt;b&gt;Webdienste&lt;/b&gt; &lt;b&gt;notwendig&lt;/b&gt; ist. F&amp;uuml;r diejenigen, die dennoch die den &lt;b&gt;IIS&lt;/b&gt; &lt;b&gt;manuell&lt;/b&gt; &lt;b&gt;durchstarten&lt;/b&gt; m&amp;ouml;chten z.B. gerade wenn man am Anfang viele Dinge durchspielt ist &lt;b&gt;iisreset&lt;/b&gt; das &lt;b&gt;wichtigste&lt;/b&gt; &lt;b&gt;Kommando&lt;/b&gt;:&lt;/p&gt;
&lt;div style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 1pt; padding-left: 4pt; padding-right: 4pt; background: black; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 1pt; mso-element: para-border-div; mso-background-themecolor: text1"&gt;
&lt;p class="result" style="margin: 0cm 0cm 0pt"&gt;&lt;strong&gt;&lt;span style="color: #bfbfbf"&gt;&lt;span style="font-family: courier new"&gt;C:\Users\Administrator&amp;gt;iisreset&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="result" style="margin: 0cm 0cm 0pt"&gt;&lt;strong&gt;&lt;span style="font-family: courier new; color: #bfbfbf"&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="result" style="margin: 0cm 0cm 0pt"&gt;&lt;strong&gt;&lt;span style="color: #bfbfbf"&gt;&lt;span style="font-family: courier new"&gt;Attempting stop...&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="result" style="margin: 0cm 0cm 0pt"&gt;&lt;strong&gt;&lt;span style="color: #bfbfbf"&gt;&lt;span style="font-family: courier new"&gt;Internet services successfully stopped&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="result" style="margin: 0cm 0cm 0pt"&gt;&lt;strong&gt;&lt;span style="color: #bfbfbf"&gt;&lt;span style="font-family: courier new"&gt;Attempting start...&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="result" style="margin: 0cm 0cm 0pt"&gt;&lt;strong&gt;&lt;span style="color: #bfbfbf"&gt;&lt;span style="font-family: courier new"&gt;Internet services successfully restarted&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;arted&lt;/p&gt;
&lt;/div&gt;
&lt;h3&gt;2x Sanity Check?! oder Nichts vergessen?&lt;/h3&gt;
&lt;p&gt;&lt;b&gt;1. &lt;/b&gt;&lt;b&gt;&lt;span style="text-decoration: underline;"&gt;Der &lt;/span&gt;&lt;/b&gt;&lt;a href="http://technet.microsoft.com/de-de/security/cc184924.aspx"&gt;&lt;b&gt;Microsoft Baseline Security Analyzer (MBSA)&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Mit dem &lt;b&gt;MBSA Version 2.1&lt;/b&gt; (Stand 11.06.2010) Tool l&amp;auml;&amp;szlig;t sich einfach der &lt;b&gt;Sicherheitsstatus&lt;/b&gt; des Servers auch nach &lt;b&gt;IIS&lt;/b&gt; und &lt;b&gt;SQL&lt;/b&gt; Gesichtspunkten hin &lt;b&gt;&amp;uuml;berpr&amp;uuml;fen&lt;/b&gt;. Den &lt;a href="http://technet.microsoft.com/de-de/security/cc184923.aspx#ETB"&gt;&lt;b&gt;MBSA&lt;/b&gt; gibt&amp;rsquo;s als separaten &lt;b&gt;Download&lt;/b&gt;&lt;/a&gt;&lt;b&gt;.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Ein Scan Ergebnis sieht etwa so oder &amp;auml;hnlich aus:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/0045.061410_5F00_1512_5F00_21.png" alt="MBSA Version 2.1 Scan Result " title="MBSA Version 2.1 Scan Result " style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;Umfassender als der BPA (s.u.) so werden u.a. Dinge &amp;uuml;berpr&amp;uuml;ft wie z.B. ob die interne &lt;b&gt;Firewall&lt;/b&gt; verwendet wird, Ablaufenden &lt;b&gt;Kennw&amp;ouml;rter&lt;/b&gt; verwendet werden und wie &lt;b&gt;Berechtigungen&lt;/b&gt; auf wichtige SQL Server Verzeichnisse gesetzt sind.&lt;/p&gt;
&lt;p&gt;2. &lt;b&gt;&lt;span style="text-decoration: underline;"&gt;Der &lt;/span&gt;&lt;/b&gt;&lt;a href="http://technet.microsoft.com/en-us/library/dd378896(WS.10).aspx"&gt;&lt;b&gt;Best Practice Analyzer&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;span style="text-decoration: underline;"&gt; (aka BPA)&lt;/span&gt;&lt;/b&gt; ist im Server Manager &lt;b&gt;ab Windows Server 2008 R2&lt;/b&gt; zu finden.&lt;/p&gt;
&lt;p&gt;Anhand von Regeln kann man sich die &lt;b&gt;Konfiguration&lt;/b&gt; von installierten Rollen (auch des &lt;b&gt;IIS&lt;/b&gt;) &lt;b&gt;&amp;uuml;berpr&amp;uuml;fen&lt;/b&gt; lassen. Gepr&amp;uuml;ft wird auf &lt;b&gt;Sicherheit&lt;/b&gt; und &lt;b&gt;Performanz&lt;/b&gt;. Derzeit gibt es noch nicht allzuviel was gepr&amp;uuml;ft wird -schaden kanns aber auch nicht:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/4377.061410_5F00_1512_5F00_22.png" alt="Windows Server 2008 R2: Best Practice Analyzer (aka BPA) in Server Manager showing Scan Result" title="Windows Server 2008 R2: Best Practice Analyzer (aka BPA) in Server Manager showing Scan Result" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&amp;nbsp;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/0488.061410_5F00_1512_5F00_23.png" alt="Web Platform Installer (aka WebPI) Icon" title="Web Platform Installer (aka WebPI) Icon" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;Web Platform Installer - der &amp;bdquo;IIS Paketmanager&amp;ldquo;&lt;/h3&gt;
&lt;p&gt;&lt;i&gt;&amp;bdquo;Das wichtigste zum Schluss oder wie geht es weiter?&amp;ldquo;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Der &lt;b&gt;Web Platform Installer&lt;/b&gt; (kurz WebPI) hilft mir u.a. &lt;a href="http://blogs.technet.com/b/windowsservergermany/archive/2009/12/15/warum-iis-folge-2-web-anwendungen-in-wenigen-schritten-einfach-installieren.aspx"&gt;&lt;b&gt;Web-Anwendungen in wenigen Schritten einfach zu installieren&lt;/b&gt; (siehe blogpost).&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Und nicht nur das sondern:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;informiert mich &amp;uuml;ber Neuerungen und interessante &lt;b&gt;Apps&lt;/b&gt; f&amp;uuml;r den &lt;b&gt;IIS&lt;/b&gt;. &lt;/li&gt;
&lt;li&gt;hilft mir Abh&amp;auml;ngigkeiten von &lt;b&gt;Webanwendungen&lt;/b&gt; und Frameworks zu erkennen und &lt;b&gt;installiert&lt;/b&gt; diese. &lt;/li&gt;
&lt;li&gt;ist quasi &amp;bdquo;Windows Update&amp;ldquo; f&amp;uuml;r manche IIS Erweiterungen. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/4606.061410_5F00_1512_5F00_24.png" alt="Web Platform Installer (aka WebPI) Application" title="Web Platform Installer (aka WebPI) Application" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/p&gt;
&lt;p&gt;Kurz: &lt;strong&gt;WebPI: Spart Zeit und Nerven.&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3387942" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author><category term="iis" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/iis/" /><category term="training" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/training/" /><category term="IIS fuer Einsteiger" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/IIS+fuer+Einsteiger/" /></entry><entry><title>WebsitePanel Installation mit Web Platform Installer</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2011/01/17/websitepanel-installation-mit-web-platform-installer.aspx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2011/01/17/websitepanel-installation-mit-web-platform-installer.aspx</id><published>2011-01-17T15:39:00Z</published><updated>2011-01-17T15:39:00Z</updated><content type="html">&lt;p&gt;Das kostenlose &lt;strong&gt;web-basiertes Konfigurationstool &lt;/strong&gt;(aka “Control Panel”) &lt;a href="http://www.websitepanel.net/"&gt;WebsitePanel&lt;/a&gt; (siehe auch Blogeintrag “&lt;a title="Kostenloses – Open Source Control Panel für Windows" href="http://blogs.technet.com/b/bernhard_frank/archive/2010/05/11/kostenloses-open-source-control-panel-f-r-windows.aspx"&gt;Kostenloses – Open Source Control Panel für Windows&lt;/a&gt;”) lässt sich jetzt einfach mit dem &lt;a href="http://www.microsoft.com/web/downloads/platform.aspx"&gt;Web Platform Installer&lt;/a&gt; installieren.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/2133.websitepanel_5F00_405FF483.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="websitepanel" border="0" alt="websitepanel" src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/4113.websitepanel_5F00_thumb_5F00_2D0F1817.png" width="644" height="445" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Das dürfte deutlich Zeit sparen und etwaige Setupprobleme umgehen.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3380726" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author><category term="Web Platform Installer (WebPI)" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/Web+Platform+Installer+_2800_WebPI_2900_/" /></entry><entry><title>Betriebszeit (uptime) aus TCP Paket ermitteln?</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2010/12/14/betriebszeit-uptime-aus-tcp-paket-ermitteln.aspx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2010/12/14/betriebszeit-uptime-aus-tcp-paket-ermitteln.aspx</id><published>2010-12-14T12:32:59Z</published><updated>2010-12-14T12:32:59Z</updated><content type="html">&lt;p&gt;Kurios aber vielleicht mal nützlich:&lt;/p&gt;  &lt;p&gt;Mein Windows 7 schickt in TCP Paketen im &lt;strong&gt;TCP Timestamp&lt;/strong&gt; Feld (TSval) die &lt;strong&gt;Zeit seit dem letzten OS-Boot&lt;/strong&gt; in &lt;strong&gt;hunterdstel Sekunden&lt;/strong&gt;:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/2018.TCP_2D00_Timestamp_2D00_TSval_5F00_330F2FEB.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="TCP Timestamp TSval" border="0" alt="TCP Timestamp TSval" src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/5670.TCP_2D00_Timestamp_2D00_TSval_5F00_thumb_5F00_6AE1740E.png" width="340" height="134" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;d.h. mein letzter Reboot war ca. 1066 sekunden oder 17,8 Minuten her.&lt;/p&gt;  &lt;p&gt;TCP timestamps (siehe &lt;a href="http://tools.ietf.org/html/rfc1323"&gt;RFC 1323&lt;/a&gt;) werden dazu verwendet die Laufzeiten von Paketen zwischen Sender und Empfänger zu ermitteln. Im sog. TSval Feld schickt der Sender einen 4-byte langen Wert – dieser sollte laut &lt;a href="http://tools.ietf.org/html/rfc1323#section-3"&gt;RFC “…least approximately proportional to real time…”&lt;/a&gt; sein. Mein Win7 nimmt einfacherhalber gleich die Zeit welche seit dem Boot vergangen ist.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3374894" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>"PHP on Windows" - MS Platform for PHP dudes.</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2010/10/27/ms-platform-for-php-dudes.aspx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2010/10/27/ms-platform-for-php-dudes.aspx</id><published>2010-10-27T15:15:00Z</published><updated>2010-10-27T15:15:00Z</updated><content type="html">&lt;p sizset="0" sizcache="4"&gt;&lt;strong&gt;My personal link list regarding "&lt;em&gt;php on windows"&lt;/em&gt;:&lt;/strong&gt; &lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="307" valign="top"&gt;
&lt;p&gt;&lt;a href="http://learn.iis.net/page.aspx/770/install-the-microsoft-web-platform-for-php/"&gt;Install the Microsoft Web Platform for PHP&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="307" valign="top"&gt;
&lt;p&gt;How to use &amp;ndash; &lt;b&gt;install PHP with MS webserver IIS&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="307" valign="top"&gt;
&lt;p&gt;&lt;a href="http://www.iis.net/php"&gt;www.iis.net/php&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="307" valign="top"&gt;
&lt;p&gt;&lt;b&gt;IIS Product Team&lt;/b&gt; site over &lt;b&gt;PHP&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="307" valign="top"&gt;
&lt;p&gt;&lt;a href="http://www.interoperabilitybridges.com/projects/tag/PHP.aspx"&gt;MS interopability bridges for PHP&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="307" valign="top"&gt;
&lt;p&gt;Interesting &lt;b&gt;projects&lt;/b&gt; to improve &lt;b&gt;MS technology - PHP interop&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="307" valign="top"&gt;
&lt;p&gt;&lt;a href="http://windows.php.net/"&gt;http://windows.php.net/&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="307" valign="top"&gt;
&lt;p&gt;&lt;b&gt;Official PHP Community&lt;/b&gt; site &amp;ndash; get &lt;b&gt;latest bits and extensions&lt;/b&gt; from there. Dedicated to supporting PHP on Microsoft Windows.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="307" valign="top"&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&amp;amp;FamilyID=80e44913-24b4-4113-8807-caae6cf2ca05"&gt;Microsoft Drivers for PHP for SQL Server&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="307" valign="top"&gt;
&lt;p&gt;Php devs please use this one &amp;ndash; the old one was too slow.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="307" valign="top"&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c8498c9b-a85a-4afa-90c0-593d0e4850cb"&gt;PHP on Windows Training Kit (March 2010)&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="307" valign="top"&gt;
&lt;p&gt;&lt;b&gt;Demo, Hands on Labs Content&lt;/b&gt; (going GEOspatial with SQL Server, Reporting Services, Troubleshooting,&amp;hellip;)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="307" valign="top"&gt;
&lt;p&gt;&amp;middot; &lt;a href="http://go.microsoft.com/?linkid=9713848"&gt;TechNet Virtual Lab: PHP Sessions on IIS&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;middot; &lt;a href="http://go.microsoft.com/?linkid=7832123"&gt;TechNet Virtual Lab: Installing ASP, ASP.NET and PHP/FastCGI Applications on IIS 7&lt;/a&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="307" valign="top"&gt;
&lt;p&gt;&lt;b&gt;Try it out &amp;ndash; pay &amp;amp; install nothing! &lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Get &lt;b&gt;your&lt;/b&gt; &lt;b&gt;own&lt;/b&gt; &lt;b&gt;virtual test machine&lt;/b&gt; &amp;ndash; training &amp;ndash; for free!&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="307" valign="top"&gt;
&lt;p&gt;&lt;a href="http://ssrsphp.codeplex.com/"&gt;Free SQL Server Reporting Services SDK for&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="307" valign="top"&gt;
&lt;p&gt;Haven&amp;rsquo;t tried it out &amp;ndash; but looks good.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Eventually:&lt;br /&gt;Expression Web2 -&amp;gt; PHP-&amp;gt; &lt;a href="http://expression.microsoft.com/en-us/library/cc295181.aspx"&gt;http://expression.microsoft.com/en-us/library/cc295181.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://code.msdn.microsoft.com/Project/ProjectDirectory.aspx?ProjectSearchText=php"&gt;http://code.msdn.microsoft.com/Project/ProjectDirectory.aspx?ProjectSearchText=php&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.codeplex.com/site/search?query=php%20sql&amp;amp;ac=1"&gt;http://www.codeplex.com/site/search?query=php%20sql&amp;amp;ac=1&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3364417" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author><category term="iis" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/iis/" /><category term="php" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/php/" /><category term="php on windows" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/php+on+windows/" /></entry><entry><title>Windows Server 2008 mit IIS 7.x zu teuer? Sind Sie Hoster und kennen Sie SPLA?</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2010/10/18/windows-server-2008-mit-iis-7-x-zu-teuer-sind-sie-hoster-und-kennen-sie-das-spla.aspx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2010/10/18/windows-server-2008-mit-iis-7-x-zu-teuer-sind-sie-hoster-und-kennen-sie-das-spla.aspx</id><published>2010-10-18T09:07:24Z</published><updated>2010-10-18T09:07:24Z</updated><content type="html">&lt;p&gt;Im Hosting Umfeld gibt es ein &lt;strong&gt;spezielles Lizenzprogramm&lt;/strong&gt;:&lt;strong&gt; SPLA&lt;/strong&gt; (&lt;em&gt;Services Provider License Agreement&lt;/em&gt;)     &lt;br /&gt;&lt;strong&gt;SPLA gibt Hostern die Möglichkeit Microsoft Software an 3te weiterzuvermieten.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Für die jeweilig &lt;strong&gt;genutzte Software&lt;/strong&gt; (z.B. Windows Server 2008 Web) fallen &lt;strong&gt;pro Monat, Nutzer oder/und Processor, Lizenzgebühren&lt;/strong&gt; an, die &lt;strong&gt;über&lt;/strong&gt; einen unserer &lt;strong&gt;SPLA Reseller zu entrichten&lt;/strong&gt; sind.    &lt;br /&gt;Die &lt;strong&gt;Vorteile&lt;/strong&gt; liegen klar auf der Hand: &lt;strong&gt;Keine&lt;/strong&gt; großen Software &lt;strong&gt;Anschaffungskosten&lt;/strong&gt; – sondern deutlich &lt;strong&gt;geringere Preise&lt;/strong&gt; - &lt;strong&gt;monatlich&lt;/strong&gt; abgerechnet – &lt;strong&gt;Nur zahlen was man&lt;/strong&gt;/Kunde &lt;strong&gt;verwendet&lt;/strong&gt; hat.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt; über die verbindlichen &lt;strong&gt;Lizenzierungsbestimmunge&lt;/strong&gt;n für jedes &lt;strong&gt;Produkt&lt;/strong&gt; sind &lt;strong&gt;in den &lt;/strong&gt;&lt;a href="http://www.microsoftvolumelicensing.com/userights/DocumentSearch.aspx?Mode=3&amp;amp;DocumentTypeId=2"&gt;&lt;strong&gt;SPUR&lt;/strong&gt;s&lt;/a&gt; (&lt;em&gt;Services Provider Use Rights&lt;/em&gt;) zu finden.     &lt;br /&gt;d.h. &lt;strong&gt;Am Ende eines Monats melden Sie (Hoster) die erforderlichen Lizenzen an den &lt;/strong&gt;&lt;a href="http://www.microsoft.com/germany/branchen/hosting/partner/spla-reseller.mspx"&gt;&lt;strong&gt;SPLA Reseller&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; und dieser &lt;/strong&gt;ist dann&lt;strong&gt; für die Rechnungstellung&lt;/strong&gt; und das Weiterleiten Ihrer monatlichen Reports nach Microsoft Ireland &lt;strong&gt;verantwortlich.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In das Tätigkeitsfeld der &lt;a href="http://www.microsoft.com/germany/branchen/hosting/partner/spla-reseller.mspx"&gt;SPLA Reseller&lt;/a&gt; fallen auch Lizenzberatungen.&lt;/p&gt;  &lt;p&gt;Welche Produkte und wie diese in SPLA zu reporten sind, ist in der &lt;a href="http://www.microsoftvolumelicensing.com/userights/DocumentSearch.aspx?Mode=3&amp;amp;DocumentTypeId=2"&gt;SPUR (Services Provider Use Rights)&lt;/a&gt; hinterlegt. &lt;/p&gt;  &lt;p&gt;SPLA Collaterals (englisch-sprachig) finden sich unter: &lt;a href="http://www.microsoft.com/licensing/licensing-options/spla-program.aspx"&gt;http://www.microsoft.com/licensing/licensing-options/spla-program.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3362557" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Wichtiger Sicherheitshinweis: "Vulnerability in ASP.NET Could Allow Information Disclosure" (2416728)</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2010/09/22/wichtiger-sicherheitshinweis-quot-vulnerability-in-asp-net-could-allow-information-disclosure-quot-2416728.aspx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2010/09/22/wichtiger-sicherheitshinweis-quot-vulnerability-in-asp-net-could-allow-information-disclosure-quot-2416728.aspx</id><published>2010-09-22T09:31:00Z</published><updated>2010-09-22T09:31:00Z</updated><content type="html">&lt;p&gt;Wir haben eine Sicherheitsl&amp;uuml;cke in ASP.NET (1.0 - 4.0)!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/technet/security/advisory/2416728.mspx"&gt;Microsoft Security Advisory 2416728: Vulnerability in ASP.NET Could Allow Information Disclosure&lt;/a&gt; &lt;br /&gt;Friday, Sep 17&lt;/p&gt;
&lt;p&gt;&amp;ldquo;&amp;hellip;Note that this vulnerability would &lt;b&gt;not&lt;/b&gt; &lt;b&gt;allow&lt;/b&gt; an &lt;b&gt;attacker&lt;/b&gt; &lt;b&gt;to&lt;/b&gt; &lt;b&gt;execute&lt;/b&gt; &lt;b&gt;code&lt;/b&gt; or to elevate their user rights directly, &lt;b&gt;but it could be used to produce useful information&lt;/b&gt; that could be used to try to further compromise the affected system.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.microsoft.com/downloads/en/results.aspx?freetext=MS10-070&amp;amp;displaylang=en&amp;amp;stype=s_basic"&gt;Die Fixes liegen im Microsoft Download Center mit Suchbegriff "MS10-070"&lt;/a&gt;&amp;nbsp;(oder werden nat&amp;uuml;rlich &amp;uuml;ber Windows Update ausgeliefert)&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3357022" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Von 0 auf Wordpress in unter 10 Minuten</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2010/09/17/von-0-auf-wordpress-in-unter-10-minuten.aspx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2010/09/17/von-0-auf-wordpress-in-unter-10-minuten.aspx</id><published>2010-09-17T12:58:00Z</published><updated>2010-09-17T12:58:00Z</updated><content type="html">&lt;p&gt;Sie,&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;haben sich schon mal gefragt warum das Einrichten von Web Server Software so m&amp;uuml;hsam ist, &lt;/li&gt;
&lt;li&gt;m&amp;ouml;chten einfach nur mal schnell einen Blog verwenden ohne sich lange mit dem Setup rumschlagen zu m&amp;uuml;ssen, &lt;/li&gt;
&lt;li&gt;denken sowieso, dass PHP und Windows nicht zusammenpasst, &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;dann k&amp;ouml;nnten die nachfolgenden 4 Video-Minuten ein paar neue Erkenntnisse bringen:&lt;/p&gt;
&lt;div height="384" width="512" id="silverlightControlHost"&gt;
&lt;object height="384" type="application/x-silverlight" width="512" data="data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAJAADqNAAAsCcAAAAAAAAAAAAAAAAAAAAAAAB+AAAAaAB0AHQAcAA6AC8ALwBiAGYAcgBhAG4AawAuAGMAbwBkAGUAZABhAHoAdQByAGUALgBkAGUALwBiAGwAbwBnAC8AdgBpAGQAZQBvAC8ATQBlAGQAaQBhAFAAbABhAHkAZQByAFQAZQBtAHAAbABhAHQAZQAuAHgAYQBwAAAAPAAAAAAAAAAmAAAAbwBuAFMAaQBsAHYAZQByAGwAaQBnAGgAdABFAHIAcgBvAHIAAAAAAAAAAAAAAAAAAAAAAAAAQAMAAHAAbABhAHkAZQByAFMAZQB0AHQAaQBuAGcAcwAgAD0APABQAGwAYQB5AGwAaQBzAHQAPgA8AEEAdQB0AG8ATABvAGEAZAA+AGYAYQBsAHMAZQA8AC8AQQB1AHQAbwBMAG8AYQBkAD4APABBAHUAdABvAFAAbABhAHkAPgBmAGEAbABzAGUAPAAvAEEAdQB0AG8AUABsAGEAeQA+ADwASQB0AGUAbQBzAD4APABQAGwAYQB5AGwAaQBzAHQASQB0AGUAbQA+ADwATQBlAGQAaQBhAFMAbwB1AHIAYwBlAD4AaAB0AHQAcAA6AC8ALwBiAGYAcgBhAG4AawAuAGMAbwBkAGUAZABhAHoAdQByAGUALgBkAGUALwBiAGwAbwBnAC8AdgBpAGQAZQBvAC8AYwBvAG4AdABlAG4AdAAvAFcAZQBiACAAUABsAGEAdABmAG8AcgBtACAASQBuAHMAdABhAGwAbABlAHIAIABUAGUAYQBzAGUAcgAuAHcAbQB2ADwALwBNAGUAZABpAGEAUwBvAHUAcgBjAGUAPgA8AFQAaAB1AG0AYgBTAG8AdQByAGMAZQA+AGgAdAB0AHAAOgAvAC8AYgBmAHIAYQBuAGsALgBjAG8AZABlAGQAYQB6AHUAcgBlAC4AZABlAC8AYgBsAG8AZwAvAHYAaQBkAGUAbwAvAGMAbwBuAHQAZQBuAHQALwBXAGUAYgAgAFAAbABhAHQAZgBvAHIAbQAgAEkAbgBzAHQAYQBsAGwAZQByACAAVABlAGEAcwBlAHIAXwBUAGgAdQBtAGIALgBqAHAAZwA8AC8AVABoAHUAbQBiAFMAbwB1AHIAYwBlAD4APABUAGkAdABsAGUAPgBJAEkAUwA3ACUAMgAwAGYAJQBDADMAJQBCAEMAcgAlADIAMABFAGkAbgBzAHQAZQBpAGcAZQByACUAMgAwAC0AJQAyADAASQBuAHMAdABhAGwAbABhAHQAaQBvAG4APAAvAFQAaQB0AGwAZQA+ADwALwBQAGwAYQB5AGwAaQBzAHQASQB0AGUAbQA+ADwALwBJAHQAZQBtAHMAPgA8AC8AUABsAGEAeQBsAGkAcwB0AD4AAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAAAAAAAGAAAADQALgAwAC4ANQAwADQAMAAxAC4AMAAAAAoAAAB0AHIAdQBlAAAA//8AAAAAAAAAAAAA"&gt;
&lt;param value="http://bfrank.codedazure.de/blog/video/MediaPlayerTemplate.xap" name="source" /&gt;
&lt;param value="onSilverlightError" name="onerror" /&gt;
&lt;param value="true" name="autoUpgrade" /&gt;
&lt;param value="4.0.50401.0" name="minRuntimeVersion" /&gt;
&lt;param value="true" name="enableHtmlAccess" /&gt;
&lt;param value="true" name="enableGPUAcceleration" /&gt;
&lt;param value="false" name="allowHtmlPopupWindow" /&gt;
&lt;param value="false" name="enableFrameRateCounter" /&gt;
&lt;param value="playerSettings =&amp;lt;Playlist&amp;gt;&amp;lt;AutoLoad&amp;gt;false&amp;lt;/AutoLoad&amp;gt;&amp;lt;AutoPlay&amp;gt;false&amp;lt;/AutoPlay&amp;gt;&amp;lt;Items&amp;gt;&amp;lt;PlaylistItem&amp;gt;&amp;lt;MediaSource&amp;gt;http://bfrank.codedazure.de/blog/video/content/Web Platform Installer Teaser.wmv&amp;lt;/MediaSource&amp;gt;&amp;lt;ThumbSource&amp;gt;http://bfrank.codedazure.de/blog/video/content/Web Platform Installer Teaser_Thumb.jpg&amp;lt;/ThumbSource&amp;gt;&amp;lt;Title&amp;gt;IIS7%20f%C3%BCr%20Einsteiger%20-%20Installation&amp;lt;/Title&amp;gt;&amp;lt;/PlaylistItem&amp;gt;&amp;lt;/Items&amp;gt;&amp;lt;/Playlist&amp;gt;" name="initparams" /&gt;
&lt;/object&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Wordpress installieren&lt;/strong&gt; auf &lt;strong&gt;YouTube&lt;/strong&gt; ansehen:&lt;a href="http://www.youtube.com/watch?v=LAj8_0lInZ4"&gt; &lt;strong&gt;Wordpress installieren in unter 10 Minuten!&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3356159" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author><category term="iis" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/iis/" /><category term="php" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/php/" /><category term="Web Platform Installer (WebPI)" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/Web+Platform+Installer+_2800_WebPI_2900_/" /></entry><entry><title>Windows Media Stream Editor: Audio und Video aus unterschiedlichen Dateien zu einem Stream encodieren.</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2010/09/16/windows-media-stream-editor-audio-und-video-aus-unterschiedlichen-dateien-zu-einem-stream-encodieren.aspx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2010/09/16/windows-media-stream-editor-audio-und-video-aus-unterschiedlichen-dateien-zu-einem-stream-encodieren.aspx</id><published>2010-09-16T11:58:00Z</published><updated>2010-09-16T11:58:00Z</updated><content type="html">&lt;p&gt;Weil ich grade danach ein bisschen gesucht habe.&lt;/p&gt;  &lt;h3&gt;Szenario:&lt;/h3&gt;  &lt;p&gt;Ich habe eine Video Datei (*.wmv), diese ist zwar mit Ton aber ich möchte ein anderes Audio File darunter legen, z.B. weil ich zwar dasselbe Video aber in eine anderen Sprache möchte oder ein anderer Audio-Codec verwendet werden soll. Welches Tool nehme ich her um Audio und Video zu zusammenzufügen (bzw. aufzusplitten).&lt;/p&gt;  &lt;h3&gt;Lösung:&lt;/h3&gt;  &lt;p&gt;Die &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=5691ba02-e496-465a-bba9-b2f1182cdf24&amp;amp;displaylang=de"&gt;Windows Media Encoder 9-Reihe&lt;/a&gt; (vorsicht nicht mehr supported!) bringt ein nettes kleines Tool mit den “Windows Media Stream Editor”:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/4174.image_5F00_00E7FC22.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Windows Media Stream Editor is part of the Windows Media Encoder 9 Series" border="0" alt="Windows Media Stream Editor is part of the Windows Media Encoder 9 Series" src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/1447.image_5F00_thumb_5F00_3F6D49C8.png" width="238" height="142" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;und der baut aus unterschiedlichen Video und Audio Quellen eine Ausgabe Datei zusammen (sehr schnell):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/7658.WindowsMediaStreamEditor_5F00_5E43BDA6.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Windows Media Stream Editor - to combine audio and video from different files" border="0" alt="Windows Media Stream Editor - to combine audio and video from different files" src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/3463.WindowsMediaStreamEditor_5F00_thumb_5F00_76570234.png" width="548" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Alternative: Expression Encoder erlaubt mir ein Overlay von Audio über ein Video mit Ton – allerdings finde ich das Handling (man muss das Volume des ursprünglichen Audiokanals auf 0 stellen) für den Verwendungszweck nicht ganz so einfach:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/6012.image_5F00_27661708.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Expression Encoder allows audio or sound overlay over video media content" border="0" alt="Expression Encoder allows audio or sound overlay over video media content" src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/4846.image_5F00_thumb_5F00_184F382E.png" width="244" height="92" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3355887" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Logparser: Web-Log Analyse in einer Website anzeigen.</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2010/09/08/logparser-web-log-analyse-in-einer-website-anzeigen.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="272266" href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-03-35-42-07/webstats.zip" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2010/09/08/logparser-web-log-analyse-in-einer-website-anzeigen.aspx</id><published>2010-09-08T12:18:00Z</published><updated>2010-09-08T12:18:00Z</updated><content type="html">&lt;p class="MsoNormal"&gt;&lt;span lang="DE"&gt;&lt;span style="font-family: calibri; font-size: small"&gt;Das &lt;/span&gt;&lt;a href="http://blogs.technet.com/b/bernhard_frank/archive/2010/01/19/logparser-kostenloses-web-statistik-und-analyse-werkzeug.aspx"&gt;&lt;span style="font-family: calibri; color: #0000ff; font-size: small"&gt;Logparser&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt; Werkzeug kann die Ergebnisse einer Abfrage unter Verwendung einer Vorlagendatei in eine Ausgabedatei schreiben. Dieser Funktionalit&amp;auml;t l&amp;auml;sst sich z.B. verwenden um das Ergebnis einer Web-Log Analyse in eine .html Datei schreiben zu lassen:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style="border-bottom: #bfbfbf 1pt solid; border-left: #bfbfbf 1pt solid; padding-bottom: 1pt; padding-left: 4pt; padding-right: 4pt; background: #f2f2f2; border-top: #bfbfbf 1pt solid; border-right: #bfbfbf 1pt solid; padding-top: 1pt; mso-element: para-border-div; mso-background-themecolor: background1; mso-border-themecolor: background1; mso-border-themeshade: 191; mso-background-themeshade: 242; mso-border-alt: solid #bfbfbf .5pt"&gt;
&lt;p class="query"&gt;&lt;span style="font-family: courier new"&gt;logparser -i:w3c "SELECT sc-status As Status, COUNT(*) AS Total FROM c:\temp\logfiles\w3svc11\*.log TO c:\temp\result\StatusCodes.html GROUP BY Status ORDER BY Status ASC" -o:TPL -TPL:".\Samples\TemplateFiles\StatusCodes.tpl"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;v:shapetype coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f" id="_x0000_t75"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"&gt;&lt;/v:path&gt;&lt;o:lock v:ext="edit" aspectratio="t"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;v:shape type="#_x0000_t75" o:spid="_x0000_i1026" id="Picture_x0020_19" style="width: 264pt; height: 312.75pt; visibility: visible; mso-wrap-style: square;"&gt;&lt;v:imagedata src="file:///C:\Users\bfrank\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png"&gt;&lt;span style="font-family: courier new"&gt;&lt;/span&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/span&gt;&lt;span lang="DE"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/0116.LogparserStatusCodesTemplate_5F00_0BFCEE99.png"&gt;&lt;img height="240" width="203" src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/0435.LogparserStatusCodesTemplate_5F00_thumb_5F00_49A9D655.png" alt="Logparser Sample Output using StatusCodes.tpl" border="0" title="Logparser Sample Output using StatusCodes.tpl" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="DE"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;Als Vorlagendatei verwenden wir ein sog. &amp;bdquo;Structured Format Template&amp;ldquo; (siehe Logparser Hilfe). Die Vorlage definiert einen sich wiederholdenden Bereich (&amp;lt;LPBODY&amp;gt;) in dem die Werte (in &amp;bdquo; %xyz%&amp;ldquo;) aus den Spalten (der Abfrage) geschrieben werden:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style="border-bottom: #f2f2f2 4.5pt solid; border-left: #f2f2f2 4.5pt solid; padding-bottom: 1pt; padding-left: 4pt; padding-right: 4pt; background: #f2f2f2; border-top: #f2f2f2 4.5pt solid; border-right: #f2f2f2 4.5pt solid; padding-top: 1pt; mso-element: para-border-div; mso-background-themecolor: background1; mso-border-themecolor: background1; mso-border-themeshade: 242; mso-background-themeshade: 242; mso-border-shadow: yes"&gt;&lt;span style="font-family: courier new"&gt;
&lt;div style="padding-bottom: 1pt; padding-left: 4pt; padding-right: 4pt; background: #f2f2f2; padding-top: 1pt; mso-element: para-border-div; mso-background-themecolor: background1; mso-border-themecolor: background1; mso-border-themeshade: 242; mso-background-themeshade: 242; mso-border-shadow: yes; border: #f2f2f2 4.5pt solid;"&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="line-height: 115%; font-size: 8pt; mso-bidi-font-size: 11.0pt;"&gt;&amp;lt;TABLE...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="line-height: 115%; font-size: 8pt; mso-bidi-font-size: 11.0pt;"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="line-height: 115%; font-size: 8pt; mso-bidi-font-size: 11.0pt;"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="line-height: 115%; font-size: 8pt; mso-bidi-font-size: 11.0pt;"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="line-height: 115%; font-size: 8pt; mso-bidi-font-size: 11.0pt;"&gt;&amp;lt;LPBODY&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="line-height: 115%; font-size: 8pt; mso-bidi-font-size: 11.0pt;"&gt;&amp;lt;TR&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="line-height: 115%; font-size: 8pt; mso-bidi-font-size: 11.0pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;TD&amp;gt;%Status%&amp;lt;/TD&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="line-height: 115%; font-size: 8pt; mso-bidi-font-size: 11.0pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;TD&amp;gt;%Total%&amp;lt;/TD&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="DE" style="line-height: 115%; font-size: 8pt; mso-ansi-language: DE; mso-bidi-font-size: 11.0pt;"&gt;&amp;lt;/TR&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="DE" style="line-height: 115%; font-size: 8pt; mso-ansi-language: DE; mso-bidi-font-size: 11.0pt;"&gt;&amp;lt;/LPBODY&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="DE" style="line-height: 115%; font-size: 8pt; mso-ansi-language: DE; mso-bidi-font-size: 11.0pt;"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="DE" style="line-height: 115%; font-size: 8pt; mso-ansi-language: DE; mso-bidi-font-size: 11.0pt;"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="DE" style="line-height: 115%; font-size: 8pt; mso-ansi-language: DE; mso-bidi-font-size: 11.0pt;"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="DE" style="line-height: 115%; font-size: 8pt; mso-ansi-language: DE; mso-bidi-font-size: 11.0pt;"&gt;&amp;lt;/TABLE&amp;gt;...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="DE"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;Um Logparser Web-Log Analysen sp&amp;auml;ter automatisieren zu k&amp;ouml;nnen (z.B. via den Task Scheduler) bietet sich an die jeweilige Query (&amp;bdquo;SELECT &amp;hellip;.&amp;ldquo;) &lt;span style="color: red"&gt;parameteriesiert&lt;/span&gt; in eine Text Datei auszulagern (z.B. .\Samples\TemplateFiles\StatusCodes_mod.sql):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style="border-bottom: #f2f2f2 4.5pt solid; border-left: #f2f2f2 4.5pt solid; padding-bottom: 1pt; padding-left: 4pt; padding-right: 4pt; background: #f2f2f2; border-top: #f2f2f2 4.5pt solid; border-right: #f2f2f2 4.5pt solid; padding-top: 1pt; mso-element: para-border-div; mso-background-themecolor: background1; mso-border-themecolor: background1; mso-border-themeshade: 242; mso-background-themeshade: 242; mso-border-shadow: yes"&gt;&lt;span style="font-family: courier new"&gt;
&lt;div style="padding-bottom: 1pt; padding-left: 4pt; padding-right: 4pt; background: #f2f2f2; padding-top: 1pt; mso-element: para-border-div; mso-background-themecolor: background1; mso-border-themecolor: background1; mso-border-themeshade: 242; mso-background-themeshade: 242; mso-border-shadow: yes; border: #f2f2f2 4.5pt solid;"&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;SELECT STRCAT(TO_STRING(sc-status), REPLACE_IF_NOT_NULL(TO_STRING(sc-substatus), STRCAT('.',TO_STRING(sc-substatus)))) AS Status, &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;COUNT(*) AS Total &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;FROM &lt;span style="color: red;"&gt;%InputLog%&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;TO &lt;span style="color: red;"&gt;%OutputPath%&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;GROUP BY Status &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;ORDER BY Status ASC&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="DE"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;und so o.&amp;auml;. aufzurufen:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style="border-bottom: #bfbfbf 1pt solid; border-left: #bfbfbf 1pt solid; padding-bottom: 1pt; padding-left: 4pt; padding-right: 4pt; background: #f2f2f2; border-top: #bfbfbf 1pt solid; border-right: #bfbfbf 1pt solid; padding-top: 1pt; mso-element: para-border-div; mso-background-themecolor: background1; mso-border-themecolor: background1; mso-border-themeshade: 191; mso-background-themeshade: 242; mso-border-alt: solid #bfbfbf .5pt"&gt;
&lt;p class="query"&gt;&lt;o:wrapblock&gt;&lt;v:shape type="#_x0000_t75" o:spid="_x0000_s1026" id="Picture_x0020_20" style="z-index: 251658240; position: absolute; margin-top: 285pt; width: 134.9pt; height: 30.85pt; visibility: visible; margin-left: 77.35pt; mso-wrap-style: square; mso-width-percent: 0; mso-height-percent: 0; mso-wrap-distance-left: 9pt; mso-wrap-distance-top: 0; mso-wrap-distance-right: 9pt; mso-wrap-distance-bottom: 0; mso-position-horizontal: absolute; mso-position-horizontal-relative: page; mso-position-vertical: absolute; mso-position-vertical-relative: page; mso-width-relative: margin; mso-height-relative: margin;"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;&lt;v:imagedata src="file:///C:\Users\bfrank\AppData\Local\Temp\msohtmlclip1\01\clip_image002.png"&gt;&lt;/v:imagedata&gt;&lt;w:wrap anchory="page" anchorx="page" type="topAndBottom"&gt;&lt;/w:wrap&gt;&lt;/span&gt;&lt;/span&gt;&lt;/v:shape&gt;&lt;/o:wrapblock&gt;&lt;span style="font-family: courier new"&gt;logparser -i:w3c file:".\Samples\TemplateFiles\StatusCodes_mod.sql?InputLog=c:\temp\logfiles\w3svc11\*.log+OutputPath=c:\temp\result\StatusCodes.html" -o:TPL -TPL:".\Samples\TemplateFiles\StatusCodes.tpl"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="DE"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;Man sammle nun ein paar Web-Log Analyse Queries nach eigenen Bedarf z.B. in der Form:&lt;span style="mso-no-proof: yes"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="DE"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/6403.logparserstatuscodes_5F00_2E910747.png"&gt;&lt;img height="61" width="200" src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/6708.logparserstatuscodes_5F00_thumb_5F00_12141567.png" alt="logparser - statuscodes" border="0" title="logparser - statuscodes" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="DE"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;(.sql f&amp;uuml;r die Query und .tpl f&amp;uuml;r das html snippet)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="DE"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;Schreibe ein Batch Datei welches Queries einzeln aufruft und Ausgabe z.B. in eine default.htm kombiniert. Dieser Batch sollte Eingabeparameter verabeiten wie wo sind die zu analysierenden Logfiles und wohin sollen die Ergebnisse geschrieben werden:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;p&gt;&lt;span lang="DE"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;
&lt;div style="padding-bottom: 1pt; padding-left: 4pt; padding-right: 4pt; background: #f2f2f2; padding-top: 1pt; mso-element: para-border-div; mso-background-themecolor: background1; mso-border-themecolor: background1; mso-border-themeshade: 242; mso-background-themeshade: 242; mso-border-shadow: yes; border: #f2f2f2 4.5pt solid;"&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="line-height: 115%; font-size: 7pt; mso-bidi-font-size: 11.0pt;"&gt;&lt;span style="font-family: Courier New;"&gt;echo on&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="line-height: 115%; font-size: 7pt; mso-bidi-font-size: 11.0pt;"&gt;&lt;span style="font-family: Courier New;"&gt;if not exist "C:\Program Files\Log Parser 2.2\" (cd "c:\Program Files (x86)\Log Parser 2.2") else (cd "C:\Program Files\Log Parser 2.2\")&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="line-height: 115%; font-size: 7pt; mso-bidi-font-size: 11.0pt;"&gt;&lt;o:p&gt;&lt;span style="font-family: Courier New;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="line-height: 115%; font-size: 7pt; mso-bidi-font-size: 11.0pt;"&gt;&lt;span style="font-family: Courier New;"&gt;rem MonitoringPeriod&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="line-height: 115%; font-size: 7pt; mso-bidi-font-size: 11.0pt;"&gt;&lt;span style="font-family: Courier New;"&gt;start /wait LogParser.exe -i:w3c file:%1\MonitoringPeriod.sql?InputLog=%2+OutputPath=%3\100.html -o:TPL -tpl:%1\MonitoringPeriod.tpl&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="line-height: 115%; font-size: 7pt; mso-bidi-font-size: 11.0pt;"&gt;&lt;span style="font-family: Courier New;"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="line-height: 115%; font-size: 7pt; mso-bidi-font-size: 11.0pt;"&gt;&lt;span style="font-family: Courier New;"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="line-height: 115%; font-size: 7pt; mso-bidi-font-size: 11.0pt;"&gt;&lt;span style="font-family: Courier New;"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="line-height: 115%; font-size: 7pt; mso-bidi-font-size: 11.0pt;"&gt;&lt;span style="font-family: Courier New;"&gt;type %1\header.html &amp;gt; %3\default.htm&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="line-height: 115%; font-size: 7pt; mso-bidi-font-size: 11.0pt;"&gt;&lt;span style="font-family: Courier New;"&gt;for %%f in (%3\*.html) do type %%f &amp;gt;&amp;gt; %3\default.htm&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="line-height: 115%; font-size: 7pt; mso-bidi-font-size: 11.0pt;"&gt;&lt;span style="font-family: Courier New;"&gt;type %1\footer.html &amp;gt;&amp;gt; %3\default.htm&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="filecontent" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="line-height: 115%; font-size: 7pt; mso-bidi-font-size: 11.0pt;"&gt;&lt;span style="font-family: Courier New;"&gt;del %3\*.html&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="DE"&gt;&lt;span style="font-family: calibri; font-size: small"&gt;Als Ergebnis hier eine simple rudiment&amp;auml;re &lt;b style="mso-bidi-font-weight: normal"&gt;Web-Log Analyse Beispiel-Seite &lt;/b&gt;(&lt;/span&gt;&lt;a href="http://bfrank.codedazure.de/webstatistics/"&gt;&lt;span style="font-family: calibri; color: #0000ff; font-size: small"&gt;demo&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-ansi-language: en-us; mso-no-proof: yes"&gt;&lt;v:shape type="#_x0000_t75" o:spid="_x0000_i1025" id="Picture_x0020_18" style="width: 453.75pt; height: 431.25pt; visibility: visible; mso-wrap-style: square;"&gt;&lt;v:imagedata src="file:///C:\Users\bfrank\AppData\Local\Temp\msohtmlclip1\01\clip_image003.png"&gt;&lt;span style="font-family: calibri; font-size: small"&gt;&lt;/span&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/span&gt;&lt;span lang="DE"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="DE"&gt;&lt;o:p&gt;&lt;span style="font-family: calibri; font-size: small"&gt;&amp;nbsp;&lt;a href="http://bfrank.codedazure.de/webstatistics"&gt;&lt;img height="484" width="559" src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/1104.logparserwebstats_5F00_3875F8B2.png" alt="Logparser Sample Website showing simple web log analytics" border="0" title="Logparser Sample Website showing simple web log analytics" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" /&gt;&lt;/a&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin: 10pt 0cm 0pt"&gt;&lt;a name="_Toc271718571"&gt;&lt;span lang="DE"&gt;&lt;span style="font-family: cambria; color: #4f81bd; font-size: medium"&gt;Wie kriege ich obige Beispiel-Seite zum Laufen?&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="DE"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p class="MsoListParagraphCxSpFirst"&gt;&lt;span lang="DE" style="mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: ignore"&gt;&lt;span style="font-family: calibri; font-size: small"&gt;1.&lt;/span&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="DE"&gt;&lt;span style="font-family: calibri; font-size: small"&gt;Software Vorraussetzung: &lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&amp;amp;displayLang=en"&gt;&lt;span style="font-family: calibri; color: #0000ff; font-size: small"&gt;Logparser2.2&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: calibri; font-size: small"&gt; + &lt;/span&gt;&lt;a href="http://blogs.technet.com/b/bernhard_frank/archive/2010/01/19/logparser-chart-unterst-tzung-kontrollieren-und-installieren.aspx"&gt;&lt;span style="font-family: calibri; color: #0000ff; font-size: small"&gt;Chart Unterst&amp;uuml;tzung&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt; (Office Web Components 11) m&amp;uuml;ssen installiert sein.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span lang="DE" style="mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: ignore"&gt;&lt;span style="font-family: calibri; font-size: small"&gt;2.&lt;/span&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="DE"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;Download des Beispiels von &lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-03-35-42-07/webstats.zip" title="hier"&gt;hier&lt;/a&gt;&amp;nbsp;oder s.u.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span lang="DE" style="mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: ignore"&gt;&lt;span style="font-family: calibri; font-size: small"&gt;3.&lt;/span&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="DE"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;Extrahieren der Zip Datei nach z.B. C:\inetpub\analytics\&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span lang="DE" style="mso-bidi-font-family: calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;span style="mso-list: ignore"&gt;&lt;span style="font-family: calibri; font-size: small"&gt;4.&lt;/span&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="DE"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;Aufruf von TaskSchedulerBatch.cmd von der Commandline mit den Parametern:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style="border-bottom: #bfbfbf 1pt solid; border-left: #bfbfbf 1pt solid; padding-bottom: 1pt; padding-left: 4pt; padding-right: 4pt; background: #f2f2f2; border-top: #bfbfbf 1pt solid; border-right: #bfbfbf 1pt solid; padding-top: 1pt; mso-element: para-border-div; mso-background-themecolor: background1; mso-border-themecolor: background1; mso-border-themeshade: 191; mso-background-themeshade: 242; mso-border-alt: solid #bfbfbf .5pt"&gt;
&lt;p class="query"&gt;&lt;span style="font-family: courier new"&gt;&lt;span lang="DE" style="mso-ansi-language: de"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;TaskSchedulerBatch.cmd [Where are the .sql and .tpl files folder] [Where are the logs folder + logname] [Where should the output go folder]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-ansi-language: en-us"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;Beispiel:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 1pt; padding-left: 4pt; padding-right: 4pt; background: black; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 1pt; mso-element: para-border-div; mso-background-themecolor: text1"&gt;
&lt;p class="result"&gt;&lt;strong&gt;&lt;span style="color: #bfbfbf"&gt;&lt;span style="font-family: courier new"&gt;TaskSchedulerBatch.cmd "C:\Users\bfrank\Documents\My Logparser Queries" "c:\temp\logfiles\w3svc11\*.log" "c:\temp\result"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;h2 style="margin: 10pt 0cm 0pt"&gt;&lt;a name="_Toc271718572"&gt;&lt;span style="mso-ansi-language: en-us"&gt;&lt;span style="font-family: cambria; color: #4f81bd; font-size: medium"&gt;Task Scheduler: yes!&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-ansi-language: en-us"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;Einfach im Task Scheduler das &amp;bdquo;Task Scheduler Import (TaskSchedulerBatch).xml&amp;rdquo; importieren &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="DE"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;Benutzernamen &amp;auml;ndern und evtl. Pfade korrigieren.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin: 10pt 0cm 0pt"&gt;&lt;a name="_Toc271718573"&gt;&lt;span lang="DE"&gt;&lt;span style="font-family: cambria; color: #4f81bd; font-size: medium"&gt;Wichtige Anmerkungen:&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="DE"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;&lt;span lang="DE"&gt;Ich &amp;uuml;bernehme kein Verantworung f&amp;uuml;r die Verwendung des Codes. &lt;/span&gt;&lt;span style="mso-ansi-language: en-us"&gt;Use at your own risk! &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: wingdings; mso-ansi-language: en-us; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: calibri; mso-hansi-font-family: calibri; mso-char-type: symbol; mso-symbol-font-family: wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: wingdings"&gt;J&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-ansi-language: en-us"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small"&gt;&lt;span lang="DE"&gt;&lt;span style="font-family: calibri"&gt;Log analysen k&amp;ouml;nnen lange dauern brauchen evtl. viel CPU sollten daher nicht auf der Produktivmaschine gemacht werden &lt;/span&gt;&lt;/span&gt;&lt;span lang="DE" style="font-family: wingdings; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: calibri; mso-hansi-font-family: calibri; mso-char-type: symbol; mso-symbol-font-family: wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: wingdings"&gt;J&lt;/span&gt;&lt;/span&gt;&lt;span lang="DE"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small"&gt;&lt;span lang="DE"&gt;&lt;span style="font-family: calibri"&gt;Die Ausgaben sollten evtl. nicht jedermann zur Verf&amp;uuml;gung gestellt werden. &lt;/span&gt;&lt;/span&gt;&lt;span lang="DE" style="font-family: wingdings; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: calibri; mso-hansi-font-family: calibri; mso-char-type: symbol; mso-symbol-font-family: wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: wingdings"&gt;J&lt;/span&gt;&lt;/span&gt;&lt;span lang="DE"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-ansi-language: en-us"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: calibri"&gt;Viel Spa&amp;szlig;!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3354207" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author><category term="logparser" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/logparser/" /><category term="iis" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/iis/" /></entry><entry><title>Link Liste zu Web Application Platform White Paper</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2010/07/01/link-liste-zu-web-application-platform-white-paper.aspx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2010/07/01/link-liste-zu-web-application-platform-white-paper.aspx</id><published>2010-07-01T08:51:30Z</published><updated>2010-07-01T08:51:30Z</updated><content type="html">&lt;p&gt;&lt;a href="http://www.microsoft.com/windowsserver2008/en/us/ws08-white-papers.aspx"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IIS7: Web Application Platform Whitepaper" border="0" alt="IIS7: Web Application Platform Whitepaper" src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-76-43-metablogapi/1462.image_5F00_12267213.png" width="365" height="345" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Wohl auch eher als Gedankenstütze für mich: Link Liste für interessante &lt;a href="http://www.microsoft.com/windowsserver2008/en/us/ws08-white-papers.aspx"&gt;“Articles and White Papers” zum IIS7, Windows Server 2008 und mehr&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3341467" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Kostenloses – Open Source Control Panel für Windows</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2010/05/11/kostenloses-open-source-control-panel-f-r-windows.aspx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2010/05/11/kostenloses-open-source-control-panel-f-r-windows.aspx</id><published>2010-05-11T08:11:00Z</published><updated>2010-05-11T08:11:00Z</updated><content type="html">&lt;P&gt;Der Software Hersteller &lt;A href="http://www.dotnetpanel.com/" mce_href="http://www.dotnetpanel.com/"&gt;DotNetPanel&lt;/A&gt; hat kürzlich eine DotNetPanel-Codebase Revision unter dem Namen &lt;STRONG&gt;&lt;A href="http://www.websitepanel.net/" mce_href="http://www.websitepanel.net/"&gt;WebsitePanel&lt;/A&gt;&lt;/STRONG&gt; als Open Source Projekt online gestellt. Bei dem Projekt handelt es sich um &lt;STRONG&gt;web-basiertes Konfigurationstool &lt;/STRONG&gt;(aka “Control Panel” andere kommerzielle Vertreter z.B. &lt;A href="http://de.wikipedia.org/wiki/Plesk" mce_href="http://de.wikipedia.org/wiki/Plesk"&gt;Plesk&lt;/A&gt; oder &lt;A href="http://de.wikipedia.org/w/index.php?title=Spezial%3ASuche&amp;amp;redirs=0&amp;amp;search=plesk&amp;amp;fulltext=Search&amp;amp;ns0=1" mce_href="http://de.wikipedia.org/w/index.php?title=Spezial%3ASuche&amp;amp;redirs=0&amp;amp;search=plesk&amp;amp;fulltext=Search&amp;amp;ns0=1"&gt;…&lt;/A&gt; )&lt;STRONG&gt; für Windows Webserver und Webhosting.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Nett weil kostenlos – ein Blick auf &lt;EM&gt;WebsitePanel&lt;/EM&gt;:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.websitepanel.net/" mce_href="http://www.websitepanel.net/"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Screenshot WebsitePanel ein web-basiertes Konfigurationstool für Webserver und Webhosting" border=0 alt="Screenshot WebsitePanel ein web-basiertes Konfigurationstool für Webserver und Webhosting" src="http://blogs.technet.com/blogfiles/bernhard_frank/WindowsLiveWriter/KostenlosesOpenSourceControlPanelfrWindo_8F5D/image_3.png" width=244 height=171 mce_src="http://blogs.technet.com/blogfiles/bernhard_frank/WindowsLiveWriter/KostenlosesOpenSourceControlPanelfrWindo_8F5D/image_3.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://sourceforge.net/projects/websitepanel" mce_href="http://sourceforge.net/projects/websitepanel"&gt;http://sourceforge.net/projects/websitepanel&lt;/A&gt; &lt;BR&gt;&lt;A href="http://www.websitepanel.net/" mce_href="http://www.websitepanel.net/"&gt;http://www.websitepanel.net/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;Vorteile:&lt;/U&gt; &lt;BR&gt;&lt;EM&gt;Entwickler, Web-Admins&lt;/EM&gt;: Ideal zum Verwalten von Kunden- oder Entwicklungs-Server und Webseiten &lt;BR&gt;&lt;EM&gt;Hoster, Service Provider:&lt;/EM&gt; Kostenlose, erweiterbare und anpassbare Systemsteuerung als Mehrwert für Windows Hosting Kunden&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3331727" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author><category term="iis" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/iis/" /></entry><entry><title>Unattended Installation des Web Platform Installers (WebPI)</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2010/04/06/unattended-installation-des-web-platform-installers-webpi.aspx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2010/04/06/unattended-installation-des-web-platform-installers-webpi.aspx</id><published>2010-04-06T09:07:00Z</published><updated>2010-04-06T09:07:00Z</updated><content type="html">&lt;P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;z.B. zum automatischen 'vorbetanken' von &lt;STRONG&gt;IIS&lt;/STRONG&gt;-Webservern:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN: 0cm 0cm 0pt" class=MsoNormal&gt;Download des&lt;STRONG&gt; Web Platform Installer 2.0&lt;/STRONG&gt; von:&lt;BR&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d87a71e4-00bd-4204-8f25-f245feb0c3ad" mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d87a71e4-00bd-4204-8f25-f245feb0c3ad"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d87a71e4-00bd-4204-8f25-f245feb0c3ad&lt;/A&gt;&lt;BR&gt;in der entsprechenden Architektur.&lt;BR&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Unattended Installation &lt;/STRONG&gt;des &lt;STRONG&gt;WebPI&lt;/STRONG&gt; von der &lt;STRONG&gt;CMD line&lt;/STRONG&gt; mit ausführlicher Log-Datei („/lxv* …“): 
&lt;DIV&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P style="BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 1pt; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 4pt; PADDING-RIGHT: 4pt; BACKGROUND: black; BORDER-TOP: windowtext 1pt solid; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 1pt; mso-element: para-border-div; mso-background-themecolor: text1" class=result&gt;&lt;SPAN lang=EN-US&gt;&lt;STRONG&gt;&lt;FONT color=#bfbfbf face="Courier New"&gt;msiexec /i c:\temp\WebPlatformInstaller_x86.msi /qn /lxv* c:\temp\webpi.log &lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-ansi-language: DE; mso-fareast-language: EN-US; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-language: AR-SA"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Anm: Der Installer für WebPI 2.0 hat keine Switches | Optionen | Properties welche man msiexec mitgeben könnte um &lt;STRONG&gt;WebPI&lt;/STRONG&gt;-Voreinstellungen (wie z.B. die Auswahl anderer Feeds) schon bei der Installation zu machen.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3323366" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author><category term="iis" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/iis/" /><category term="Web Platform Installer (WebPI)" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/Web+Platform+Installer+_2800_WebPI_2900_/" /></entry><entry><title>Shortcuts oder Verknüpfungen automatisch via Powershell-Script erzeugen</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/bernhard_frank/archive/2010/03/23/shortcuts-automatisch-via-powershell-script-erzeugen.aspx" /><id>http://blogs.technet.com/b/bernhard_frank/archive/2010/03/23/shortcuts-automatisch-via-powershell-script-erzeugen.aspx</id><published>2010-03-23T17:23:50Z</published><updated>2010-03-23T17:23:50Z</updated><content type="html">&lt;p&gt;&lt;strong&gt;Icons automatisch&lt;/strong&gt; z.B. von der &lt;strong&gt;command line&lt;/strong&gt; auf dem Desktop &lt;strong&gt;erzeugen&lt;/strong&gt; ist gar nicht so trivial. &lt;em&gt;mklink&lt;/em&gt; ist ideal für Verzeichnisse um dagegen &lt;strong&gt;Verknüpfungen&lt;/strong&gt; &lt;strong&gt;zu Programmen&lt;/strong&gt; zu erstellen bietet sich z.B. die &lt;strong&gt;Powershell&lt;/strong&gt; an.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;“CreateIconOnDesktop.ps1:”&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;pre class="brush: ps;"&gt;$wshShellObject = New-Object -com WScript.Shell
$userProfileFolder = (get-childitem env:USERPROFILE).Value
$programFilesFolder = (get-childitem env:ProgramFiles).Value
$wshShellLink = $wshShellObject.CreateShortcut($userProfileFolder+&amp;quot;\Desktop\MeinLink.lnk&amp;quot;) 
$wshShellLink.TargetPath = $programFilesFolder+&amp;quot;\Internet Explorer\iexplore.exe&amp;quot;
$wshShellLink.WindowStyle = 1
$wshShellLink.IconLocation = $programFilesFolder +&amp;quot;\Internet Explorer\iexplore.exe&amp;quot; 
$wshShellLink.WorkingDirectory = $programFilesFolder + &amp;quot;\Internet Explorer\&amp;quot; 
$wshShellLink.Save()&lt;/pre&gt;

&lt;ol&gt;
  &lt;li&gt;Erzeugt ein Shell Object (COM) &lt;/li&gt;

  &lt;li&gt;Ermittelt Desktop Pfad des Benutzers und den Programm Ordner aus den Environment Variablen &lt;/li&gt;

  &lt;li&gt;Setzt Icon Eigenschaften und erzeugt das Icon “MeinLink” auf dem Desktop &lt;/li&gt;
&lt;/ol&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3320755" width="1" height="1"&gt;</content><author><name>Bernhard Frank</name><uri>http://blogs.technet.com/b.frank/ProfileUrlRedirect.ashx</uri></author><category term="my scripts" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/my+scripts/" /><category term="powershell" scheme="http://blogs.technet.com/b/bernhard_frank/archive/tags/powershell/" /></entry></feed>