PSWinVitals.format.ps1xml
<?xml version="1.0" encoding="utf-8"?>
<Configuration> <ViewDefinitions> <View> <Name>PSWinVitals.CHKDSK</Name> <ViewSelectedBy> <TypeName>PSWinVitals.CHKDSK</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader /> <TableColumnHeader /> <TableColumnHeader> <Label>Output</Label> </TableColumnHeader> <TableColumnHeader /> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>Operation</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>VolumePath</PropertyName> </TableColumnItem> <TableColumnItem> <ScriptBlock>'{0} lines' -f $_.Output.Count</ScriptBlock> </TableColumnItem> <TableColumnItem> <PropertyName>ExitCode</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>PSWinVitals.CrashDumps</Name> <ViewSelectedBy> <TypeName>PSWinVitals.CrashDumps</TypeName> </ViewSelectedBy> <ListControl> <ListEntries> <ListEntry> <ListItems> <ListItem> <Label>Kernel</Label> <ScriptBlock> $CrashDumps = $_.Kernel.Minidumps.Count if ($_.Kernel.MemoryDump) { $CrashDumps++ } return '{0} dump(s)' -f $CrashDumps </ScriptBlock> </ListItem> <ListItem> <Label>Service</Label> <ScriptBlock> $CrashDumps = 0 foreach ($Service in $_.Service) { $CrashDumps += $Service.CrashDumps.Count } return '{0} dump(s)' -f $CrashDumps </ScriptBlock> </ListItem> <ListItem> <Label>User</Label> <ScriptBlock> $CrashDumps = 0 foreach ($User in $_.User) { $CrashDumps += $User.CrashDumps.Count } return '{0} dump(s)' -f $CrashDumps </ScriptBlock> </ListItem> </ListItems> </ListEntry> </ListEntries> </ListControl> </View> <View> <Name>PSWinVitals.DISM</Name> <ViewSelectedBy> <TypeName>PSWinVitals.DISM</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader /> <TableColumnHeader> <Label>Output</Label> </TableColumnHeader> <TableColumnHeader /> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>Operation</PropertyName> </TableColumnItem> <TableColumnItem> <ScriptBlock>'{0} lines' -f $_.Output.Count</ScriptBlock> </TableColumnItem> <TableColumnItem> <PropertyName>ExitCode</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>PSWinVitals.EnvironmentVariables</Name> <ViewSelectedBy> <TypeName>PSWinVitals.EnvironmentVariables</TypeName> </ViewSelectedBy> <ListControl> <ListEntries> <ListEntry> <ListItems> <ListItem> <PropertyName>Machine</PropertyName> </ListItem> <ListItem> <PropertyName>User</PropertyName> </ListItem> </ListItems> </ListEntry> </ListEntries> </ListControl> </View> <View> <Name>PSWinVitals.InstalledProgram</Name> <ViewSelectedBy> <TypeName>PSWinVitals.InstalledProgram</TypeName> </ViewSelectedBy> <TableControl> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>Name</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Publisher</PropertyName> </TableColumnItem> <TableColumnItem> <PropertyName>Version</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>PSWinVitals.KernelCrashDumps</Name> <ViewSelectedBy> <TypeName>PSWinVitals.KernelCrashDumps</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader> <Label>MemoryDump</Label> </TableColumnHeader> <TableColumnHeader /> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <ScriptBlock>if ($_.MemoryDump) { $_.MemoryDump } else { 'Absent' }</ScriptBlock> </TableColumnItem> <TableColumnItem> <PropertyName>Minidumps</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>PSWinVitals.NGEN</Name> <ViewSelectedBy> <TypeName>PSWinVitals.NGEN</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader /> <TableColumnHeader> <Label>Output</Label> </TableColumnHeader> <TableColumnHeader /> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>Name</PropertyName> </TableColumnItem> <TableColumnItem> <ScriptBlock> if ($_.Output.Count -eq 0) { return 'No output' } if ($_.Output.Count -eq 1) { return $_.Output } return '{0} lines' -f $_.Output.Count </ScriptBlock> </TableColumnItem> <TableColumnItem> <PropertyName>ExitCode</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>PSWinVitals.SFC</Name> <ViewSelectedBy> <TypeName>PSWinVitals.SFC</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader /> <TableColumnHeader> <Label>Output</Label> </TableColumnHeader> <TableColumnHeader /> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>Operation</PropertyName> </TableColumnItem> <TableColumnItem> <ScriptBlock>'{0} lines' -f $_.Output.Count</ScriptBlock> </TableColumnItem> <TableColumnItem> <PropertyName>ExitCode</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>PSWinVitals.UserProfileCrashDumps</Name> <ViewSelectedBy> <TypeName>PSWinVitals.UserProfileCrashDumps</TypeName> </ViewSelectedBy> <TableControl> <TableHeaders> <TableColumnHeader /> <TableColumnHeader> <Label>DumpCount</Label> </TableColumnHeader> <TableColumnHeader /> </TableHeaders> <TableRowEntries> <TableRowEntry> <TableColumnItems> <TableColumnItem> <PropertyName>Name</PropertyName> </TableColumnItem> <TableColumnItem> <ScriptBlock>$_.CrashDumps.Count</ScriptBlock> </TableColumnItem> <TableColumnItem> <PropertyName>CrashDumps</PropertyName> </TableColumnItem> </TableColumnItems> </TableRowEntry> </TableRowEntries> </TableControl> </View> <View> <Name>PSWinVitals.VitalChecks</Name> <ViewSelectedBy> <TypeName>PSWinVitals.VitalChecks</TypeName> </ViewSelectedBy> <ListControl> <ListEntries> <ListEntry> <ListItems> <ListItem> <Label>FileSystemScans</Label> <ScriptBlock> if ($null -eq $_.FileSystemScans) { return 'Skipped' } if ($_.FileSystemScans -eq $false) { return 'Missing dependency: Storage module' } $ScanErrors = 0 foreach ($Scan in $_.FileSystemScans) { if ($Scan.ExitCode -ne 0) { $ScanErrors++ } } if ($ScanErrors -eq 0) { return 'Healthy' } return '{0} error(s)' -f $ScanErrors </ScriptBlock> </ListItem> <ListItem> <Label>ComponentStoreScan</Label> <ScriptBlock> if ($null -eq $_.ComponentStoreScan) { return 'Skipped' } if ($_.ComponentStoreScan.ExitCode -eq 0) { return 'Healthy' } return 'Error (RC: {0})' -f $_.ComponentStoreScan.ExitCode </ScriptBlock> </ListItem> <ListItem> <Label>SystemFileChecker</Label> <ScriptBlock> if ($null -eq $_.SystemFileChecker) { return 'Skipped' } if ($_.SystemFileChecker.ExitCode -eq 0) { return 'Healthy' } return 'Error (RC: {0})' -f $_.SystemFileChecker.ExitCode </ScriptBlock> </ListItem> </ListItems> </ListEntry> </ListEntries> </ListControl> </View> <View> <Name>PSWinVitals.VitalInformation</Name> <ViewSelectedBy> <TypeName>PSWinVitals.VitalInformation</TypeName> </ViewSelectedBy> <ListControl> <ListEntries> <ListEntry> <ListItems> <ListItem> <Label>ComputerInfo</Label> <ScriptBlock> if ($null -eq $_.ComputerInfo) { return 'Skipped' } if (!$_.ComputerInfo) { return 'Missing dependency: Get-ComputerInfo cmdlet' } return '{0} {1}' -f $_.ComputerInfo.WindowsProductName, $_.ComputerInfo.OSVersion </ScriptBlock> </ListItem> <ListItem> <Label>HypervisorInfo</Label> <ScriptBlock> if ($null -eq $_.HypervisorInfo) { return 'Skipped' } if (!$_.HypervisorInfo) { return 'Not present or unknown' } return $_.HypervisorInfo.Vendor </ScriptBlock> </ListItem> <ListItem> <Label>DevicesWithBadStatus</Label> <ScriptBlock> if ($null -eq $_.DevicesWithBadStatus) { return 'Skipped' } if ($_.DevicesWithBadStatus -eq $false) { return 'Missing dependency: PnpDevice module' } return '{0} device(s)' -f $_.DevicesWithBadStatus.Count </ScriptBlock> </ListItem> <ListItem> <Label>DevicesNotPresent</Label> <ScriptBlock> if ($null -eq $_.DevicesNotPresent) { return 'Skipped' } if ($_.DevicesNotPresent -eq $false) { return 'Missing dependency: PnpDevice module' } return '{0} device(s)' -f $_.DevicesNotPresent.Count </ScriptBlock> </ListItem> <ListItem> <Label>StorageVolumes</Label> <ScriptBlock> if ($null -eq $_.StorageVolumes) { return 'Skipped' } if ($_.StorageVolumes -eq $false) { return 'Missing dependency: Storage module' } return '{0} volume(s)' -f $_.StorageVolumes.Count </ScriptBlock> </ListItem> <ListItem> <Label>CrashDumps</Label> <ScriptBlock> if ($null -eq $_.CrashDumps) { return 'Skipped' } $KernelDumps = $_.CrashDumps.Kernel.Minidumps.Count if ($_.CrashDumps.Kernel.MemoryDump) { $KernelDumps++ } $ServiceDumps = 0 foreach ($Service in $_.CrashDumps.Service) { $ServiceDumps += $Service.CrashDumps.Count } $UserDumps = 0 foreach ($User in $_.CrashDumps.User) { $UserDumps += $User.CrashDumps.Count } return '{0} kernel dump(s), {1} service dump(s), {2} user dump(s)' -f $KernelDumps, $ServiceDumps, $UserDumps </ScriptBlock> </ListItem> <ListItem> <Label>ComponentStoreAnalysis</Label> <ScriptBlock> if ($null -eq $_.ComponentStoreAnalysis) { return 'Skipped' } if ($_.ComponentStoreAnalysis.ExitCode -eq 0) { return 'Completed' } return 'Error (RC: {0})' -f $_.ComponentStoreAnalysis.ExitCode </ScriptBlock> </ListItem> <ListItem> <Label>InstalledFeatures</Label> <ScriptBlock> if ($null -eq $_.InstalledFeatures) { return 'Skipped' } if ($_.InstalledFeatures -eq $false) { if ((Get-CimInstance -ClassName Win32_OperatingSystem).ProductType -gt 1) { return 'Missing dependency: ServerManager module' } return 'N/A for Windows clients' } return '{0} feature(s)' -f $_.InstalledFeatures.Count </ScriptBlock> </ListItem> <ListItem> <Label>InstalledPrograms</Label> <ScriptBlock> if ($null -eq $_.InstalledPrograms) { return 'Skipped' } return '{0} programs(s)' -f $_.InstalledPrograms.Count </ScriptBlock> </ListItem> <ListItem> <Label>EnvironmentVariables</Label> <ScriptBlock> if ($null -eq $_.EnvironmentVariables) { return 'Skipped' } return '{0} system variable(s), {1} user variable(s)' -f $_.EnvironmentVariables.Machine.Count, $_.EnvironmentVariables.User.Count </ScriptBlock> </ListItem> <ListItem> <Label>WindowsUpdates</Label> <ScriptBlock> if ($null -eq $_.WindowsUpdates) { return 'Skipped' } if ($_.WindowsUpdates -eq $false) { return 'Missing dependency: PSWindowsUpdate module' } return 'Found {0} update(s)' -f $_.WindowsUpdates.Count </ScriptBlock> </ListItem> <ListItem> <Label>SysinternalsSuite</Label> <ScriptBlock> if ($null -eq $_.SysinternalsSuite) { return 'Skipped' } if (!$_.SysinternalsSuite) { return 'Not present' } return 'Present (Version: {0})' -f $_.SysinternalsSuite.Version </ScriptBlock> </ListItem> </ListItems> </ListEntry> </ListEntries> </ListControl> </View> <View> <Name>PSWinVitals.VitalMaintenance</Name> <ViewSelectedBy> <TypeName>PSWinVitals.VitalMaintenance</TypeName> </ViewSelectedBy> <ListControl> <ListEntries> <ListEntry> <ListItems> <ListItem> <Label>WindowsUpdates</Label> <ScriptBlock> if ($null -eq $_.WindowsUpdates) { return 'Skipped' } if ($_.WindowsUpdates -eq $false) { return 'Missing dependency: PSWindowsUpdate module' } return 'Installed {0} update(s)' -f $_.WindowsUpdates.Count </ScriptBlock> </ListItem> <ListItem> <Label>ComponentStoreCleanup</Label> <ScriptBlock> if ($null -eq $_.ComponentStoreCleanup) { return 'Skipped' } if ($_.ComponentStoreCleanup.ExitCode -eq 0) { return 'Completed' } return 'Error (RC: {0})' -f $_.ComponentStoreCleanup.ExitCode </ScriptBlock> </ListItem> <ListItem> <Label>DotNetQueuedItems</Label> <ScriptBlock> if ($null -eq $_.DotNetQueuedItems) { return 'Skipped' } return 'Invoked for {0} .NET Framework runtimes' -f $_.DotNetQueuedItems.Count </ScriptBlock> </ListItem> <ListItem> <Label>PowerShellHelp</Label> <ScriptBlock> if ($null -eq $_.PowerShellHelp) { return 'Skipped' } if ($_.PowerShellHelp -eq $true) { return 'Completed' } return 'Completed with some errors' </ScriptBlock> </ListItem> <ListItem> <Label>SysinternalsSuite</Label> <ScriptBlock> if ($null -eq $_.SysinternalsSuite) { return 'Skipped' } if ($_.SysinternalsSuite -is [String]) { return 'Failed: {0}' -f $_.SysinternalsSuite } if ($_.SysinternalsSuite.Updated) { $Status = 'Updated' } else { $Status = 'Up-to-date' } return '{0} (Version: {1})' -f $Status, $_.SysinternalsSuite.Version </ScriptBlock> </ListItem> <ListItem> <Label>ClearInternetExplorerCache</Label> <ScriptBlock> if ($null -eq $_.ClearInternetExplorerCache) { return 'Skipped' } if (!$_.ClearInternetExplorerCache) { return 'Missing dependency: inetcpl.cpl applet' } return 'Completed' </ScriptBlock> </ListItem> <ListItem> <Label>DeleteErrorReports</Label> <ScriptBlock> if ($null -eq $_.DeleteErrorReports) { return 'Skipped' } return 'Completed' </ScriptBlock> </ListItem> <ListItem> <Label>DeleteTemporaryFiles</Label> <ScriptBlock> if ($null -eq $_.DeleteTemporaryFiles) { return 'Skipped' } return 'Completed' </ScriptBlock> </ListItem> <ListItem> <Label>EmptyRecycleBin</Label> <ScriptBlock> if ($null -eq $_.EmptyRecycleBin) { return 'Skipped' } if ($_.EmptyRecycleBin -eq $false) { return 'Missing dependency: Clear-RecycleBin cmdlet' } if ($_.EmptyRecycleBin -ne $true) { return 'Failed: {0}' -f $_.EmptyRecycleBin } return 'Completed' </ScriptBlock> </ListItem> </ListItems> </ListEntry> </ListEntries> </ListControl> </View> </ViewDefinitions> </Configuration> |