Invoke-XenPCI

Last published : Nov 12, 2026
Invokes an operation on a PCI object.

Syntax

Invoke-XenPCI [-PCI] <PCI> -XenAction {DisableDom0Access | EnableDom0Access} [-PassThru]
    [-BestEffort] [-SessionOpaqueRef <string>] [-WhatIf] [-Confirm] [-Async]
    [<CommonParameters>]
Invoke-XenPCI [-Ref] <XenRef[PCI]> -XenAction {DisableDom0Access | EnableDom0Access}
    [-PassThru] [-BestEffort] [-SessionOpaqueRef <string>] [-WhatIf] [-Confirm] [-Async]
    [<CommonParameters>]
Invoke-XenPCI [-Uuid] <guid> -XenAction {DisableDom0Access | EnableDom0Access} [-PassThru]
    [-BestEffort] [-SessionOpaqueRef <string>] [-WhatIf] [-Confirm] [-Async]
    [<CommonParameters>]

Description

Invokes an operation on a PCI object. Use the -XenAction parameter to select which operation to perform.
DisableDom0Access: Hide a PCI device from the dom0 kernel. (Takes affect after next boot.).
EnableDom0Access: Unhide a PCI device from the dom0 kernel. (Takes affect after next boot.).

Parameters

-Async

If set, the operation runs asynchronously and returns a Task object that can be used to track its progress.
Attribute Value
Type SwitchParameter
Required False
Position Named
Accepts pipeline input False

-BestEffort

If set, the cmdlet continues processing further objects instead of throwing a terminating error when an operation fails for one object.
Attribute Value
Type SwitchParameter
Required False
Position Named
Accepts pipeline input False

-Confirm

Prompts for confirmation before running the cmdlet.
Attribute Value
Type SwitchParameter
Required False
Position Named
Accepts pipeline input False
Aliases cf

-PCI

The PCI object to operate on.
Attribute Value
Type PCI
Required True
Position 0
Accepts pipeline input True (ByValue)

-PassThru

If set, the cmdlet returns the affected object. By default the cmdlet does not generate any output.
Attribute Value
Type SwitchParameter
Required False
Position Named
Accepts pipeline input False

-Ref

The PCI object to operate on, specified by its opaque reference.
Attribute Value
Type XenRef[PCI]
Required True
Position 0
Accepts pipeline input True (ByPropertyName)
Aliases opaque_ref

-SessionOpaqueRef

The session object on which to run the cmdlet. This overrides the default session and lets you target a specific open XenServer connection.
Attribute Value
Type string
Required False
Position Named
Accepts pipeline input False

-Uuid

The UUID of the PCI to operate on.
Attribute Value
Type guid
Required True
Position 0
Accepts pipeline input True (ByPropertyName)

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.
Attribute Value
Type SwitchParameter
Required False
Position Named
Accepts pipeline input False
Aliases wi

-XenAction

Selects which action to use.
Attribute Value
Type XenPCIAction
Required True
Position Named
Accepts pipeline input False
Accepted values DisableDom0Access, EnableDom0Access

Inputs

  • PCI
  • XenRef[PCI]
  • guid

Outputs

  • System.Object

Examples

Example 1: Run the DisableDom0Access operation

PS> Get-XenPCI -Uuid 1871ac51-ce6b-efc3-7fd0-28bc65aa39ff | Invoke-XenPCI -XenAction DisableDom0Access -PassThru
Invokes the DisableDom0Access operation on a PCI. -PassThru writes the result to the pipeline.

Example 2: Run the DisableDom0Access operation by uuid

PS> Invoke-XenPCI -XenAction DisableDom0Access -Uuid 1871ac51-ce6b-efc3-7fd0-28bc65aa39ff -PassThru
Invokes the DisableDom0Access operation on a PCI. -Uuid is the way to be sure of exactly one object. -PassThru writes the result to the pipeline.

Example 3: Run DisableDom0Access asynchronously

PS> Invoke-XenPCI -Uuid 1871ac51-ce6b-efc3-7fd0-28bc65aa39ff -XenAction DisableDom0Access -Async -PassThru | Wait-XenTask -ShowProgress
Runs the same operation asynchronously and follows the task it returns.
  • Class: PCI
  • Using the XenServer PowerShell module