text: ---
  external help file: Microsoft.PowerShell.Operation.Validation-help.xml
  keywords: powershell,cmdlet
  Locale: en-US
  Module Name: Microsoft.PowerShell.Operation.Validation
  ms.date: 06/09/2017
  online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.operation.validation/invoke-operationvalidation?view=powershell-5.1&WT.mc_id=ps-gethelp
  schema: 2.0.0
  title: Invoke-OperationValidation
  ---
  
  # Invoke-OperationValidation
  
  ## SYNOPSIS
  
  Invokes Operation Validation Framework tests.
  
  ## SYNTAX
  
  ### FileAndTest (Default)
  
  ```
  Invoke-OperationValidation [-TestInfo <PSObject[]>] [-IncludePesterOutput] [-WhatIf] [-Confirm]
   [<CommonParameters>]
  ```
  
  ### Path
  
  ```
  Invoke-OperationValidation [-testFilePath <String[]>] [-IncludePesterOutput] [-WhatIf] [-Confirm]
   [<CommonParameters>]
  ```
  
  ### UseGetOperationTest
  
  ```
  Invoke-OperationValidation [-ModuleName <String[]>] [-TestType <String[]>] [-IncludePesterOutput] [-WhatIf]
   [-Confirm] [<CommonParameters>]
  ```
  
  ## DESCRIPTION
  
  The **Invoke-OperationValidation** cmdlet invokes Operation Validation Framework tests for a specified module.
  
  ## EXAMPLES
  
  ### Example 1: Invoke an Operation Validation test
  
  ```
  PS C:\> Get-OperationValidation -ModuleName "OperationValidation" | Invoke-OperationValidation -IncludePesterOutput
  Describing Simple Test Suite
   [+] first Operational test 20ms
   [+] second Operational test 19ms
   [+] third Operational test 9ms
  Tests completed in 48ms
  Passed: 3 Failed: 0 Skipped: 0 Pending: 0
  Describing Scenario targeted tests
     Context The RemoteAccess service
      [+] The service is running 37ms
     Context The Firewall Rules
      [+] A rule for TCP port 3389 is enabled 1.19s
      [+] A rule for UDP port 3389 is enabled 11ms
  Tests completed in 1.24s
  Passed: 3 Failed: 0 Skipped: 0 Pending: 0
  
  
  
  
     Module: OperationValidation
  
  
  
  
  Result  Name
  ------- --------
  Passed  Simple Test Suite::first Operational test
  Passed  Simple Test Suite::second Operational test
  Passed  Simple Test Suite::third Operational test
  Passed  Scenario targeted tests:The RemoteAccess service:The service is running
  Passed  Scenario targeted tests:The Firewall Rules:A rule for TCP port 3389 is enabled
  Passed  Scenario targeted tests:The Firewall Rules:A rule for UDP port 3389 is enabled
  ```
  
  This command gets the module named OperationValidation, and uses the pipeline operator to pass it to the **Invoke-OperationValidation** cmdlet, which runs the test.
  
  ## PARAMETERS
  
  ### -IncludePesterOutput
  
  Includes Pester test output.
  The default is $False.
  
  ```yaml
  Type: System.Management.Automation.SwitchParameter
  Parameter Sets: (All)
  Aliases:
  
  Required: False
  Position: Named
  Default value: None
  Accept pipeline input: False
  Accept wildcard characters: False
  ```
  
  ### -ModuleName
  
  Specifies an array of names of modules.
  
  ```yaml
  Type: System.String[]
  Parameter Sets: UseGetOperationTest
  Aliases:
  
  Required: False
  Position: Named
  Default value: None
  Accept pipeline input: False
  Accept wildcard characters: False
  ```
  
  ### -testFilePath
  
  Specifies the path of an Operation Validation Framework test file.
  
  ```yaml
  Type: System.String[]
  Parameter Sets: Path
  Aliases:
  
  Required: False
  Position: Named
  Default value: None
  Accept pipeline input: True (ByPropertyName)
  Accept wildcard characters: False
  ```
  
  ### -TestInfo
  
  Specifies a custom object that specifies the path to the file and the name of the test to run.
  
  ```yaml
  Type: System.Management.Automation.PSObject[]
  Parameter Sets: FileAndTest
  Aliases:
  
  Required: False
  Position: Named
  Default value: None
  Accept pipeline input: True (ByValue)
  Accept wildcard characters: False
  ```
  
  ### -TestType
  
  Specifies an array of test types.
  Valid values are Simple, Comprehensive, or both.
  The default is "Simple,Comprehensive".
  
  ```yaml
  Type: System.String[]
  Parameter Sets: UseGetOperationTest
  Aliases:
  Accepted values: Simple, Comprehensive
  
  Required: False
  Position: Named
  Default value: None
  Accept pipeline input: False
  Accept wildcard characters: False
  ```
  
  ### -Confirm
  
  Prompts you for confirmation before running the cmdlet.
  
  ```yaml
  Type: System.Management.Automation.SwitchParameter
  Parameter Sets: (All)
  Aliases: cf
  
  Required: False
  Position: Named
  Default value: False
  Accept pipeline input: False
  Accept wildcard characters: False
  ```
  
  ### -WhatIf
  
  Shows what would happen if the cmdlet runs.
  The cmdlet is not run.
  
  ```yaml
  Type: System.Management.Automation.SwitchParameter
  Parameter Sets: (All)
  Aliases: wi
  
  Required: False
  Position: Named
  Default value: False
  Accept pipeline input: False
  Accept wildcard characters: False
  ```
  
  ### CommonParameters
  This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
  
  ## INPUTS
  
  ### PSCustomObject
  
  You can pipe the output of **Get-OperationValidation** to this cmdlet.
  
  ## OUTPUTS
  
  ### PSCustomObject
  
  The **PSCustomObject** describes whether the validation was successful.
  
  ## NOTES
  
  ## RELATED LINKS
  
  [Get-OperationValidation](Get-OperationValidation.md)
  