Búsqueda de sitios web

Importar direcciones IP remotas al conector de recepción de Exchange


Nos gusta importar direcciones IP remotas al conector de recepción de Exchange de forma rápida. En nuestro ejemplo, es un nuevo conector de recepción con solo un par de direcciones IP configuradas. Agregar las direcciones IP y los rangos de direcciones IP uno por uno en el Centro de administración de Exchange nos lleva algo de tiempo. ¿Cuál es una forma más rápida de lograr nuestro objetivo? En este artículo, utilizaremos un script de PowerShell para importar direcciones IP remotas al conector de recepción de Exchange.

Verifique las direcciones IP remotas en el Centro de administración de Exchange

Inicie sesión en el Centro de administración de Exchange. Haga clic en el panel de funciones en flujo de correo y siga con conectores de recepción en las pestañas. Seleccione el servidor Exchange, que tiene el conector de recepción para agregar las direcciones IP remotas. Haga clic en el conector de recepción en la vista de lista y haga clic en el icono editar en la barra de herramientas.

En nuestro ejemplo, es Exchange Server EX02-2016.exoip.local y el conector de recepción retransmisión SMTP.

Podemos ver que hay dos direcciones IP remotas agregadas.

Es posible agregar las direcciones IP una por una en el Centro de administración de Exchange, pero no se recomienda. Lleva mucho tiempo y es posible que se pierda una dirección IP.

¿Cómo agregaremos las direcciones IP al conector de recepción de Exchange de forma rápida? PowerShell al rescate.

Prepare el archivo CSV de direcciones IP

¿Ya tienes una lista de direcciones IP que te gustaría agregar? Genial. De lo contrario, puede crear uno como se muestra en la pantalla a continuación. Si desea utilizar direcciones IP desde un conector de recepción, lea el artículo Exportar direcciones IP remotas desde el conector de recepción de Exchange.

Cómo se ve el CSV con direcciones IP. Los dos primeros son un par de rangos de direcciones IP y los otros son direcciones IP únicas. Asegúrese de utilizar el mismo nombre de archivo CSV y encabezado “Expresión”.

Coloque el archivo CSV con el nombre RelayIPsExpression.csv en la carpeta C:\temp.

Ejecute el Shell de administración de Exchange como administrador. Verifique que PowerShell pueda leer el archivo CSV con el cmdlet Import-Csv.

[PS] C:\>Import-Csv "C:\temp\RelayIPsExpression.csv"

Expression
----------
192.168.1.70-192.168.1.80
192.168.1.75-192.168.1.80
192.168.1.99
192.168.1.174
192.168.1.221
192.168.1.222
192.168.1.234
192.168.1.235
192.168.1.240

Prepare agregar dirección IP para recibir el script de PowerShell del conector

Descargue el script Add-IPReceiveConnector.ps1 o copie y pegue el siguiente código en el Bloc de notas. Asígnale el nombre Add-IPReceiveConnector.ps1 y colócalo en la carpeta C:\scripts. Cree una carpeta de script si no tiene una.

Asegúrese de que el archivo esté desbloqueado para evitar errores al ejecutar el script. Lea más en el artículo Error sin firma digital al ejecutar el script de PowerShell.

# Fill in the path of your csv file and receive connector
$Csv = "C:\temp\RelayIPsExpression.csv"
$RC = "EX02-2016\SMTP Relay"

# Import IP addresses from CSV file
$IPs = Import-Csv $Csv

# Get receive connector
$RCon = Get-ReceiveConnector $RC

# Get receive connector remote IP addresses
$RemoteIPRanges = $RCon.RemoteIPRanges

# Loop through each IP address
foreach ($IP in $IPs) {
    $IPEx = $IP.Expression

    # Check if IP addres already exist
    if ($RemoteIPRanges -contains $IPEx) {
        Write-Host "IP address $($IPEx) already exist in receive connector $($RC)" -ForegroundColor Red
    }
    
    # If IP address not exist than add IP address
    else {
        $RemoteIPRanges += $IPEx

        # Remove the -WhatIf parameter after you tested and are sure to add the remote IP addresses
        Set-ReceiveConnector $RC -RemoteIPRanges $RemoteIPRanges -WhatIf
        Write-Host "IP address $($IPEx) added to receive connector $($RC)" -ForegroundColor Green
    }
}

Información Script de PowerShell Add-IPReceiveConnector.ps1

La secuencia de comandos no eliminará ninguna dirección IP en el conector de recepción. Verificará si la dirección IP está configurada. En caso afirmativo, mostrará que la dirección IP ya está presente y pasará a la siguiente IP en el archivo CSV.

Ejemplo

Tenemos un conector de recepción con dos direcciones IP ya presentes:

  • 192.168.1.100 no está en el archivo CSV

  • 192.168.1.222 en el archivo CSV

En el siguiente paso, ejecutaremos el script y lo veremos en acción.

Agregue de forma masiva una dirección IP para recibir el script de PowerShell del conector

Ejecute el Shell de administración de Exchange como administrador. Vaya a la ruta del script y ejecute el script Add-IPReceiveConnector.ps1. El script revisará cada dirección IP de la lista.

Nota: Es bueno saber que el parámetro -WhatIf se agrega en el script. Si ejecuta el script, no sucederá nada en el entorno. Obtendrá un resultado que muestra lo que sucederá.

En mi ejemplo, el script intentará agregar de forma masiva nueve direcciones IP al conector de recepción especificado. No agregará una dirección IP porque ya está presente, como se muestra en la imagen de arriba.

Después de ejecutar el script, confirme las direcciones IP y el conector de recepción.

[PS] C:\>cd \scripts
[PS] C:\scripts>.\Add-IPReceiveConnector.ps1
What if: Configuring Receive connector "EX02-2016\SMTP Relay".
IP address 192.168.1.70-192.168.1.80 added to receive connector EX02-2016\SMTP Relay
What if: Configuring Receive connector "EX02-2016\SMTP Relay".
IP address 192.168.1.75-192.168.1.80 added to receive connector EX02-2016\SMTP Relay
What if: Configuring Receive connector "EX02-2016\SMTP Relay".
IP address 192.168.1.99 added to receive connector EX02-2016\SMTP Relay
What if: Configuring Receive connector "EX02-2016\SMTP Relay".
IP address 192.168.1.174 added to receive connector EX02-2016\SMTP Relay
What if: Configuring Receive connector "EX02-2016\SMTP Relay".
IP address 192.168.1.221 added to receive connector EX02-2016\SMTP Relay
IP address 192.168.1.222 already exist in receive connector EX02-2016\SMTP Relay
What if: Configuring Receive connector "EX02-2016\SMTP Relay".
IP address 192.168.1.234 added to receive connector EX02-2016\SMTP Relay
What if: Configuring Receive connector "EX02-2016\SMTP Relay".
IP address 192.168.1.235 added to receive connector EX02-2016\SMTP Relay
What if: Configuring Receive connector "EX02-2016\SMTP Relay".
IP address 192.168.1.240 added to receive connector EX02-2016\SMTP Relay

Podemos ver que todo se ve genial y podemos eliminar el parámetro -WhatIf.

En la línea 28, elimine el parámetro -WhatIf del script de PowerShell y vuelva a ejecutar el script. Las direcciones IP se agregan al conector de recepción de Exchange. La dirección IP 192.168.1.222 ya existe y el script de PowerShell no agregará esa dirección IP. Después de eso, sigue agregando las direcciones IP restantes que están en la lista.

[PS] C:\scripts>.\Add-IPReceiveConnector.ps1
IP address 192.168.1.70-192.168.1.80 added to receive connector EX02-2016\SMTP Relay
IP address 192.168.1.75-192.168.1.80 added to receive connector EX02-2016\SMTP Relay
IP address 192.168.1.99 added to receive connector EX02-2016\SMTP Relay
IP address 192.168.1.174 added to receive connector EX02-2016\SMTP Relay
IP address 192.168.1.221 added to receive connector EX02-2016\SMTP Relay
IP address 192.168.1.222 already exist in receive connector EX02-2016\SMTP Relay
IP address 192.168.1.234 added to receive connector EX02-2016\SMTP Relay
IP address 192.168.1.235 added to receive connector EX02-2016\SMTP Relay
IP address 192.168.1.240 added to receive connector EX02-2016\SMTP Relay

Verifica tu trabajo

Después de ejecutar el script de PowerShell, podemos confirmar que las direcciones IP se agregaron correctamente al conector de recepción. Ambas direcciones IP que ya teníamos en el conector de recepción están presentes y no eliminadas. Además, el script no abortó y pasó a la siguiente dirección IP de la lista.

Nota: Las DIRECCIONES IP en la *Configuración de red remota en el Centro de administración de Exchange ordenarán las direcciones IP por fecha de adición. Siempre puede hacer clic en DIRECCIONES IP para ordenar por direcciones IP.

Enumeremos las direcciones IP en el conector de recepción con PowerShell y ordenémoslas por dirección IP.

[PS] C:\>(Get-ReceiveConnector -Identity "EX02-2016\SMTP relay").RemoteIPRanges | Sort-Object | Format-Table

LowerBound    UpperBound    Netmask CIDRLength   RangeFormat Size Expression
----------    ----------    ------- ----------   ----------- ---- ----------
192.168.1.70  192.168.1.80                              LoHi ::b  192.168.1.70-192.168.1.80
192.168.1.75  192.168.1.80                              LoHi ::6  192.168.1.75-192.168.1.80
192.168.1.99  192.168.1.99                     SingleAddress ::1  192.168.1.99
192.168.1.100 192.168.1.100                    SingleAddress ::1  192.168.1.100
192.168.1.174 192.168.1.174                    SingleAddress ::1  192.168.1.174
192.168.1.221 192.168.1.221                    SingleAddress ::1  192.168.1.221
192.168.1.222 192.168.1.222                    SingleAddress ::1  192.168.1.222
192.168.1.234 192.168.1.234                    SingleAddress ::1  192.168.1.234
192.168.1.235 192.168.1.235                    SingleAddress ::1  192.168.1.235
192.168.1.240 192.168.1.240                    SingleAddress ::1  192.168.1.240

La importación de direcciones IP para recibir el conector con PowerShell funcionó. ¿Esto funcionó para ti?

Leer más: Enumere todas las direcciones SMTP con PowerShell »

Conclusión

Aprendió a importar direcciones IP remotas al conector de recepción de Exchange. Es bueno usar el script de PowerShell y agregar las direcciones IP remotas al conector de recepción. Te ahorrará algo de tiempo. Lo bueno es que el script no eliminará las direcciones IP ya presentes.

Disfrutaste este artículo? También te puede interesar Crear conector de envío en Exchange. No olvides seguirnos y compartir este artículo.

Artículos relacionados