Hálózati beállítások konfigurálása Windows rendszeren a PowerShell segítségével: IP-cím, DNS, alapértelmezett átjáró, statikus útvonalak

A Windows rendszerben a hálózati adapterek beállításait nem csak a grafikus felhasználói felületről, hanem a PowerShell parancssorból is kezelheti. Ebben a cikkben áttekintjük a legfontosabb parancsmagokat, amelyek segítségével megtudhatja a hálózati adapter aktuális IP-címét, statikus IP-címet, DNS-kiszolgáló IP-címét vagy hálózati interfészt konfigurálhat úgy, hogy IP-konfigurációt kapjon egy DHCP-kiszolgálótól. Ezekkel a parancsmagokkal konfigurálhatja a hálózatot a Windows 10/11 és a Windows Server (vagy a Server Core kiadások), a Hyper-V Server rendszeren, módosíthatja a távoli számítógépeken lévő hálózati adapterek IP-beállításait, valamint a PowerShell automatizálási parancsfájlokban.

Tartalom:

Korábban anetsh interface ipv4 parancsot használták a hálózati beállítások kezeléséhez a CLI-ből. A PowerShell 3.0 és újabb verzióiban használhatja a beépítettNetTCPIPPowerShell modul a hálózati beállítások kezeléséhez Windows rendszeren.

A modulban található parancsmagok listájának lekéréséhez futtassa a következő parancsot:

get-command -module NetTCPIP

Ez a modul tartalmazza a Test-NetConnection parancsmagot is, amely a távoli számítógépek nyitott TCP-portjainak megkeresésére használható.

A hálózati adapter beállításainak kezelése a PowerShell segítségével

Sorolja fel a Windows számítógépen elérhető hálózati interfészeket:

Get-NetAdapter

A parancsmag visszaadja az interfész nevét, állapotát (Fel/Le), MAC-címet és portsebességet.

Ebben a példában több hálózati adapter van a számítógépemen (a fizikai kapcsolaton, az Ethernet0-n kívül Hyper-V és VMWare Player hálózati interfészek is vannak).

Csak az engedélyezett fizikai hálózati interfészek megjelenítéséhez:

Get-NetAdapter -Physical | ? {$_.Status -eq "Up"}

Csak bizonyos hálózati adapterparamétereket tekinthet meg, például nevet, sebességet, állapotot vagy MAC-címet:

Get-NetAdapter |Select-Object name,LinkSpeed,InterfaceOperationalStatus,MacAddress

Lehetséges, hogy a Windows rejtett hálózati adapterekkel rendelkezik. Az összes megjelenítéséhez adja hozzá aIncludeHiddenparaméter:

Get-NetAdapter –IncludeHidden

Az eredmény az összes virtuális WAN Miniport adapter listája lesz, amelyeket különféle típusú kapcsolatokhoz használnak, beleértve a VPN-t is. Ezeknek az adaptereknek az újraindítása gyakran javít néhány VPN-kapcsolati hibát a beépített Windows-ügyféllel. Külön PowerShell-parancsmagok állnak rendelkezésre a VPN-kapcsolatok kezelésére.

A hálózati interfészekre nevük vagy indexük alapján hivatkozhat (az Index oszlop). Példánkban a fizikai LAN-adapter Intel 82574L Gigabit Network Connection kiválasztásához használja a következő parancsot:

Get-NetAdapter -Name Ethernet0

vagy:

Get-NetAdapter -InterfaceIndex 8

Megváltoztathatja az adapter nevét:

Rename-NetAdapter -Name Ethernet0 -NewName LAN

A hálózati interfész letiltásához használja ezt a parancsot:

Get-NetAdapter -Name Ethernet0| Disable-NetAdapter

Engedélyezze a hálózati kártyát a nevével:

Enable-NetAdapter -Name Ethernet0

Ha a hálózati adapter konfigurált VLAN-számmal rendelkezik, megtekintheti:

Get-NetAdapter | ft Name, Status, Linkspeed, VlanID

A következőképpen tudhatja meg a használt hálózati adapter illesztőprogramjával kapcsolatos információkat:

Get-NetAdapter | ft Name, DriverName, DriverVersion, DriverInformation, DriverFileName

Sorolja fel a fizikai hálózati adapterekre vonatkozó információkat (PCI slot, busz stb.):

Get-NetAdapterHardwareInfo

Tiltsa le az IPv6 protokollt a hálózati interfészen:

Get-NetAdapterBinding -InterfaceAlias Ethernet0 | Set-NetAdapterBinding -Enabled:$false -ComponentID ms_tcpip6

Tiltsa le a NetBIOS protokollt egy hálózati interfészhez:

Set-NetAdapterBinding -Name Ethernet0 -ComponentID ms_netbios -AllBindings -Enabled $True

Az aktuális hálózati adapter beállításainak lekérése a Windows rendszerben (IP-cím, DNS, alapértelmezett átjáró):

Get-NetIPConfiguration -InterfaceAlias Ethernet0

ÖSSZEFÜGGŐ:Konfigurálja a DNS-tisztítást az elavult DNS-rekordok megtisztításához az AD-ben

A hálózati interfész TCP/IP konfigurációjával kapcsolatos részletesebb információk megjelenítéséhez használja a parancsot

Get-NetIPConfiguration -InterfaceAlias Ethernet0 -Detailed

Ebben az esetben megjelenik az interfész hozzárendelt hálózati helye (profilja) (NetProfile.NetworkCategory), az MTU beállításai (NetIPv4Interface.NlMTU), hogy engedélyezve van-e az IP-cím DHCP-ről való lekérése (NetIPv4Interface.DHCP), valamint egyéb hasznos információk.

Csak az IPv4 interfész címének lekérése:

(Get-NetAdapter -Name ethernet0 | Get-NetIPAddress).IPv4Address

Csak az interfész IP-címének értékét adja vissza:

(Get-NetAdapter -Name ethernet0 | Get-NetIPAddress).IPv4Address

Fájlok virtuális gépekre másolásakor sok rendszergazda gyengébb hálózati teljesítményt észlelt a Windows Server 2019 rendszeren, ahol engedélyezve van a Hyper-V szerepkör. Ebben az esetben a TCP-verem beállításainak visszaállítása a Windows Server 2016-ban használt beállításokra segít megoldani a problémákat:
Set-NetTCPSetting -SettingName DatacenterCustom,Datacenter -CongestionProvider DCTCP
Set-NetTCPSetting -SettingName DatacenterCustom,Datacenter -CwndRestart True
Set-NetTCPSetting -SettingName DatacenterCustom,Datacenter -ForceWS Disabled

Jelenítse meg azon hálózati protokollok listáját, amelyek engedélyezhetők vagy letilthatók egy hálózati adapterhez:

Get-NetAdapterBinding -Name ethernet0 -IncludeHidden -AllBindings

Name                           DisplayName                                        ComponentID          Enabled
----                           -----------                                        -----------          -------
Ethernet                       File and Printer Sharing for Microsoft Networks    ms_server            True
Ethernet                       NetBIOS Interface                                  ms_netbios           True
Ethernet                       Microsoft LLDP Protocol Driver                     ms_lldp              True
Ethernet                       Microsoft NDIS Capture                             ms_ndiscap           True
Ethernet                       Internet Protocol Version 4 (TCP/IPv4)             ms_tcpip             True
Ethernet                       Microsoft RDMA - NDK                               ms_rdma_ndk          True
Ethernet                       Microsoft Network Adapter Multiplexor Protocol     ms_implat            False
Ethernet                       Link-Layer Topology Discovery Mapper I/O Driver    ms_lltdio            True
Ethernet                       NDIS Usermode I/O Protocol                         ms_ndisuio           True
Ethernet                       Point to Point Protocol Over Ethernet              ms_pppoe             True
Ethernet                       Link-Layer Topology Discovery Responder            ms_rspndr            True
Ethernet                       Internet Protocol Version 6 (TCP/IPv6)             ms_tcpip6            True
Ethernet                       Hyper-V Extensible Virtual Switch                  vms_pp               False
Ethernet                       WFP Native MAC Layer LightWeight Filter            ms_wfplwf_lower      True
Ethernet                       Client for Microsoft Networks                      ms_msclient          True
Ethernet                       Npcap Packet Driver (NPCAP)                        INSECURE_NPCAP       True
Ethernet                       WINS Client(TCP/IP) Protocol                       ms_netbt             True
Ethernet                       Bridge Driver                                      ms_l2bridge          True
Ethernet                       WFP 802.3 MAC Layer LightWeight Filter             ms_wfplwf_upper      True
Ethernet                       QoS Packet Scheduler                               ms_pacer             True

Az aktív TCP/IP-munkamenetek számítógépen való megtekintéséhez használja a Get-NetTCPConnection parancsmagot.

Állítsa be a statikus IP-címet Windows rendszeren a PowerShell segítségével

Próbáljunk meg statikus IP-címet beállítani a hálózati kártyához. Az Ethernet0 hálózati interfész IP-címének, hálózati maszkjának és alapértelmezett átjárójának módosításához használja a következő parancsot:

Get-NetAdapter -Name Ethernet0| New-NetIPAddress –IPAddress 192.168.2.50 -DefaultGateway 192.168.2.1 -PrefixLength 24

Az IP-címet egy tömbstruktúra segítségével állíthatja be (vizuálisabban):

$ipParams = @{
InterfaceIndex = 8
IPAddress = "192.168.2.50"
PrefixLength = 24
AddressFamily = "IPv4"
}
New-NetIPAddress @ipParams

A New-NetIPAddress segítségével egy második IP-címet (aliast) adhat hozzá a hálózati adapterhez.

Ha egy statikus IP-cím már be van állítva, és módosítani kell, használja aSet-NetIPAddresscmdlet:

Set-NetIPAddress -InterfaceAlias Ethernet0 -IPAddress 192.168.2.90

Az adapter DHCP-ről történő IP-címének letiltásához futtassa a következő parancsot:

Set-NetIPInterface -InterfaceAlias Ethernet0 -Dhcp Disabled

Statikus IP-cím eltávolítása:

Remove-NetIPAddress -IPAddress "xxx.xxx.xxx.xxx"

Állítsa be a DNS-kiszolgáló IP-címeit a Windows rendszerben a PowerShell segítségével

A preferált és alternatív DNS-kiszolgáló IP-címeinek beállításához a Windows rendszerben használja aSet-DNSClientServerAddresscmdlet. Például:

Set-DNSClientServerAddress –InterfaceIndex 8 –ServerAddresses 192.168.2.11,10.1.2.11

A DNS-névszerver IP-címeit egy tömb segítségével is megadhatja:

$dnsParams = @{
InterfaceIndex = 8
ServerAddresses = ("8.8.8.8","8.8.4.4")
}
Set-DnsClientServerAddress @dnsParams

A DNS-beállítások módosítása után kiürítheti a DNS-feloldó gyorsítótárát (egyenértékű aipconfig /flushdns):

Clear-DnsClientCache

DNS-gyorsítótár tartalmának megjelenítése Windows rendszerben::
Get-DnsClientCache

Útválasztó táblák kezelése PowerShell segítségével

AGet-NetRouteA parancsmag az útválasztási tábla megjelenítésére szolgál.

Az alapértelmezett átjáró útvonal lekérése a fizikai hálózati interfészhez a Windows rendszerben:

Get-NetAdapter -Physical | ? {$_.Status -eq "Up"}| Get-netroute| where DestinationPrefix -eq "0.0.0.0/0"

Új útvonal hozzáadásához használja aÚj-NetRoutecmdlet:

New-NetRoute -DestinationPrefix "0.0.0.0/0" -NextHop "192.168.2.2" -InterfaceIndex 8

Ez a parancs állandó útvonalat ad az útválasztási táblához (hasonlóan aroute -p add). Ha ideiglenes útvonalat szeretne hozzáadni, adja hozzá a-PolicyStore "ActiveStore"opció. Ez az útvonal a Windows újraindítása után törlődik.

Útvonal eltávolítása az útválasztási táblázatból:

Remove-NetRoute -NextHop 192.168.0.1 -Confirm:$False

PowerShell: Állítsa át az adaptert statikus IP-címről DHCP-re

Ha be szeretné állítani a számítógépet, hogy dinamikus IP-címet kapjon a hálózati adapterhez a DHCP-kiszolgálótól, futtassa ezt a parancsot:

Set-NetIPInterface -InterfaceAlias Ethernet0 -Dhcp Enabled

Törölje a DNS-kiszolgáló beállításait:

Set-DnsClientServerAddress –InterfaceAlias Ethernet0 -ResetServerAddresses

És indítsa újra a hálózati adaptert, hogy automatikusan megkapja az IP-címet a DHCP-kiszolgálótól:

Restart-NetAdapter -InterfaceAlias Ethernet0

Ha korábban alapértelmezett átjárót állított be, távolítsa el:

Set-NetIPInterface -InterfaceAlias Ethernet0| Remove-NetRoute -Confirm:$false

Ha vissza kell állítania a számítógép hálózati interfészeinek összes IPv4-beállítását, és át kell állítania azokat, hogy dinamikus IP-címet kapjon a DHCP-től, használja a következő parancsfájlt:

$IPType = "IPv4"
$adapter = Get-NetAdapter | ? {$_.Status -eq "up"}
$interface = $adapter | Get-NetIPInterface -AddressFamily $IPType
If ($interface.Dhcp -eq "Disabled") {
If (($interface | Get-NetIPConfiguration).Ipv4DefaultGateway) {
$interface | Remove-NetRoute -Confirm:$false
}
$interface | Set-NetIPInterface -DHCP Enabled
$interface | Set-DnsClientServerAddress -ResetServerAddresses
}

A DNS- és IP-címek távoli módosítása több számítógépen a PowerShell segítségével

A PowerShell segítségével távolról módosíthatja az IP-címet vagy a DNS-kiszolgáló beállításait több távoli számítógépen.

Tegyük fel, hogy az Ön feladata a DNS-beállítások módosítása az összes Windows Server-gazdagépen az adott AD szervezeti egységben (OU). A következő szkript a Get-ADComputer parancsmagot használja a számítógépek listájának az Active Directoryból való lekéréséhez, majd a WinRM-en keresztül csatlakozik a távoli számítógépekhez (az Invoke-Command parancsmag használatos):

$Servers = Get-ADComputer -SearchBase ‘OU=Servers,OU=Berlin,OU=DE,DC=woshub,DC=cpm’ -Filter '(OperatingSystem -like "Windows Server*")' | Sort-Object Name
ForEach ($Server in $Servers) {
Write-Host "Server $($Server.Name)"
Invoke-Command -ComputerName $Server.Name -ScriptBlock {
$NewDnsServerSearchOrder = "192.168.2.11","8.8.8.8"
$Adapters = Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object {$_.DHCPEnabled -ne 'True' -and $_.DNSServerSearchOrder -ne $null}
Write-Host "Old DNS settings: "
$Adapters | ForEach-Object {$_.DNSServerSearchOrder}
$Adapters | ForEach-Object {$_.SetDNSServerSearchOrder($NewDnsServerSearchOrder)} | Out-Null
$Adapters = Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object {$_.DHCPEnabled -ne 'True' -and $_.DNSServerSearchOrder -ne $null}
Write-Host "New DNS settings: "
$Adapters | ForEach-Object {$_.DNSServerSearchOrder}
}
}

Related Posts