Add-XenSM

Last published : Nov 12, 2026
Adds to fields of an SM object.

Syntax

Add-XenSM [-SM] <SM> [-PassThru] [-OtherConfig <KeyValuePair[string, string]>]
    [-BestEffort] [-SessionOpaqueRef <string>] [-WhatIf] [-Confirm] [<CommonParameters>]
Add-XenSM [-Ref] <XenRef[SM]> [-PassThru] [-OtherConfig <KeyValuePair[string, string]>]
    [-BestEffort] [-SessionOpaqueRef <string>] [-WhatIf] [-Confirm] [<CommonParameters>]
Add-XenSM [-Uuid] <guid> [-PassThru] [-OtherConfig <KeyValuePair[string, string]>]
    [-BestEffort] [-SessionOpaqueRef <string>] [-WhatIf] [-Confirm] [<CommonParameters>]
Add-XenSM [-Name] <string> [-PassThru] [-OtherConfig <KeyValuePair[string, string]>]
    [-BestEffort] [-SessionOpaqueRef <string>] [-WhatIf] [-Confirm] [<CommonParameters>]

Description

Adds values to the collection-valued fields of an SM. Each optional parameter listed below corresponds to a field that can be added to.

Parameters

-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

-Name

The name of the SM to operate on.
Attribute Value
Type string
Required True
Position 0
Accepts pipeline input True (ByPropertyName)
Aliases name_label

-OtherConfig

Add the given key-value pair to the other\_config field of the given SM.
Attribute Value
Type KeyValuePair[string, string]
Required False
Position Named
Accepts pipeline input False

-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 SM object to operate on, specified by its opaque reference.
Attribute Value
Type XenRef[SM]
Required True
Position 0
Accepts pipeline input True (ByPropertyName)
Aliases opaque_ref

-SM

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

-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 SM 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

Inputs

  • SM
  • XenRef[SM]
  • guid
  • string

Outputs

  • SM
  • void

Examples

Example 1: Add to the OtherConfig field

PS> $entry = [System.Collections.Generic.KeyValuePair[string,string]]::new("region", "emea")
PS> Add-XenSM -OtherConfig $entry -Name "Demo SM"
Adds a value to the OtherConfig field of an SM. The parameter takes one entry of the map; a hashtable does not bind to it.

Example 2: Add to the OtherConfig field piped from the getter

PS> $entry = [System.Collections.Generic.KeyValuePair[string,string]]::new("region", "emea")
PS> Get-XenSM -Name "Demo SM" | Add-XenSM -OtherConfig $entry
Adds a value to the OtherConfig field of an SM. The parameter takes one entry of the map; a hashtable does not bind to it. The object is piped in, which is the usual way once you already have it.

Example 3: Add to the OtherConfig field by uuid

PS> $entry = [System.Collections.Generic.KeyValuePair[string,string]]::new("region", "emea")
PS> Add-XenSM -OtherConfig $entry -Uuid 1871ac51-ce6b-efc3-7fd0-28bc65aa39ff
Adds a value to the OtherConfig field of an SM. The parameter takes one entry of the map; a hashtable does not bind to it. -Uuid is the way to be sure of exactly one object.
  • Class: SM
  • Using the XenServer PowerShell module