Set-BpaResult

Set-BpaResult

Excludes or includes existing results of a Best Practices Analyzer (BPA) scan to display only the specified scan results.

Syntax

Parameter Set: Default
Set-BpaResult [[-Exclude] <Boolean> ] [-Results] <List> [[-RepositoryPath] <String> ] [ <CommonParameters>]

Detailed Description

The Set-BPAResult cmdlet excludes or includes existing results of a Best Practices Analyzer (BPA) scan to display only the specified scan results. The action specified in this cmdlet (such as Exclude) determines how the existing results of a BPA scan are updated. This cmdlet is typically applied after using the Get-BpaResult cmdlet to return a collection of scan results. Filters can be applied to results returned by the Get-BpaResult cmdlet, and then pipe the filtered collection of results to this cmdlet, specifying either to include or exclude filtered scan results.

This will update the results in the result file with the specified result collection with the action specified. The administrator would generally need to call the Get-BpaResult cmdlet prior to this to get the result collection, apply some filters and pipe the collection to this cmdlet specifying the action (exclusion or inclusion).

If this cmdlet is canceled before the results are written to a file, then the operation is canceled and the results file is not modified. If cancellation occurs after the results file has been modified, then the actions of the cmdlet are carried out, and the cmdlet cannot be canceled.

Parameters

-Exclude<Boolean>

Removes any BPA scan results that are specified by a filter added to this cmdlet. The Exclude action applies to all results returned by this cmdlet. To exclude results by using this parameter, add the value $true following the parameter, as shown:
- -Exclude $true

Aliases

none

Required?

false

Position?

2

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-RepositoryPath<String>

Specifies the location where the report should be stored.
The Invoke-BpaModel cmdlet provides an option to store the results either in the default reports repository location referred by ReportsRoot registry key or in a custom location supplied as input to this parameter.

Aliases

none

Required?

false

Position?

4

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Results<List>

Specifies the result collection to be updated in the result file returned by this cmdlet. This parameter is typically used to specify a filtered subset of scan results that has already been stored in a variable; the variable name is provided as the valid value for this parameter.
This is the result collection which needs to be updated in the result file.
Example: if a variable named $allPerformance is created to store all the Performance category results for a BPA scan of all roles on a computer, and to exclude those Performance results from the complete collection of scan results, add the following parameter to this cmdlet.
- -Results $allPerformance

Aliases

none

Required?

true

Position?

3

Default Value

none

Accept Pipeline Input?

true (ByValue)

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

  • System.Collections.Generic.List<Microsoft.BestPractices.CoreInterface.Result>

    The input object specified by the Results parameter.

Outputs

The output type is the type of the objects that the cmdlet emits.

  • None

Examples

EXAMPLE 1

This example, to the left of the first pipe character (|), uses the Get-BpaResult cmdlet to retrieve Best Practices Analyzer scan results for the model ID represented by ModelId1. The second section of the cmdlet filters the results of the Get-BpaResult cmdlet to get only those scan results for which the category name is equal to Performance. The final section of the example, following the second pipe character, excludes the Performance results filtered by the previous section of the example.

PS C:\> Get-BPAResult -ModelId ModelId1 | Where-Object -FilterScript { $_.Category -Eq "Performance" } | Set-BPAResult -ModelId ModelId1 -Exclude $true

EXAMPLE 2

This example, to the left of the pipe character (|), instructs the Get-BpaResult cmdlet to retrieve Best Practices Analyzer scan results for the model represented by ModelId1 The second section of the example, after the pipe character, filters the results of the Get-BpaResult cmdlet to return only those scan results for which the category name is equal to (note the Eq option) Policy.

The variable $rcPolicy is created to store the filtered results of the Get-BpaResult cmdlet; this variable can be used in subsequent cmdlets to represent those results.

PS C:\> $rcPolicy = Get-BPAResult -ModelId ModelId1 | Where-Object –FilterScript { $_.Category -Eq "Policy" }

The second line of the example uses this cmdlet to exclude the set of results stored in the $rcPolicy variable, for the specified model ID. In this cmdlet, the Results parameter is added because the administrator wants to exclude a specific subset of scan results for that model, and has created the variable $rcPolicy to represent that subset of results.

PS C:\> Set-BPAResult -ModelId ModelId1 -Exclude $true -Results $rcPolicy

Get-BpaModel

Get-BpaResult

Invoke-BpaModel

Where-Object