Invoke-BpaModel
Starts a BPA scan for a specific model that is installed on a computer.
Syntax
Invoke-BpaModel
[-ModelId] <String>
[-RepositoryPath <String>]
[-Mode <ScanMode>]
[<CommonParameters>]
Invoke-BpaModel
[-ModelId] <String>
[-RepositoryPath <String>]
[-Mode <ScanMode>]
[-SubModelId <String>]
[-Context <String>]
[-ComputerName <String[]>]
[-CertificateThumbprint <String>]
[-ConfigurationName <String>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-Port <Int32>]
[-ThrottleLimit <Int32>]
[-UseSsl]
[<CommonParameters>]
Description
The Invoke-BpaModel cmdlet starts a Best Practices Analyzer (BPA) scan for a specific model that is installed on a Windows-based computer. The model is specified either by using the ModelId parameter, or by piping the results of the Get-BpaModel cmdlet into this cmdlet. If a model is specified in the cmdlet after the BPA scan has been performed, then the results of the scan are available as an XML file.
This cmdlet cannot be canceled after it has been started.
Single-node XML is not supported by the BPA model schema. For more information about what is supported by the BPA model schema, see the Microsoft Baseline Configuration Analyzer Model Authoring Guide on the Microsoft Download Center.
Examples
Example 1: Start a BPA scan for a specified model ID
PS C:\> Invoke-BPAModel -ModelId "ModelId1"
This example starts a BPA scan on the model that is represented by ModelId1.
The same task can be completed by running either of the following cmdlets.
Invoke-BPAModel -Id "ModelId1"
OR
Invoke-BPAModel "ModelId1"
Example 2: Start a BPA scan using the pipeline
PS C:\> Get-BPAModel | Invoke-BPAModel
This example gets all BPA models that are installed on the computer, and then pipes the results of the Get-BpaModel cmdlet to this cmdlet to start a BPA scan on all models.
Example 3: Start a BPA scan and save the results to a variable
PS C:\> $BPAObj = Invoke-BPAModel ModelId1
This cmdlet displays the results of any specific object in the previous cmdlet by calling the variable into which the results of the previous cmdlet were saved, and then specifying the object in the results that the administrator wants. The object is identified by its numerical order in the collection of results (the [CODE_Snippit]0[CODE_Snippit], or first, object). The cmdlet then identifies which field of the results in that object (for this example, the Detail field) the administrator wants to view. The cmdlet shown returns the properties of the Detail field from the first object in the results of the preceding line.
PS C:\> $BPAObj[0].Detail
ModelId : ModelId1
Success : True
ScanTime : 10/21/2008 3:08:47 PM
InformationMessages : 5
WarningMessages : 4
ErrorMessages : 0
Description :
This example starts a BPA scan on the model specified by ModelId1, and saves the results of the cmdlet as a variable, $BPAObj.
Parameters
-Authentication
Specifies the authentication mode to use when creating a remote connection for running a remote BPA scan.
For more information, type Get-Help Invoke-Command
.
Type: | AuthenticationMechanism |
Accepted values: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CertificateThumbprint
Specifies the certificate thumbprint to use when creating a remote connection via SSL for running a remote BPA scan.
For more information, type Get-Help Invoke-Command
.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
Specifies the target computer against which to run the BPA scan.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConfigurationName
Specifies the session configuration, such as the name of the endpoint, to use when creating a session for a remote BPA scan.
For more information, type Get-Help Invoke-Command
.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Context
Scans a submodel in the context of a specific model (one that is different from the parent model of the submodel). For example, an administrator wants to run a scan on the Backend submodel of the SQL model, but only those in the context of a third model, a technology that relies upon SQL Server.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Specifies the credentials to use when creating a remote connection for running a remote BPA scan.
For more information, type Get-Help Invoke-Command
.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Mode
Specifies the mode to use when running the BPA scan. The acceptable values for this parameter are: All, Analysis, or Discovery.
Type: | ScanMode |
Accepted values: | All, Discovery, Analysis |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ModelId
Identities the model to be used for the BPA scan.
Type: | String |
Aliases: | Id, BestPracticesModelId |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Port
Specifies the port to use when creating a remote connection for running a remote BPA scan.
For more information, type Get-Help Invoke-Command
.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RepositoryPath
Specifies that the default location for reports specified by the ReportsRoot registry key should be overridden. This parameter specifies the path where the results should be stored.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SubModelId
Identifies the submodel to run for the model specified by the ModelId parameter.
For example, the Update Services model (Microsoft/Windows/UpdateServices
) has two submodels (UpdateServices-DB
, UpdateServices-Services
).
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ThrottleLimit
Specifies the throttle limit to use when creating a remote connection for running a remote BPA scan.
For more information, type Get-Help Invoke-Command
.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseSsl
Specifies whether or not to use SSL when creating a remote connection for running a remote BPA scan.
For more information, type Get-Help Invoke-Command
.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
The input string specified by the ModelId parameter.
Outputs
System.Collections.Generic.List<Microsoft.BestPractices.CoreInterface.InvokeBpaModelOutput>
The output object encapsulates the results of the cmdlet that is entered. The output object contains information such as the BPA model ID, the success or failure of the cmdlet, and other details.