Generic script resource error

Microsoft.Windows.2008.Cluster.Management.Monitoring.Generic.script.resource.error (Rule)

Knowledge Base article:

Stop the clustered Generic Script instance and check that the script code does not contain an infinite loop or infinite hang at the entry point indicated in the event message. If the script code is not causing a problem, consider increasing the pending timeout for this resource so that the associated application has enough time to start. For more information, see the procedures that follow.

To perform these procedures, you must be a member of the local Administrators group on each clustered server, and the account you use must be a domain account, or you must have been delegated the equivalent authority.

Stopping a clustered Generic Script instance, checking the coding, and restarting

To stop a clustered Generic Script instance, check the coding, and restart the clustered instance:

  1. To open the failover cluster snap-in, click Start, click Administrative Tools, and then click Failover Cluster Management. If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.
  2. In the Failover Cluster Management snap-in, if the cluster you want to manage is not displayed, in the console tree, right-click Failover Cluster Management, click Manage a Cluster, and then select or specify the cluster that you want.
  3. If the console tree is collapsed, expand the tree under the cluster you want to manage, and then expand Services and Applications.
  4. Right-click the clustered Generic Script instance and then click Take this service or application offline.
  5. Review the associated script and ensure that any problematic code in it has been corrected.
  6. Right-click the clustered Generic Script instance and then click Bring this service or application online.

Viewing the Pending Timeout setting for a clustered Generic Script resource

To view the Pending timeout setting for a clustered Generic Script resource:

  1. To open the failover cluster snap-in, click Start, click Administrative Tools, and then click Failover Cluster Management. If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.
  2. In the Failover Cluster Management snap-in, if the cluster you want to manage is not displayed, in the console tree, right-click Failover Cluster Management, click Manage a Cluster, and then select or specify the cluster that you want.
  3. If the console tree is collapsed, expand the tree under the cluster you want to manage, and then expand Services and Applications.
  4. Click the clustered Generic Script instance.
  5. Right-click the generic script resource, and then click Properties.
  6. Click the Policies tab and view the value for Pending timeout, which is measured in minutes and seconds. This timeout must allow enough time for the associated application to start.

If you do not currently have Event Viewer open, see "Opening Event Viewer and viewing events related to failover clustering."

Opening Event Viewer and viewing events related to failover clustering

To open Event Viewer and view events related to failover clustering:

  1. If Server Manager is not already open, click Start, click Administrative Tools, and then click Server Manager. If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.
  2. In the console tree, expand Diagnostics, expand Event Viewer, expand Windows Logs, and then click System.
  3. To filter the events so that only events with a Source of FailoverClustering are shown, in the Actions pane, click Filter Current Log. On the Filter tab, in the Event sources box, select FailoverClustering. Select other options as appropriate, and then click OK.
  4. To sort the displayed events by date and time, in the center pane, click the Date and Time column heading.

Element properties:

TargetMicrosoft.Windows.2008.Cluster.Monitoring.Service
CategoryAlert
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
Generic script resource error
{0}

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.2008.Cluster.EventProvider Default
WA WriteAction Microsoft.Windows.Cluster.GenerateAlertAction.SuppressedByDescription Default

Source Code:

<Rule ID="Microsoft.Windows.2008.Cluster.Management.Monitoring.Generic.script.resource.error" Enabled="true" Target="Clus2008Library!Microsoft.Windows.2008.Cluster.Monitoring.Service" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.Windows.2008.Cluster.EventProvider">
<Criteria>
<RegExExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(1233|1232)$</Pattern>
</RegExExpression>
</Criteria>
<LogName>System</LogName>
<PublisherName>Microsoft-Windows-FailoverClustering</PublisherName>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WA" TypeID="ClusLibrary!Microsoft.Windows.Cluster.GenerateAlertAction.SuppressedByDescription">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.2008.Cluster.Management.Monitoring.Generic.script.resource.error.AlertMessage"]$</AlertMessageId>
</WriteAction>
</WriteActions>
</Rule>