Monitor for TFS Event 3001 - No Permissions for Reports

TeamFoundationServer2010.MonitorTFSEvent3001 (UnitMonitor)

Monitor for TFS Event 3001, which is raised when user does not have TFS permission to view reports. The user cannot be authenticated by Team Foundation or a component used by Team Foundation Server.

Knowledge Base article:

Resolutions

Determine if the user has permissions to access the specific SQL Component. It may be necessary to use ‘tfssecurity.exe’ to grant the user the specific permissions.

Element properties:

TargetTeamFoundationServer2010.TFS2010AppComponentBase
Parent MonitorSystem.Health.AvailabilityState
CategorySecurityHealth
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.SingleEventLogTimer2StateMonitorType
RemotableTrue
AccessibilityPublic
RunAsDefault

Source Code:

<UnitMonitor ID="TeamFoundationServer2010.MonitorTFSEvent3001" Accessibility="Public" Enabled="true" Target="TeamFoundationServer2010.TFS2010AppComponentBase" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.SingleEventLogTimer2StateMonitorType" ConfirmDelivery="true">
<Category>SecurityHealth</Category>
<OperationalStates>
<OperationalState ID="EventRaised" MonitorTypeStateID="EventRaised" HealthState="Warning"/>
<OperationalState ID="TimerEventRaised" MonitorTypeStateID="TimerEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">3001</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">TFS Services</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
<TimerWaitInSeconds>600</TimerWaitInSeconds>
</Configuration>
</UnitMonitor>