Classes/Main/IpsecTunnel.Class.ps1
Class IpsecTunnel:ICloneable { [string]$LocalIpAddress [string]$PeerIpAddress [string[]]$LocalNetwork [string[]]$RemoteNetwork # IKE Settings [int]$IkeVersion # needs enum: 1 or 2 [string]$IkeMode # needs enum: main or aggressive [array]$IkeProposal [string]$PreSharedKey # IPSEC Settings [int[]]$IpsecDHGroup [decimal]$IpsecLifetimeSeconds [array]$IpsecProposal [bool]$NatTEnabled = $false ####################################### Methods ###################################### # Clone [Object] Clone () { $NewObject = [IpsecTunnel]::New() foreach ($Property in ($this | Get-Member -MemberType Property)) { $NewObject.$($Property.Name) = $this.$($Property.Name) } # foreach return $NewObject } ##################################### Initiators ##################################### # Empty Initiator IpsecTunnel() { } } |