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

[玩转系统] 从 Exchange 接收连接器中删除远程 IP 地址

作者:精品下载站 日期:2024-12-14 01:56:49 浏览:15 分类:玩电脑

从 Exchange 接收连接器中删除远程 IP 地址


任务是从 Exchange Server 接收连接器中删除 IP 地址。在 Exchange 管理中心中一一删除 IP 地址和 IP 地址范围将花费大量时间。实现该目标最快的方法是使用 PowerShell。在本文中,您将了解如何使用 PowerShell 脚本从 Exchange 接收连接器中删除远程 IP 地址。

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

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

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

[玩转系统] 从 Exchange 接收连接器中删除远程 IP 地址

我们可以看到存在的远程 IP 地址。

[玩转系统] 从 Exchange 接收连接器中删除远程 IP 地址

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

我们如何快速从 Exchange 接收连接器中删除 IP 地址? PowerShell 来救援。

准备 IP 地址 CSV 文件

您是否已有要删除的 IP 地址列表?那太棒了。如果没有,您可以创建一个 CSV 文件,如下图所示。

带有 IP 地址的 CSV 如下所示。前两个是几个 IP 地址范围,其他是单个 IP 地址。确保使用相同的 CSV 文件名和标题“表达式”

[玩转系统] 从 Exchange 接收连接器中删除远程 IP 地址

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

[玩转系统] 从 Exchange 接收连接器中删除远程 IP 地址

以管理员身份运行 Exchange 命令行管理程序。验证 PowerShell 是否可以使用 Import-Csv cmdlet 读取 CSV 文件。

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

从接收连接器 PowerShell 脚本中删除 IP 地址

下载Remove-IPReceiveConnector.ps1 PowerShell 脚本并将其放置在C:\scripts 文件夹中。

确保文件未被阻止,以防止运行脚本时出现错误。请阅读文章运行 PowerShell 脚本时出现未数字签名错误来了解更多信息。

另一种选择是将下面的代码复制并粘贴到记事本中。将其命名为 Remove-IPReceiveConnector.ps1 并将其放置在 C:\scripts 文件夹中。

# 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 address exists
    if ($RemoteIPRanges -contains $IPEx) {
        $RemoteIPRanges = $RemoteIPRanges | Where-Object { $_ -ne $IPEx }

        # Remove the -WhatIf parameter after you tested and are sure to remove the remote IP addresses
        Set-ReceiveConnector $RC -RemoteIPRanges $RemoteIPRanges -WhatIf
        Write-Host "IP address $($IPEx) removed from receive connector $($RC)" -ForegroundColor Green
    }
    else {
        Write-Host "IP address $($IPEx) does not exist in receive connector $($RC)" -ForegroundColor Yellow
    }
}

以管理员身份运行 Exchange Management Shell 并运行 PowerShell 脚本以删除 IP 地址。该脚本将遍历列表中的每个 IP 地址。

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

在我们的示例中,脚本将尝试批量删除指定接收连接器的九个 IP 地址。它不会删除一个 IP 地址,因为它不存在于接收连接器中。

C:\scripts\.\Remove-IPReceiveConnector.ps1

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

What if: Configuring Receive connector "EX02-2016\SMTP Relay".
IP address 192.168.1.70-192.168.1.80 removed from 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 removed from receive connector EX02-2016\SMTP Relay
What if: Configuring Receive connector "EX02-2016\SMTP Relay".
IP address 192.168.1.99 removed from receive connector EX02-2016\SMTP Relay
What if: Configuring Receive connector "EX02-2016\SMTP Relay".
IP address 192.168.1.174 removed from receive connector EX02-2016\SMTP Relay
What if: Configuring Receive connector "EX02-2016\SMTP Relay".
IP address 192.168.1.221 removed from receive connector EX02-2016\SMTP Relay
What if: Configuring Receive connector "EX02-2016\SMTP Relay".
IP address 192.168.1.222 removed from receive connector EX02-2016\SMTP Relay
IP address 192.168.1.234 does not exist in receive connector EX02-2016\SMTP Relay
What if: Configuring Receive connector "EX02-2016\SMTP Relay".
IP address 192.168.1.235 removed from receive connector EX02-2016\SMTP Relay
What if: Configuring Receive connector "EX02-2016\SMTP Relay".
IP address 192.168.1.240 removed from receive connector EX02-2016\SMTP Relay

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

第 23 行上,从 PowerShell 脚本中删除 -WhatIf 参数,然后重新运行该脚本以从 Exchange 接收连接器中删除 IP 地址。

C:\scripts\.\Remove-IPReceiveConnector.ps1

输出如下所示。

IP address 192.168.1.70-192.168.1.80 removed from receive connector EX02-2016\SMTP Relay
IP address 192.168.1.75-192.168.1.80 removed from receive connector EX02-2016\SMTP Relay
IP address 192.168.1.99 removed from receive connector EX02-2016\SMTP Relay
IP address 192.168.1.174 removed from receive connector EX02-2016\SMTP Relay
IP address 192.168.1.221 removed from receive connector EX02-2016\SMTP Relay
IP address 192.168.1.222 removed from receive connector EX02-2016\SMTP Relay
IP address 192.168.1.234 does not exist in receive connector EX02-2016\SMTP Relay
IP address 192.168.1.235 removed from receive connector EX02-2016\SMTP Relay
IP address 192.168.1.240 removed from receive connector EX02-2016\SMTP Relay

验证您的工作

运行 PowerShell 脚本后,我们可以确认 IP 地址已成功从接收连接器中删除。

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

[玩转系统] 从 Exchange 接收连接器中删除远程 IP 地址

让我们使用 PowerShell 列出接收连接器中的 IP 地址并按 IP 地址排序。

(Get-ReceiveConnector -Identity "EX02-2016\SMTP relay").RemoteIPRanges | Sort-Object | Format-Table

将出现以下输出。

LowerBound    UpperBound    Netmask CIDRLength   RangeFormat Size Expression
----------    ----------    ------- ----------   ----------- ---- ----------
192.168.1.100 192.168.1.100                    SingleAddress ::1  192.168.1.100

就是这样!使用 PowerShell 从接收连接器中删除 IP 地址是可行的。这对你有用吗?

了解更多:在 Exchange Server 中重新创建默认接收连接器 »

结论

您了解了如何从 Exchange 接收连接器中删除远程 IP 地址。使用 PowerShell 脚本从接收连接器中删除 IP 地址非常好。通过从 CSV 文件中提取 IP,可以确保没有错误。此方法将节省您的时间和精力。

您喜欢这篇文章吗?您可能还喜欢配置 Office 365 SMTP 中继。不要忘记关注我们并分享这篇文章。

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

取消回复欢迎 发表评论:

关灯