当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 将远程 IP 地址导入到 Exchange 接收连接器

作者:精品下载站 日期:2024-12-14 22:31:44 浏览:13 分类:玩电脑

将远程 IP 地址导入到 Exchange 接收连接器


我们希望快速地将远程 IP 地址导入到 Exchange 接收连接器。在我们的示例中,它是一个新的接收连接器,仅配置了几个 IP 地址。在 Exchange 管理中心中一一添加 IP 地址和 IP 地址范围需要一些时间。有什么方法可以更快地实现我们的目标?在本文中,我们将使用 PowerShell 脚本将远程 IP 地址导入到 Exchange 接收连接器。

在 Exchange 管理中心检查远程 IP 地址

登录 Exchange 管理中心。单击功能窗格中的邮件流,然后单击选项卡中的接收连接器。选择具有接收连接器以添加远程 IP 地址的 Exchange Server。单击列表视图中的接收连接器,然后单击工具栏中的编辑图标。

在我们的示例中,它是 Exchange Server EX02-2016.exoip.localSMTP 中继 接收连接器。

[玩转系统] 将远程 IP 地址导入到 Exchange 接收连接器

我们可以看到添加了两个远程IP地址。

[玩转系统] 将远程 IP 地址导入到 Exchange 接收连接器

可以在 Exchange 管理中心中一一添加 IP 地址,但不建议这样做。这非常耗时,而且您可能会错过 IP 地址。

我们如何快速将 IP 地址添加到 Exchange 接收连接器? PowerShell 来救援。

准备 IP 地址 CSV 文件

您是否已有要添加的 IP 地址列表?那太棒了。如果没有,您可以创建一个如下所示的屏幕。如果要使用接收连接器中的 IP 地址,请阅读文章从 Exchange 接收连接器导出远程 IP 地址。

包含 IP 地址的 CSV 的外观。前两个是几个 IP 地址范围,其他是单个 IP 地址。确保使用相同的 CSV 文件名和标题“表达式”

[玩转系统] 将远程 IP 地址导入到 Exchange 接收连接器

将名为 RelayIPsExpression.csv 的 CSV 文件放入 C:\temp 文件夹中。

[玩转系统] 将远程 IP 地址导入到 Exchange 接收连接器

以管理员身份运行 Exchange 命令行管理程序。验证 PowerShell 是否可以使用 Import-Csv cmdlet 读取 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

准备添加 IP 地址以接收连接器 PowerShell 脚本

下载 Add-IPReceiveConnector.ps1 脚本或将以下代码复制并粘贴到记事本中。将其命名为 Add-IPReceiveConnector.ps1 并将其放置在 C:\scripts 文件夹中。如果没有脚本文件夹,请创建一个。

确保文件未被阻止,以防止运行脚本时出现错误。请阅读文章运行 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
    }
}

信息 Add-IPReceiveConnector.ps1 PowerShell 脚本

该脚本将不会删除接收连接器中的任何 IP 地址。它将检查 IP 地址是否已配置。如果是,它将显示该 IP 地址已存在并转到 CSV 文件中的下一个 IP。

示例

我们确实有一个已经存在两个 IP 地址的接收连接器:

  • 192.168.1.100 不在 CSV 文件中

  • CSV 文件中的 192.168.1.222

[玩转系统] 将远程 IP 地址导入到 Exchange 接收连接器

在下一步中,我们将运行该脚本并查看它的实际效果。

批量添加 IP 地址以接收连接器 PowerShell 脚本

以管理员身份运行 Exchange 命令行管理程序。转到脚本路径并运行 Add-IPReceiveConnector.ps1 脚本。该脚本将遍历列表中的每个 IP 地址。

注意: 值得注意的是脚本中添加了 -WhatIf 参数。如果运行该脚本,环境中不会发生任何事情。您将得到一个输出,显示将会发生什么。

在我的示例中,脚本将尝试将九个 IP 地址批量添加到指定的接收连接器。它不会添加一个 IP 地址,因为它已经存在,如上图所示。

运行脚本后,确认 IP 地址和接收连接器。

[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

我们可以看到一切看起来都很棒,我们可以删除 -WhatIf 参数。

第 28 行中,从 PowerShell 脚本中删除 -WhatIf 参数并重新运行该脚本。 IP 地址将添加到 Exchange 接收连接器。 IP 地址 192.168.1.222 已存在,PowerShell 脚本不会添加该 IP 地址。之后,它会不断添加列表中剩余的 IP 地址。

[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

验证您的工作

运行PowerShell脚本后,我们可以确认IP地址已成功添加到接收连接器。我们在接收连接器中已有的两个 IP 地址都存在且未删除。此外,脚本并没有中止,而是转到列表中的下一个 IP 地址。

注意:Exchange 管理中心*远程网络设置中的 IP 地址将按添加日期对 IP 地址进行排序。您始终可以单击“IP 地址”来对 IP 地址进行排序。

[玩转系统] 将远程 IP 地址导入到 Exchange 接收连接器

让我们使用 PowerShell 列出接收连接器中的 IP 地址并按 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

使用 PowerShell 导入 IP 地址以接收连接器。它能为您提供帮助吗?

了解更多:使用 PowerShell 列出所有 SMTP 地址 »

结论

您了解了如何将远程 IP 地址导入到 Exchange 接收连接器。最好使用 PowerShell 脚本并将远程 IP 地址添加到接收连接器。它会为你节省一些时间。好处是该脚本不会删除已经存在的 IP 地址。

您喜欢这篇文章吗?您可能还喜欢在 Exchange 中创建发送连接器。不要忘记关注我们并分享这篇文章。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯