【PowerShell】修改Windows网络配置的常用命令

PowerShell(PS)是一种强大的任务自动化和管理框架,具有丰富的命令和语法,可以用于编写脚本来管理Windows操作系统和其他应用程序。它的开放式架构和跨平台支持使得它成为一个灵活和可扩展的工具。

在网络配置方面,PowerShell提供了丰富的命令用于快速进行Windows配置,这里记录几种网络配置常用操作的PS命令,这些命令在Windows11上验证可正确执行,更多命令可从官方文档找到:

Get-NetAdapterAdvancedProperty

Get-NetAdapterAdvancedProperty用于获取网络适配器的高级属性,该命令可用于修改网络适配器的各种高级设置,例如Wake-on-LAN、Flow Control、Interrupt Moderation等。该命令与Set-NetAdapterAdvancedProperty相对应。

复制代码
Get-NetAdapterAdvancedProperty
   [[-Name] <String[]>]
   [-IncludeHidden]
   [-AllProperties]
   [-CimSession <CimSession[]>]
   [-ThrottleLimit <Int32>]
   [-AsJob]
   [<CommonParameters>]

例如,如下命令用于获取以太网的全部高级属性

powershell 复制代码
Get-NetAdapterAdvancedProperty -Name Ethernet -all

使用-DisplayName或者-RegistryKeyword用于获取某个高级属性的值。如下述命令均可用于获取链路速率。

powershell 复制代码
Get-NetAdapterAdvancedProperty -Name Ethernet -RegistryKeyword "*SpeedDuplex"
Get-NetAdapterAdvancedProperty -Name Ethernet -DisplayName "Speed & Duplex"

Set-NetAdapterAdvancedProperty

Set-NetAdapterAdvancedProperty用于配置网络适配器的高级属性,与Get-NetAdapterAdvancedProperty相对应。其格式如下:

复制代码
 Set-NetAdapterAdvancedProperty
   [[-Name] <String[]>]
   [-DisplayName <String[]>]
   [-RegistryKeyword <String[]>]
   [-IncludeHidden]
   [-AllProperties]
   [-DisplayValue <String>]
   [-RegistryValue <String[]>]
   [-NoRestart]
   [-CimSession <CimSession[]>]
   [-ThrottleLimit <Int32>]
   [-AsJob]
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

例如,如下命令用于设置以太网链路速率为100Mbps全双工(100Mbps全双工对应的配置值为4)

powershell 复制代码
Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "*SpeedDuplex" -RegistryValue "4"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Speed & Duplex" -DisplayValue "100 Mbps Full Duplex"

Remove-NetIPAddress

Remove-NetIPAddress用于删除一个网络适配器的IP地址配置,在给某个已经分配过IP地址的网络适配器更换IP时需要首先执行这个命令。该命令与New-NetIPAddress对应。

该命令完整格式如下:

复制代码
Remove-NetIPAddress
      [[-IPAddress] <String[]>]
      [-InterfaceIndex <UInt32[]>]
      [-InterfaceAlias <String[]>]
      [-AddressFamily <AddressFamily[]>]
      [-Type <Type[]>]
      [-PrefixLength <Byte[]>]
      [-PrefixOrigin <PrefixOrigin[]>]
      [-SuffixOrigin <SuffixOrigin[]>]
      [-AddressState <AddressState[]>]
      [-ValidLifetime <TimeSpan[]>]
      [-PreferredLifetime <TimeSpan[]>]
      [-SkipAsSource <Boolean[]>]
      [-PolicyStore <String>]
      [-DefaultGateway <String>]
      [-IncludeAllCompartments]
      [-CimSession <CimSession[]>]
      [-ThrottleLimit <Int32>]
      [-AsJob]
      [-PassThru]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

例如,如下命令用于清除以太网的IP配置,-Confirm:$False参数表示这个命令执行时不需要用户手动确认。

powershell 复制代码
Remove-NetIPAddress -InterfaceAlias "Ethernet" -Confirm:$False

New-NetIPAddress

New-NetIPAddress用于为未分配IP地址的网络接口创建新的IP地址配置。该命令与Remove-NetIPAddress对应。

该命令完整格式如下:

复制代码
New-NetIPAddress
   [-IPAddress] <String>
   -InterfaceAlias <String>
   [-DefaultGateway <String>]
   [-AddressFamily <AddressFamily>]
   [-Type <Type>]
   [-PrefixLength <Byte>]
   [-ValidLifetime <TimeSpan>]
   [-PreferredLifetime <TimeSpan>]
   [-SkipAsSource <Boolean>]
   [-PolicyStore <String>]
   [-CimSession <CimSession[]>]
   [-ThrottleLimit <Int32>]
   [-AsJob]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

例如下述命令为以太网分配静态IP 192.167.99.11

powershell 复制代码
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 192.167.99.11 -PrefixLength 24
相关推荐
weixin_416667966 小时前
【无标题】
运维·服务器·网络
予昊7 小时前
从零实现“在线五子棋对战“:WebSocket 实时通信 + 段位匹配
java·开发语言·网络·websocket
上海云盾-小余9 小时前
流量攻击复盘:为什么 WAF 完好,业务依旧瘫痪
运维·服务器·网络
戴西软件9 小时前
戴西iDWS.3DViz Suite数据轻量化可视化软件,从传统桌面软件向云端协同的重大突破
大数据·运维·网络·人工智能·机器学习·3d
芯盾时代9 小时前
《金融业网络安全管理办法(征求意见稿)》全条款深度拆解(三)
网络·安全·网络安全
米饭不加菜9 小时前
ESP-01S通过TCP直接与手机建立通信
网络·tcp/ip·智能手机
闲云野鹤在人间10 小时前
OpenStack架构介绍和安装流程
linux·网络·架构·openstack
xx~t10 小时前
嵌入式——Linux软件编程——网络1
linux·c语言·网络·vscode·网络协议
jyOverQ11 小时前
ChatGPT Windows 客户端点击无反应、有进程却没窗口?一次 MSIX 非系统盘启动卡死的完整排查
windows·chatgpt
国科安芯12 小时前
星载CAN总线通信网络中抗辐射MCU的通信可靠性设计分析
网络·人工智能·分布式·单片机·嵌入式硬件·架构