Windows Vista Disk Failure Report

Microsoft.Windows.Client.Vista.Report.DiskFailure (Report)

This report lists computers whose hard disks have encountered serious errors during the last week.

Knowledge Base article:

Summary

This report details the set of machines that have impending hard drive failures and other drive corruption information. This includes data from

Element properties:

AccessibilityPublic
VisibleTrue

Report Localization:

R.COFIRECorrupted System File
R.Column1DateTime
R.Column2Computer Name
R.Column3Error
R.Column4Model
R.Column5Size (GB)
R.DFDS.M.A.R.T Fault
R.SubTitleThis report lists computers which have experienced serious disk issues in the last week.
R.TitleWindows Vista Disk Failure Report

Source Code:

<Report ID="Microsoft.Windows.Client.Vista.Report.DiskFailure" Accessibility="Public" Target="Microsoft.Windows.Client.Vista.Aggregate.PhysicalDisk" Visible="true">
<Dependencies>
<DataWarehouseDataSet>Microsoft.Windows.Client.Vista.Dataset.DiskFailure</DataWarehouseDataSet>
</Dependencies>
<Definition>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<DataSources>
<DataSource Name="DataWarehouseMain">
<DataSourceReference>Data Warehouse Main</DataSourceReference>
<rd:DataSourceID>e4235c51-407f-4065-8519-a1e57374bc45</rd:DataSourceID>
</DataSource>
</DataSources>
<ReportParameters>
<ReportParameter Name="LT_Report">
<DataType>String</DataType>
<DefaultValue>
<DataSetReference>
<DataSetName>LT_Report_Query</DataSetName>
<ValueField>ValueXml</ValueField>
</DataSetReference>
</DefaultValue>
<ValidValues>
<DataSetReference>
<DataSetName>LT_Report_Query</DataSetName>
<ValueField>ValueXml</ValueField>
<LabelField>ValueName</LabelField>
</DataSetReference>
</ValidValues>
<Hidden>true</Hidden>
</ReportParameter>
<ReportParameter Name="ManagementGroupId">
<DataType>String</DataType>
<DefaultValue>
<DataSetReference>
<DataSetName>ManagementGroups</DataSetName>
<ValueField>ManagementGroupGuid</ValueField>
</DataSetReference>
</DefaultValue>
<AllowBlank>true</AllowBlank>
<Prompt>ManagementGroupId</Prompt>
<ValidValues>
<DataSetReference>
<DataSetName>ManagementGroups</DataSetName>
<ValueField>ManagementGroupGuid</ValueField>
<LabelField>ManagementGroupDefaultName</LabelField>
</DataSetReference>
</ValidValues>
<MultiValue>true</MultiValue>
<Hidden>true</Hidden>
</ReportParameter>
</ReportParameters>
<rd:DrawGrid>true</rd:DrawGrid>
<InteractiveWidth>8.5in</InteractiveWidth>
<rd:GridSpacing>0.05in</rd:GridSpacing>
<rd:SnapToGrid>true</rd:SnapToGrid>
<Body><Script>
<ReportItems>
<Rectangle Name="rectangle5">
<Left>0.15in</Left>
<ReportItems>
<Table Name="DiskFailureTable">
<DataElementOutput>Output</DataElementOutput>
<DataSetName>Data_Warehouse_Main</DataSetName>
<Top>0.1in</Top>
<Details>
<TableRows>
<TableRow>
<TableCells>
<TableCell>
<ReportItems>
<Textbox Name="textbox6">
<ZIndex>4</ZIndex>
<Style></Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<PaddingLeft>2pt</PaddingLeft>
<PaddingBottom>2pt</PaddingBottom>
<FontFamily>Tahoma</FontFamily>
<BorderColor>
<Default>DimGray</Default>
</BorderColor>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
</Style>
<CanGrow>true</CanGrow>
<Value>=Code.FormatDateTime("g", Fields!DateTime.Value)</Value>
</Textbox>
</ReportItems>
</TableCell>
<TableCell>
<ReportItems>
<Textbox Name="textbox9">
<ZIndex>3</ZIndex>
<Style></Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<PaddingLeft>2pt</PaddingLeft>
<PaddingBottom>2pt</PaddingBottom>
<FontFamily>Tahoma</FontFamily>
<BorderColor>
<Default>DimGray</Default>
</BorderColor>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
</Style>
<CanGrow>true</CanGrow>
<Value>=Fields!PrincipalName.Value</Value>
</Textbox>
</ReportItems>
</TableCell>
<TableCell>
<ReportItems>
<Textbox Name="textbox10">
<ZIndex>2</ZIndex>
<Style></Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<PaddingLeft>2pt</PaddingLeft>
<PaddingBottom>2pt</PaddingBottom>
<FontFamily>Tahoma</FontFamily>
<BorderColor>
<Default>DimGray</Default>
</BorderColor>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
</Style>
<CanGrow>true</CanGrow>
<Value>=Code.GetErrorString(Fields!PublisherName.Value)</Value>
</Textbox>
</ReportItems>
</TableCell>
<TableCell>
<ReportItems>
<Textbox Name="textbox14">
<ZIndex>1</ZIndex>
<Style></Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<PaddingLeft>2pt</PaddingLeft>
<PaddingBottom>2pt</PaddingBottom>
<FontFamily>Tahoma</FontFamily>
<BorderColor>
<Default>DimGray</Default>
</BorderColor>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
</Style>
<CanGrow>true</CanGrow>
<Value>=Fields!Model.Value</Value>
</Textbox>
</ReportItems>
</TableCell>
<TableCell>
<ReportItems>
<Textbox Name="Size">
<rd:DefaultName>Size</rd:DefaultName>
<Style></Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<PaddingLeft>2pt</PaddingLeft>
<PaddingBottom>2pt</PaddingBottom>
<FontFamily>Tahoma</FontFamily>
<BorderColor>
<Default>DimGray</Default>
</BorderColor>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
</Style>
<CanGrow>true</CanGrow>
<Value>=ROUND(Fields!Size.Value/1000000000)</Value>
</Textbox>
</ReportItems>
</TableCell>
</TableCells>
<Height>0.25in</Height>
</TableRow>
</TableRows>
</Details>
<Style></Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
</Style>
<Header>
<TableRows>
<TableRow>
<TableCells>
<TableCell>
<ReportItems>
<Textbox Name="textbox4">
<rd:DefaultName>textbox4</rd:DefaultName>
<ZIndex>9</ZIndex>
<Style></Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<PaddingLeft>4pt</PaddingLeft>
<PaddingBottom>2pt</PaddingBottom>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<VerticalAlign>Middle</VerticalAlign>
<BorderColor>
<Default>DimGray</Default>
</BorderColor>
<BackgroundColor>Gray</BackgroundColor>
<Color>White</Color>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
</Style>
<CanGrow>true</CanGrow>
<UserSort>
<SortExpression>=Fields!DateTime.Value</SortExpression>
</UserSort>
<Value>=Code.GetLocTable("LT_Report").GetString("R.Column1", "DateTime")</Value>
</Textbox>
</ReportItems>
</TableCell>
<TableCell>
<ReportItems>
<Textbox Name="textbox5">
<DataElementOutput>NoOutput</DataElementOutput>
<ZIndex>8</ZIndex>
<Style></Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<TextAlign>Center</TextAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingBottom>2pt</PaddingBottom>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<VerticalAlign>Middle</VerticalAlign>
<BorderColor>
<Default>DimGray</Default>
</BorderColor>
<BackgroundColor>Gray</BackgroundColor>
<Color>White</Color>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
</Style>
<CanGrow>true</CanGrow>
<UserSort>
<SortExpression>=Fields!PrincipalName.Value</SortExpression>
</UserSort>
<Value>=Code.GetLocTable("LT_Report").GetString("R.Column2", "Machine Name")</Value>
</Textbox>
</ReportItems>
</TableCell>
<TableCell>
<ReportItems>
<Textbox Name="textbox2">
<DataElementOutput>NoOutput</DataElementOutput>
<ZIndex>7</ZIndex>
<Style></Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<TextAlign>Center</TextAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingBottom>2pt</PaddingBottom>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<VerticalAlign>Middle</VerticalAlign>
<BorderColor>
<Default>DimGray</Default>
</BorderColor>
<BackgroundColor>Gray</BackgroundColor>
<Color>White</Color>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
</Style>
<CanGrow>true</CanGrow>
<UserSort>
<SortExpression>=Fields!PublisherName.Value</SortExpression>
</UserSort>
<Value>=Code.GetLocTable("LT_Report").GetString("R.Column3", "Issue")</Value>
</Textbox>
</ReportItems>
</TableCell>
<TableCell>
<ReportItems>
<Textbox Name="textbox3">
<DataElementOutput>NoOutput</DataElementOutput>
<rd:DefaultName>textbox3</rd:DefaultName>
<ZIndex>6</ZIndex>
<Style></Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<TextAlign>Center</TextAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingBottom>2pt</PaddingBottom>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<VerticalAlign>Middle</VerticalAlign>
<BorderColor>
<Default>DimGray</Default>
</BorderColor>
<BackgroundColor>Gray</BackgroundColor>
<Color>White</Color>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
</Style>
<CanGrow>true</CanGrow>
<UserSort>
<SortExpression>=Fields!Model.Value</SortExpression>
</UserSort>
<Value>=Code.GetLocTable("LT_Report").GetString("R.Column4", "Model")</Value>
</Textbox>
</ReportItems>
</TableCell>
<TableCell>
<ReportItems>
<Textbox Name="textbox16">
<DataElementOutput>NoOutput</DataElementOutput>
<ZIndex>5</ZIndex>
<Style></Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<TextAlign>Center</TextAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingBottom>2pt</PaddingBottom>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<VerticalAlign>Middle</VerticalAlign>
<BorderColor>
<Default>DimGray</Default>
</BorderColor>
<BackgroundColor>Gray</BackgroundColor>
<Color>White</Color>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
</Style>
<CanGrow>true</CanGrow>
<UserSort>
<SortExpression>=Fields!Size.Value</SortExpression>
</UserSort>
<Value>=Code.GetLocTable("LT_Report").GetString("R.Column5", "Size (GB)")</Value>
</Textbox>
</ReportItems>
</TableCell>
</TableCells>
<Height>0.35in</Height>
</TableRow>
</TableRows>
<RepeatOnNewPage>true</RepeatOnNewPage>
<FixedHeader>true</FixedHeader>
</Header>
<TableColumns>
<TableColumn>
<Width>1.75in</Width>
</TableColumn>
<TableColumn>
<Width>2.1in</Width>
</TableColumn>
<TableColumn>
<Width>1.5in</Width>
</TableColumn>
<TableColumn>
<Width>2.05in</Width>
</TableColumn>
<TableColumn>
<Width>0.65in</Width>
</TableColumn>
</TableColumns>
<DataElementName>AvailabilityTable</DataElementName>
<Height>0.6in</Height>
</Table>
</ReportItems>
<Top>1.29167in</Top>
<ZIndex>3</ZIndex>
<Width>8.05in</Width>
<Style></Style>
<BorderStyle>
<Bottom>Solid</Bottom>
</BorderStyle>
<BorderColor>
<Default>DarkGray</Default>
</BorderColor>
<BackgroundColor>Gainsboro</BackgroundColor>
</Style>
<Height>1.61042in</Height>
</Rectangle>
<Rectangle Name="rectangle4">
<Left>0.15in</Left>
<ReportItems>
<Textbox Name="reportDescriptionTitle">
<Left>0.2in</Left>
<DataElementOutput>NoOutput</DataElementOutput>
<Top>0.3in</Top>
<ZIndex>1</ZIndex>
<Style></Style>
<PaddingLeft>2pt</PaddingLeft>
<PaddingBottom>2pt</PaddingBottom>
<FontFamily>Tahoma</FontFamily>
<FontSize>8pt</FontSize>
<VerticalAlign>Middle</VerticalAlign>
<Color>DimGray</Color>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
</Style>
<CanGrow>true</CanGrow>
<Height>0.2in</Height>
<Value>=Code.GetLocTable("LT_Report").GetString("R.SubTitle", "This report lists computers whose hard disks have encountered serious errors during the last week.")</Value>
</Textbox>
<Textbox Name="reportTitle">
<Left>0.2in</Left>
<DataElementOutput>Output</DataElementOutput>
<Top>0.05in</Top>
<Style></Style>
<PaddingLeft>2pt</PaddingLeft>
<PaddingBottom>2pt</PaddingBottom>
<FontFamily>Tahoma</FontFamily>
<FontWeight>700</FontWeight>
<FontSize>11pt</FontSize>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
</Style>
<DataElementStyle>ElementNormal</DataElementStyle>
<CanGrow>true</CanGrow>
<DataElementName>Title</DataElementName>
<Height>0.25in</Height>
<Value>=Code.GetLocTable("LT_Report").GetString("R.Title", "Windows Vista Disk Failure Report")</Value>
</Textbox>
</ReportItems>
<Top>0.59167in</Top>
<ZIndex>2</ZIndex>
<Width>8.05in</Width>
<Style></Style>
<BackgroundColor>Gainsboro</BackgroundColor>
</Style>
<Height>0.6in</Height>
</Rectangle>
<Image Name="banner_image">
<Sizing>Fit</Sizing>
<Left>0.15in</Left>
<MIMEType/>
<ZIndex>1</ZIndex>
<Width>8.05in</Width>
<Source>External</Source>
<Style/>
<Height>0.64167in</Height>
<Value>../banner_portrait.jpg</Value>
</Image>
<Rectangle Name="rectangle3">
<Left>0.15in</Left>
<Top>1.09167in</Top>
<Width>8.05in</Width>
<Style></Style>
<BackgroundColor>Gainsboro</BackgroundColor>
</Style>
<Height>0.2in</Height>
</Rectangle>
</ReportItems>
<Height>4.8in</Height>
</Script></Body>
<rd:ReportID>c68ba499-dc6c-4ecd-92be-231a07813f0f</rd:ReportID>
<DataSets>
<DataSet Name="Data_Warehouse_Main">
<Query>
<rd:UseGenericDesigner>true</rd:UseGenericDesigner>
<CommandText>exec dbo.DiskFailureDrilldownReport</CommandText>
<DataSourceName>DataWarehouseMain</DataSourceName>
</Query>
<Fields>
<Field Name="DateTime">
<rd:TypeName>System.DateTime</rd:TypeName>
<DataField>DateTime</DataField>
</Field>
<Field Name="PrincipalName">
<rd:TypeName>System.String</rd:TypeName>
<DataField>PrincipalName</DataField>
</Field>
<Field Name="PublisherName">
<rd:TypeName>System.String</rd:TypeName>
<DataField>PublisherName</DataField>
</Field>
<Field Name="EventId">
<rd:TypeName>System.Int32</rd:TypeName>
<DataField>EventId</DataField>
</Field>
<Field Name="Manufacturer">
<rd:TypeName>System.String</rd:TypeName>
<DataField>Manufacturer</DataField>
</Field>
<Field Name="Model">
<rd:TypeName>System.String</rd:TypeName>
<DataField>Model</DataField>
</Field>
<Field Name="Size">
<rd:TypeName>System.Int64</rd:TypeName>
<DataField>Size</DataField>
</Field>
<Field Name="ContainsSystemDrive">
<rd:TypeName>System.Int32</rd:TypeName>
<DataField>ContainsSystemDrive</DataField>
</Field>
</Fields>
</DataSet>
<DataSet Name="LT_Report_Query">
<Query>
<CommandType>StoredProcedure</CommandType>
<CommandText>ReportDisplayStringGet</CommandText>
<QueryParameters>
<QueryParameter Name="@ManagementGroupGuid">
<Value>=Code.GetCallingManagementGroupId()</Value>
</QueryParameter>
<QueryParameter Name="@ManagementPackSystemName">
<Value>Microsoft.Windows.Client.Vista.Aggregate</Value>
</QueryParameter>
<QueryParameter Name="@ReportSystemName">
<Value>Microsoft.Windows.Client.Vista.Report.DiskFailure</Value>
</QueryParameter>
<QueryParameter Name="@LanguageCode">
<Value>=Code.GetReportLocLanguageCode()</Value>
</QueryParameter>
<QueryParameter Name="@Scope">
<Value>R.%</Value>
</QueryParameter>
</QueryParameters>
<DataSourceName>DataWarehouseMain</DataSourceName>
</Query>
<Fields>
<Field Name="ValueXml">
<DataField>XML_F52E2B61-18A1-11d1-B105-00805F49916B</DataField>
</Field>
<Field Name="ValueName">
<Value>="LT"</Value>
</Field>
</Fields>
</DataSet>
<DataSet Name="ManagementGroups">
<Query>
<CommandText>SELECT ManagementGroupGuid, ManagementGroupDefaultName FROM vManagementGroup</CommandText>
<DataSourceName>DataWarehouseMain</DataSourceName>
</Query>
<Fields>
<Field Name="ManagementGroupGuid">
<rd:TypeName>System.Guid</rd:TypeName>
<DataField>ManagementGroupGuid</DataField>
</Field>
<Field Name="ManagementGroupDefaultName">
<rd:TypeName>System.String</rd:TypeName>
<DataField>ManagementGroupDefaultName</DataField>
</Field>
</Fields>
</DataSet>
</DataSets>
<CodeModules>
<CodeModule>Microsoft.EnterpriseManagement.Reporting.Code, Version=6.0.0.0, Culture=neutral</CodeModule>
</CodeModules>
<Code><Script>
Const LocTableStringQuery As String = "R/S[@N='{0}']/text()"
Const TimeZoneParameterName As String = "TimeZone"

Dim LocTables As System.Collections.Generic.Dictionary(Of String, Microsoft.EnterpriseManagement.Reporting.XmlStringTable)
Dim ReportCulture As System.Globalization.CultureInfo

Public Function FormatDateTime(Format As String, Value As DateTime) As String
return Value.ToLocalTime().ToString(Format, ReportCulture)
End Function

Protected Overrides Sub OnInit()
LocTables = new System.Collections.Generic.Dictionary(Of String, Microsoft.EnterpriseManagement.Reporting.XmlStringTable)()
ReportCulture = System.Globalization.CultureInfo.GetCultureInfo(Report.User("Language"))
End Sub
Public Function GetCallingManagementGroupId() As String
Return Microsoft.EnterpriseManagement.Reporting.ReportingConfiguration.ManagementGroupId
End Function

Public Function GetLocTable(Name As String) As Microsoft.EnterpriseManagement.Reporting.XmlStringTable
Dim LocTable As Microsoft.EnterpriseManagement.Reporting.XmlStringTable

If Not LocTables.TryGetValue(Name, LocTable) Then
LocTable = New Microsoft.EnterpriseManagement.Reporting.XmlStringTable(LocTableStringQuery, Report.Parameters(Name).Value)
LocTables.Add(Name, LocTable)
End If

Return LocTable
End Function

Public Function GetReportLocLanguageCode() As String
Return ReportCulture.ThreeLetterWindowsLanguageName
End Function
Public Function GetErrorString(PublisherName) As String
Dim val
If PublisherName = "Microsoft-Windows-DiskDiagnostic" Then
val = GetLocTable("LT_Report").GetString("R.DFD", "S.M.A.R.T Fault")
Else If PublisherName = "Microsoft-Windows-CorruptedFileRecovery-Server"
val = GetLocTable("LT_Report").GetString("R.COFIRE", "Corrupted System File")
End If
return val
End Function
</Script></Code>
<Width>8.5in</Width>
<InteractiveHeight>11in</InteractiveHeight>
<Language>en-US</Language>
</Report>
</Definition>
<ReportStrings>
<ReportString ID="R.Title"/>
<ReportString ID="R.SubTitle"/>
<ReportString ID="R.Column1"/>
<ReportString ID="R.Column2"/>
<ReportString ID="R.Column3"/>
<ReportString ID="R.Column4"/>
<ReportString ID="R.Column5"/>
<ReportString ID="R.DFD"/>
<ReportString ID="R.COFIRE"/>
</ReportStrings>
</Report>