ZetCode

PowerShell New-NetIPAddress

最后修改:2025 年 2 月 15 日

本文介绍了PowerShell中的New-NetIPAddress cmdlet。它用于在网络接口上创建和配置IP地址。该cmdlet是PowerShell NetTCPIP模块的一部分。

IP地址基础知识

IP地址是分配给网络上设备的唯一标识符。IPv4地址由四个用点分隔的八位字节组成(例如,192.168.1.1)。IPv6地址更长,并使用十六进制表示法。子网掩码定义了IP地址的网络部分。默认网关负责在不同网络之间路由流量。

New-NetIPAddress基本用法

使用New-NetIPAddress的最简单方法需要三个参数。您必须指定IP地址、前缀长度和接口索引。前缀长度在现代表示法中取代了子网掩码。此示例将一个静态IPv4地址分配给一个网络接口。

ipaddress1.ps1
New-NetIPAddress -IPAddress 192.168.1.100 -PrefixLength 24 -InterfaceIndex 12

此命令将192.168.1.100和24位子网掩码分配给接口12。24位前缀长度等于255.255.255.0的子网掩码。您可以使用Get-NetAdapter查找接口索引。

分配带有默认网关的IP地址

创建新的IP地址时,您可以指定默认网关。-DefaultGateway参数设置路由器地址。这对于与本地网络外部通信至关重要。网关必须与IP地址位于同一子网中。

ipaddress2.ps1
New-NetIPAddress -IPAddress 192.168.1.100 -PrefixLength 24 `
    -InterfaceIndex 12 -DefaultGateway 192.168.1.1

此命令分配IP地址并将192.168.1.1设置为网关。反引号(`)用于PowerShell中的换行。网关将用于所有未发送到本地子网的流量。

配置IPv6地址

New-NetIPAddress也支持IPv6地址配置。IPv6使用不同的格式和通常更长的前缀长度。cmdlet语法与IPv4配置类似。此示例分配一个全局单播IPv6地址。

ipaddress3.ps1
New-NetIPAddress -IPAddress 2001:db8::100 -PrefixLength 64 -InterfaceIndex 12

此命令将IPv6地址2001:db8::100分配给接口12。64位前缀长度对于IPv6子网来说很常见。IPv6配置遵循与IPv4相同的原则,但表示法不同。

分配多个IP地址

网络接口可以分配多个IP地址。只需为同一接口多次运行New-NetIPAddress。每个IP地址在网络上必须是唯一的。这对于在一台服务器上托管多个服务很有用。

ipaddress4.ps1
New-NetIPAddress -IPAddress 192.168.1.101 -PrefixLength 24 -InterfaceIndex 12
New-NetIPAddress -IPAddress 192.168.1.102 -PrefixLength 24 -InterfaceIndex 12

这些命令将两个IP地址分配给接口12。两个地址必须在同一子网中(具有相同的前缀长度)。该接口现在可以响应这两个地址的流量。

配置带有DNS的IP地址

虽然New-NetIPAddress不直接设置DNS,但您可以将其结合使用。在分配IP地址后使用Set-DnsClientServerAddress。这可以在脚本中提供完整的网络配置。DNS服务器对于名称解析至关重要。

ipaddress5.ps1
New-NetIPAddress -IPAddress 192.168.1.100 -PrefixLength 24 -InterfaceIndex 12
Set-DnsClientServerAddress -InterfaceIndex 12 -ServerAddresses 8.8.8.8,8.8.4.4

此脚本分配一个IP地址并配置Google的DNS服务器。DNS设置应用于同一接口索引。可以指定多个DNS服务器,用逗号分隔。

来源

PowerShell 文档

在本文中,我们介绍了PowerShell中的New-NetIPAddress cmdlet。

作者

我叫Jan Bodnar,是一名充满热情的程序员,拥有丰富的编程经验。我自2007年以来一直在撰写编程文章。迄今为止,我已撰写了1,400多篇文章和8本电子书。我在编程教学方面拥有十多年的经验。

列出 所有 PowerShell 教程