Modulen har ett ogiltigt värde

Microsoft.Windows.InternetInformationServices.10.0.Module.has.an.invalid.precondition (Rule)

Knowledge Base article:

Sammanfattning

Internet Information Services (IIS) 9 gör att utvecklare enkelt kan konfigurera förinställda och förvaltad kodmoduler som process förfrågningar till webbservern. För att arbetsprocessen ska kunna ladda dem, måste modulerna konfigureras korrekt. Rätt modul konfiguration kräver att modulen har ett unikt namn och en giltig typ eller sökväg. Behandlade moduler kan ange om de skall användas endast som förfrågningar till ASP.NET program eller förvaltade program. När det anges, kan denna inställning optimera prestanda.

Lösningar

Korrigera en moduls förhandsvillkor

Modulposter har ett valfritt preCondition-attribut som kan innehålla villkor för den modul som ska läsas in. Till exempel kan förhandsvillkoret ange att IIS enbart läser in modulen för programpooler som körs i integrerat läge, enbart för programpooler som körs i ISAPI-läge eller enbart programpooler som använder en angiven version av .NET Framework. Den sistnämnda inställningen gör det möjligt att använda separata versioner av den hanterade motormodulen för programpooler som använder olika versioner av CLR-körningen.

Här är ett exempel från globalModules-avsnittet för ApplicationHost.config-filen för en modulpost som har ett förhandsvillkorsattribut:

<globalModules>

<add name=”ManagedEngine”

image=”%Windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll”

preCondition=”integratedMode,runtimeVersionv2.0,bitness32”

/>

</globalModules>

Innan du läser in varje modul utvärderar servern förhandsvillkoret om det finns ett sådant i konfigurationen. Om någon av inläsningsförhandsvillkoren returnerar falskt resultat är modulen inte inläst.

Så här löser du problemet:

Säkerhetskopiera filen ApplicationHost.config

Så här säkerhetskopierar du filen ApplicationHost.config:

En katalog med säkerhetskopieringsnamnet skapas under katalogen %Windir%\system32\inetsrv\backup. Om du inte anger något namn genererar Appcmd.exe automatiskt ett katalognamn med aktuellt datum och tidpunkt.

Hitta modulposten i ApplicationHost.config-filen

Så här hittar du modulposten i ApplicationHost.config-filen:

Mer information om avsnittet globalModules finns i IIS 10: lägg till element för globalModules (IIS-inställningsschema).

Element properties:

TargetMicrosoft.Windows.InternetInformationServices.10.0.WebServer
CategoryAlert
EnabledTrue
Event_ID2296
Event SourceMicrosoft-Windows-IIS-W3SVC-WP
Alert GenerateFalse
RemotableTrue
Event LogApplication

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
WA WriteAction Microsoft.Windows.Server.IIS.10.0.GenerateAlertAction.SuppressedByDescription Default

Source Code:

<Rule ID="Microsoft.Windows.InternetInformationServices.10.0.Module.has.an.invalid.precondition" Enabled="true" Target="Microsoft.Windows.InternetInformationServices.10.0.WebServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-IIS-W3SVC-WP</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>2296</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WA" TypeID="Microsoft.Windows.Server.IIS.10.0.GenerateAlertAction.SuppressedByDescription">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.InternetInformationServices.10.0.Module.has.an.invalid.precondition.AlertMessage"]$</AlertMessageId>
</WriteAction>
</WriteActions>
</Rule>