Como posso exportar regras IPSec da Política de Grupo LOCAL?

2

Eu tenho vários controladores de domínio do Server 2008 R2 que têm IPSec configurado sob sua diretiva de grupo LOCAL . As entradas não existem no Firewall do Windows ou em um GPO de rede. Essas políticas são antigas e complicadas e estão nos impedindo de adicionar novos DCs.

Estou procurando exportar / despejar as regras para simplificar e testar em um ambiente separado. Minha solução preferida seria no CMD / PowerShell.

    
por spacenomyous 27.10.2017 / 18:10

1 resposta

1

Não importa se está na política local ou de grupo, uma vez importada, o servidor a vê em sua loja local. Como este é o Server 2008 R2 com o POSHv2, estamos limitados a usar os comandos netsh , mas envolvi a saída dentro do PowerShell para criar objetos que eu poderia exportar para análise em um computador remoto.

$OutFile = "$env:temp\IPsecRules.csv"
$objects = @()
netsh ipsec static show filterlist all level=verbose |
  Select-String ':' |
    ForEach-Object {
      $split = $_.Line.Split(':')
      $name  = $split[0].Trim()
      $value = $split[1].Trim()
      switch ($name) {
        'Description'            {${Description}            = $value}
        'Store'                  {${Store}                  = $value}
        'Last Modified'          {${Last Modified}          = $value}
        'GUID'                   {${GUID}                   = $value}
        'No. of Filters'         {${No. of Filters}         = $value}
        'Mirrored'               {${Mirrored}               = $value}
        'Source IP Address'      {${Source IP Address}      = $value}
        'Source Mask'            {${Source Mask}            = $value}
        'Source DNS Name'        {${Source DNS Name}        = $value}
        'Destination IP Address' {${Destination IP Address} = $value}
        'Destination Mask'       {${Destination Mask}       = $value}
        'Destination DNS Name'   {${Destination DNS Name}   = $value}
        'Protocol'               {${Protocol}               = $value}
        'Source Port'            {${Source Port}            = $value}
        'Destination Port'       {${Destination Port}       = $value}
        #'FilterList Name'        {${FilterList Name}        = $value}
      }
      If (${Destination Port}) {
        $object = New-Object psobject -Property @{
          'Description'            = ${Description}
          'Store'                  = ${Store}
          'Last Modified'          = ${Last Modified}
          'GUID'                   = ${GUID}
          'No. of Filters'         = ${No. of Filters}
          #'Description'            = ${Description}
          'Mirrored'               = ${Mirrored}
          'Source IP Address'      = ${Source IP Address}
          'Source Mask'            = ${Source Mask}
          'Source DNS Name'        = ${Source DNS Name}
          'Destination IP Address' = ${Destination IP Address}
          'Destination Mask'       = ${Destination Mask}
          'Destination DNS Name'   = ${Destination DNS Name}
          'Protocol'               = ${Protocol}
          'Source Port'            = ${Source Port}
          'Destination Port'       = ${Destination Port}
          #'FilterList Name'        = ${FilterList Name} 
        }
        $objects += $object
        ${Destination Port} = ""
      }
    }
$objects | Export-Csv -Path "c:\temp\IPsecRules.csv" -NoTypeInformation -Force

Editado: reescreveu o script para fornecer mais informações. Consulta de lista de filtros detalhada apenas necessária.

    
por 31.10.2017 / 18:25