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

[玩转系统] Windows PowerShell IP 配置入门

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

Windows PowerShell IP 配置入门


常见的系统管理任务涉及管理 PowerShell IP 配置。通常,可以使用 GUI 来执行此任务,这是可以的。但 PowerShell 可以完成相同的工作甚至更多,您可以将其放入脚本中。

在本教程中,您将学习如何在 PowerShell 中使用一些网络管理 cmdlet 来帮助管理 Windows 主机的 IP 地址、网关和 DNS 设置。

继续阅读,并使用 PowerShell IP 配置命令提高您的网络故障排除技能!

先决条件

本教程包括动手演示。您将需要对现代 Windows 操作系统上的 PowerShell 进行管理访问才能进行后续操作。本教程使用 Windows Server 2022,但命令适用于 Windows 10 版本及更高版本。

获取网络适配器属性 (Get-NetAdapter)

在排除故障或收集主机的 IP 地址时,您可以使用 pingipconfigsconfig 等传统工具。但使用 PowerShell cmdlet,您可以编写此过程的脚本以实现自动化。

打开 PowerShell 并运行以下 Get-NetAdapter cmdlet 以获取网络适配器及其属性的列表,例如主机的 InterfaceAliasInterfaceIndex

Get-NetAdapter

[玩转系统] Windows PowerShell IP 配置入门

请注意,您的适配器还没有 IP 地址对象。您需要知道要使用哪一个。在本教程中,您将使用以太网适配器别名。

检索地址 PowerShell IP 配置 (Get-NetIPAddress)

您之前使用单个命令列出了所有网络接口。但您也可以通过 Get-NetIPAddress cmdlet 列出属性值和主机的当前 IP 地址。

运行以下 cmdlet(不带参数)以显示每个适配器的地址和 PowerShell IP 配置。

Get-NetIPAddress

[玩转系统] Windows PowerShell IP 配置入门

现在,运行以下命令将输出 (Select-Object) 缩小为以太网的 InterfaceAliasIPAddress

Get-NetIPAddress -InterfaceAlias Ethernet | Select-Object -Property InterfaceAlias,IPAddress

[玩转系统] Windows PowerShell IP 配置入门

获取 IP 路由信息 (Get-NetRoute)

IP 地址使主机能够与同一网络上的其他主机进行通信。但是,当主机需要与网络外部进行通信时会发生什么情况呢?

网关地址是必需的,而 Get-NetRoute cmdlet 正是您所需要的。此 cmdlet 提供了您之前了解的 cmdlet 所不提供的信息。

运行以下 Get-NetRoute 命令检查 Ethernet 接口的当前网关 (NextHop)。

Get-NetRoute -InterfaceAlias Ethernet | Where-Object -Property RouteMetric -EQ 0 | Select-Object -Property NextHop

通常,DHCP 服务器提供网关地址。稍后您将需要为本文捕获此地址。

[玩转系统] Windows PowerShell IP 配置入门

获取 DNS 服务器 IP 地址 (Get-DnsClientServerAddress)

DNS 对于内部和外部网络的名称解析都是必需的。如果没有 DNS,您将必须记住网络上每台主机的互联网地址。

但很可能您的主机已经通过 DHCP 配置了 DNS。您可以使用 Get-DnsClientServerAddress cmdlet 验证当前配置。

Get-DnsClientServerAddress

通过将输出重定向到文本文件或写下来来记录 IP 地址。在本教程的后面部分,您将需要重新分配这些 DNS 服务器地址。

[玩转系统] Windows PowerShell IP 配置入门

获取 IP 网络配置 (Get-NetIPConfiguration)

当您一次性需要了解前面三个 cmdlet 的信息时,Get-NetIPConfigurationcmdlet 就可以解决问题。该 cmdlet 的一个突出特点是它提供了更有针对性的信息。

运行下面的 Get-NetIPConfiguration cmdlet 以显示您之前运行的 cmdlet 收集的 IP 网络配置。

Get-NetIPConfiguration

[玩转系统] Windows PowerShell IP 配置入门

如果您只有一个网络接口,则 Get-NetIPConfiguration cmdlet 会更快。但如果您有多个网络接口,则可能必须过滤掉属性以防止控制台滚动。

手动配置 IP、网关和 DNS 地址

通过到目前为止您所学的 cmdlet,是时候将您的新知识运用到工作中了。在本教程中,您将为 Windows Server 2022 主机分配静态 IP 地址、网关和 DNS 服务器。

此后的命令仅更改指定网络适配器的 IP 地址、网关和 DNS 设置。您必须对要更改的每个适配器重复这些步骤。

1. 以管理员身份打开 PowerShell,然后运行以下命令列出服务器上的网络适配器。

Get-NetAdapter

查找已安装的网络适配器命令

确定您要更改的网络适配器。您可以使用列表中显示的适配器名称或索引号(即以太网)。

[玩转系统] Windows PowerShell IP 配置入门

2. 接下来,运行以下 Net-NetIPAddress 命令来更改网络适配器的 IPv4 地址。 24-PrefixLength 显示它使用 IP 地址的前 24 位作为地址的网络部分。请务必相应地替换以下内容:

  • AdapterName - 目标网络适配器的名称或索引号。
  • ServerAddress - 要添加到网络适配器的 IPv4 地址。
  • GatewayAddress - 网关地址应与 IPv4 地址位于同一子网中。
New-NetIPAddress -InterfaceAlias "[AdapterName]" -IPAddress [ServerAddress] -PrefixLength 24 -DefaultGateway [GatewayAddress]

[玩转系统] Windows PowerShell IP 配置入门

与 New-NetIPAddress cmdlet 相关的是Set-NetIPAddress,它会更改现有的 IP 配置,Remove-NetIPAddress 会删除配置。

3. 现在,运行以下 Set-DnsClientServerAddress 命令,该命令不会产生输出,但会更改 DNS 服务器。确保将 AdapterName 替换为网络适配器的名称 (-InterfaceAlias) 或索引号 (-InterfaceIndex)。此命令将网络适配器的 DNS 服务器设置为位于 8.8.8.88.8.4.4 的 Google 公共 DNS 服务器。但您可以指定任何您想要的有效 DNS 服务器 IP 地址。

Set-DnsClientServerAddress -InterfaceAlias "[AdapterName]" -ServerAddresses 8.8.8.8, 8.8.4.4

请注意,使用 Set-DnsClientServerAddress cmdlet,您可以分配一个或多个内部或面向公众的 DNS IP 地址。

4. 最后,运行以下" data-type="URL" data-id="https://learn.microsoft.com/en-us/powershell/module/netadapter/restart-netadapter?view=windowsserver2022 -ps>" target="_blank" rel="noreferrer noopener">Restart-NetAdapter 命令,该命令不会将输出打印到控制台,而是重新启动网络适配器并应用更改。恭喜!您刚刚手动配置您的网络接口具有自定义配置。

Restart-NetAdapter -Name Ethernet

如果您的主机只有一个适配器(如本教程所示),您可能会短暂失去连接,具体取决于您的连接方式。要开始使用新的 IP 地址,必须完成最后一步。

结论

了解您的网络配置对于保持网络健康至关重要。好消息是您了解了 PowerShell IP 配置 cmdlet 中可用的四个基本网络配置命令。

借助这些新知识,您可以使用 PowerShell IP 配置功能轻松创建脚本,作为更广泛的服务器配置过程的一部分。

接下来是什么?为什么不尝试调整更高级的选项(例如 MTU)、添加更多路由或重置适配器以使用 DHCP 而不是静态地址?

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

取消回复欢迎 发表评论:

关灯