Set-VpnS2SInterface

Modifies parameters for a site-to-site (S2S) interface.

Syntax

Set-VpnS2SInterface
   [-Destination <String[]>]
   [-AdminStatus <Boolean>]
   [-PromoteAlternate <Boolean>]
   [-AuthenticationMethod <String>]
   [-EapMethod <String>]
   [-InternalIPv4 <Boolean>]
   [-Force]
   [-PostConnectionIPv4Subnet <String[]>]
   [-IPv4TriggerFilter <String[]>]
   [-IPv4TriggerFilterAction <Action>]
   [-PostConnectionIPv6Subnet <String[]>]
   [-IPv6TriggerFilter <String[]>]
   [-IPv6TriggerFilterAction <Action>]
   [-IPv4Subnet <String[]>]
   [-Name] <String>
   [-ResponderAuthenticationMethod <String>]
   [-PassThru]
   [-Persistent]
   [-InitiateConfigPayload <Boolean>]
   [-RadiusAttributeClass <String>]
   [-EnableQoS <EnableQoS>]
   [-TxBandwidthKbps <UInt64>]
   [-RxBandwidthKbps <UInt64>]
   [-NetworkOutageTimeSeconds <UInt32>]
   [-NumberOfTries <UInt32>]
   [-RetryIntervalSeconds <UInt32>]
   [-SADataSizeForRenegotiationKilobytes <UInt32>]
   [-SALifeTimeSeconds <UInt32>]
   [-IPv6Subnet <String[]>]
   [-InternalIPv6 <Boolean>]
   [-IdleDisconnectSeconds <UInt32>]
   [-UserName <String>]
   [-Password <String>]
   [-Certificate <X509Certificate2>]
   [-SharedSecret <String>]
   [-SourceIpAddress <String>]
   [-EncryptionType <String>]
   [-CimSession <CimSession[]>]
   [-ThrottleLimit <Int32>]
   [-AsJob]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-VpnS2SInterface
   [-Destination <String[]>]
   [-AdminStatus <Boolean>]
   [-PromoteAlternate <Boolean>]
   [-AuthenticationMethod <String>]
   [-EapMethod <String>]
   [-InternalIPv4 <Boolean>]
   [-Force]
   [-PostConnectionIPv4Subnet <String[]>]
   [-IPv4TriggerFilter <String[]>]
   [-IPv4TriggerFilterAction <Action>]
   [-PostConnectionIPv6Subnet <String[]>]
   [-IPv6TriggerFilter <String[]>]
   [-IPv6TriggerFilterAction <Action>]
   [-IPv4Subnet <String[]>]
   [-Name] <String>
   [-ResponderAuthenticationMethod <String>]
   [-PassThru]
   [-Persistent]
   [-InitiateConfigPayload <Boolean>]
   [-RadiusAttributeClass <String>]
   [-EnableQoS <EnableQoS>]
   [-TxBandwidthKbps <UInt64>]
   [-RxBandwidthKbps <UInt64>]
   [-NetworkOutageTimeSeconds <UInt32>]
   [-NumberOfTries <UInt32>]
   [-RetryIntervalSeconds <UInt32>]
   [-SADataSizeForRenegotiationKilobytes <UInt32>]
   [-SALifeTimeSeconds <UInt32>]
   [-IPv6Subnet <String[]>]
   [-InternalIPv6 <Boolean>]
   [-IdleDisconnectSeconds <UInt32>]
   [-UserName <String>]
   [-Password <String>]
   [-Certificate <X509Certificate2>]
   [-SharedSecret <String>]
   [-EncryptionMethod <EncryptionMethod>]
   [-IntegrityCheckMethod <IntegrityCheckMethod>]
   [-CipherTransformConstants <CipherTransformConstants>]
   [-DHGroup <DHGroup>]
   [-AuthenticationTransformConstants <AuthenticationTransformConstants>]
   [-PfsGroup <PfsGroup>]
   [-CustomPolicy]
   [-SourceIpAddress <String>]
   [-CimSession <CimSession[]>]
   [-ThrottleLimit <Int32>]
   [-AsJob]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The Set-VpnS2SInterface cmdlet modifies parameters for a site-to-site (S2S) interface. If the connection already exists, then the changes take effect after disconnection.

Use the CustomPolicy parameter to customize IPsec settings. If the protocol is Automatic, then the only authentication method allowed is user name. If the AuthenticationMethod parameter is set to pre-shared key (PSK), then only one interface can be enabled per destination and the initiator and responder policies are governed by what is specified for each interface. If the AuthenticationMethod parameter is set to user name or computer certificates (machine certificates), then only the initiator policies are governed by what is specified for each interface and the responder policies are governed by what is specified on the server.

For incoming connections.

-- If the AuthenticationMethod parameter is set to PSK, then the interface for which the destination IP address matches the incoming IP address is activated.

-- If the AuthenticationMethod parameter is set to user name, then the interface for which the name matches the user name is activated.

-- If the AuthenticationMethod parameter is certificates, then the interface for which the name matches the certificate subject name is activated.

Examples

EXAMPLE 1

PS C:\> Set-VpnS2SInterface -Name edge1 -Destination 131.107.0.4 -PassThru
Name                 Destination          AdminStatus  ConnectionState IPv4Subnet 
----                 -----------          -----------  --------------- ---------- 
edge1                {131.107.0.4}        True         Disconnected    {10.0.0.0/24:100}

This example modifies the destination address for the interface named edge1.

EXAMPLE 2

PS C:\>Set-VpnS2SInterface -Name edge1 -AuthenticationMethod EAP -EapMethod EAP-MSCHAPv2 -PassThru
Name                 Destination          AdminStatus  ConnectionState IPv4Subnet 
----                 -----------          -----------  --------------- ---------- 
EDGE1                {131.107.0.4}        True         Disconnected    {10.0.0.0/24:100}

This example modifies the initiator authentication method.

EXAMPLE 3

PS C:\>Get-VpnS2SInterface -Name edge1 | Set-VpnS2SInterface -ResponderAuthenticationMethod MachineCertificates -PassThru
Name                 Destination          AdminStatus  ConnectionState IPv4Subnet 
----                 -----------          -----------  --------------- ---------- 
EDGE1                {131.107.0.4}        True         Disconnected    {10.0.0.0/24:100}

This example modifies the responder authentication method for edge1.

EXAMPLE 4

PS C:\>$cert1 = ( Get-ChildItem -Path cert:LocalMachine\My | Where-Object -FilterScript { $_.Subject -Like "*CN=edge1.contoso.com" } )



PS C:\>Set-VpnS2SInterface -Name 3-edge1 -AuthenticationMethod MachineCertificates -Certificate $cert1 -ResponderAuthenticationMethod MachineCertificates -PassThru
Name                 Destination          AdminStatus  ConnectionState IPv4Subnet 
----                 -----------          -----------  --------------- ---------- 
3-edge1              {131.107.0.30}       True         Disconnected    {10.6.0.0/24:2}

This example changes the authentication method for the interface 3-edge1 to computer certificate and specifies the certificate for which the subject name matches edge1.contoso.com.

Parameters

-AdminStatus

Specifies the administrator status of the cmdlet.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-AsJob

ps_cimcommon_asjob

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AuthenticationMethod

Specifies the authentication method to be used by the S2S connection.

Type:String
Accepted values:EAP, MachineCertificates, PSKOnly,
Position:Named
Default value:EAP
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-AuthenticationTransformConstants

Specifies a transform constant. The acceptable values for this parameter are:

  • SHA256128
  • MD596
  • SHA196
  • GCMAES128
  • GCMAES192
  • GCMAES256
Type:AuthenticationTransformConstants
Aliases:FirstTransformType, AuthenticationTransformConstant
Accepted values:MD596, SHA196, SHA256128, GCMAES128, GCMAES192, GCMAES256, None
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Certificate

Specifies the subject name of the certificate to use in the default store. Applicable only if the AuthenticationMethod parameter is set to MachineCert.

Type:X509Certificate2
Aliases:Cert
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CimSession

Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSessionhttp://go.microsoft.com/fwlink/p/?LinkId=227967 or Get-CimSessionhttp://go.microsoft.com/fwlink/p/?LinkId=227966 cmdlet. The default is the current session on the local computer.

Type:CimSession[]
Aliases:Session
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CipherTransformConstants

Specifies a cipher transform constant. The acceptable values for this parameter are:

  • DES
  • DES3
  • AES128
  • AES192
  • AES256
  • GCMAES128
  • GCMAES192
  • GCMAES256
Type:CipherTransformConstants
Aliases:OtherCipherAlgorithm, FirstCipherAlgorithm, CipherTransformConstant
Accepted values:DES, DES3, AES128, AES192, AES256, GCMAES128, GCMAES192, GCMAES256, None
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CustomPolicy

Specifies the custom IKE IPsec policies, must be a separate parameter set.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Destination

Specifies the destination end point of the S2S connection. Note: If the Certificate parameter is specified as PSK, then an IP address should be specified for this parameter as a fully qualified domain name (FQDN) will not work.

Type:String[]
Aliases:RemoteTunnelEndpoint, RemoteTunnelHostname, RemoteAddress
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DHGroup

Specifies the Diffie-Hellman (DH) group in the IPsec policy.

Type:DHGroup
Accepted values:None, Group1, Group2, Group14, ECP256, ECP384, Group24
Position:Named
Default value:2
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EapMethod

Specifies the EAP method if IkeLocalAuthenticationMethod is EAP.

Type:String
Accepted values:EAP-TLS, EAP-PEAP, EAP-MSCHAPv2,
Position:Named
Default value:MSCHAPv2
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EnableQoS

Indicates whether to enable Quality of Service (QoS) on an interface.

Type:EnableQoS
Accepted values:Disabled, Enabled
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EncryptionMethod

Specifies the encryption method in the IKE policy.

Type:EncryptionMethod
Aliases:Encryption
Accepted values:DES, DES3, AES128, AES192, AES256
Position:Named
Default value:4
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EncryptionType

Specifies the type of encryption.

Type:String
Accepted values:NoEncryption, RequireEncryption, OptionalEncryption, MaximumEncryption, CustomEncryption
Position:Named
Default value:RequireEncryption
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Force

Forces the command to run without asking for user confirmation.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IdleDisconnectSeconds

Specifies the time interval, in seconds, after which an idle connection is disconnected. Unless you disable idle timeout, an idle connection is disconnected after this time interval is reached.

Type:UInt32
Aliases:IdleDurationSeconds, IdleDisconnectSec
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-InitiateConfigPayload

Indicates whether to initiate Config payload negotiation.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-IntegrityCheckMethod

Specifies the integrity method in the IPsec policy.

Type:IntegrityCheckMethod
Aliases:FirstIntegrityAlgorithm, OtherHashAlgorithm
Accepted values:MD5, SHA1, SHA256, SHA384
Position:Named
Default value:2
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-InternalIPv4

Specifies that the IPv4 address should be negotiated.

Type:Boolean
Position:Named
Default value:True
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-InternalIPv6

Specifies that the IPv6 address should be negotiated.

Type:Boolean
Position:Named
Default value:True
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-IPv4Subnet

Specifies the IPv4 subnet that is routed on this connection with metrics.

Type:String[]
Aliases:IPv4TriggerSubnet
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-IPv4TriggerFilter

Specifies an array of IPv4 filters that trigger demand dial connections.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-IPv4TriggerFilterAction

Indicates whether a filter should trigger an S2S connection.

Type:Action
Accepted values:Allow, Deny
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-IPv6Subnet

Specifies the IPv6 subnet that is routed on this connection with metrics.

Type:String[]
Aliases:IPv6TriggerSubnet
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-IPv6TriggerFilter

Specifies an array of IPv6 filters that trigger demand dial connections.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-IPv6TriggerFilterAction

Indicates whether a filter should trigger an S2S connection.

Type:Action
Accepted values:Allow, Deny
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Specifies the name of the connection.

Type:String
Aliases:ElementName
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NetworkOutageTimeSeconds

Specifies the maximum amount of time, in seconds, before a connection is disconnected due to a network outage.

Type:UInt32
Aliases:NetworkOutageTimeSec
Accepted values:3, 6, 9, 12, 15, 30, 60, 120, 240, 360, 720, 900
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-NumberOfTries

Specifies the number of connection attempts.

If this parameter is specified as zero (0), then the connection is not retried if the first attempt fails.

Type:UInt32
Position:Named
Default value:3
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Password

Specifies the password for the user name to be used for the connection.

Applicable only if the AuthenticationMethod parameter is set to EAP.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Persistent

Indicates that a connection is not disconnected due to inactivity.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PfsGroup

Specifies the PFS group in the IPsec policy.

Type:PfsGroup
Aliases:PfsGroupId
Accepted values:None, PFS1, PFS2, PFS2048, ECP256, ECP384, PFSMM, PFS24
Position:Named
Default value:3
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PostConnectionIPv4Subnet

Specifies the IPv4 subnet routes that are added to a site-to-site interface after the connection is established. The values specified are not used to initiate the site-to-site VPN connection.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PostConnectionIPv6Subnet

Specifies the IPv6 subnet routes that are added to a site-to-site interface after the connection is established. The values specified are not used to initiate the site-to-site VPN connection.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PromoteAlternate

Specifies an alternate IP address that when it successfully connects becomes the primary IP address, and the current primary IP address is moved to the alternate list.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-RadiusAttributeClass

Specifies a RADIUS attribute.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ResponderAuthenticationMethod

Specifies the authentication method to be used by the S2S initiator to validate the S2S responder.

Type:String
Accepted values:MachineCertificates, PSKOnly,
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-RetryIntervalSeconds

Specifies the time interval, in seconds, to wait between retries.

Type:UInt32
Aliases:RetryIntervalSec
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-RxBandwidthKbps

Specifies the receive bandwidth limit, in kilobits per second (Kbps).

Type:UInt64
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SADataSizeForRenegotiationKilobytes

Specifies the amount of data, in kilobytes (KB), that can be transferred using a security association (SA). When the limit is reached, the SA must be renegotiated.

Type:UInt32
Aliases:SARenegotiationDataSizeKB, LifeTimeKiloBytes
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SALifeTimeSeconds

Specifies the lifetime, in seconds, of a security association (SA). The SA is no longer valid after this time interval.

Type:UInt32
Aliases:SaLifeTimeSec, LifeTimeSeconds
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SharedSecret

Specifies the text of the shared secret to be used for the connection. This parameter is only applicable only if the AuthenticationMethod parameter is set to PSK or the ResponderAuthenticationMethod parameter is set to PSK.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SourceIpAddress

Specifies the source IPv4 or IPv6 addresses to use when dialing the connection.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ThrottleLimit

Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If this parameter is omitted or a value of 0 is entered, then Windows PowerShell® calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer. The throttle limit applies only to the current cmdlet, not to the session or to the computer.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TxBandwidthKbps

Specifies a transmit bandwidth limit, in Kbps, for the interface.

Type:UInt64
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-UserName

Specifies the user name to be used for the connection. Applicable only if the AuthenticationMethod parameter is set to EAP.

Type:String
Aliases:User
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

None

Outputs

CimInstance

The Microsoft.Management.Infrastructure.CimInstance object is a wrapper class that displays Windows Management Instrumentation (WMI) objects. The path after the pound sign (#) provides the namespace and class name for the underlying WMI object.