Ve Windows můžete spravovat nastavení síťových adaptérů nejen z GUI, ale také z příkazového řádku PowerShellu. V tomto článku se podíváme na nejdůležitější rutiny, které můžete použít ke zjištění aktuální IP adresy síťového adaptéru, přiřazení statické IP adresy, přiřazení IP serveru DNS nebo ke konfiguraci síťového rozhraní pro příjem konfigurace IP ze serveru DHCP. Tyto rutiny můžete použít ke konfiguraci sítě ve Windows 10/11 a Windows Server (nebo edicích Server Core), Hyper-V Server, ke změně nastavení IP síťových adaptérů na vzdálených počítačích a ve skriptech automatizace PowerShellu.
Obsah:
- Správa nastavení síťového adaptéru prostřednictvím prostředí PowerShell
- Jak získat nastavení IP adresy pomocí PowerShellu
- Nastavte statickou IP adresu v systému Windows pomocí prostředí PowerShell
- Nastavte IP adresy serveru DNS ve Windows pomocí PowerShellu
- Správa směrovacích tabulek pomocí PowerShellu
- PowerShell: Změňte adaptér ze statické IP adresy na DHCP
- Změňte DNS a IP adresy vzdáleně na více počítačích pomocí PowerShellu
Dříve,netsh interface ipv4 byl použit ke správě síťových nastavení z CLI. V prostředí PowerShell 3.0 a novějších můžete použít vestavěnýNetTCPIPModul PowerShell pro správu nastavení sítě v systému Windows.
Chcete-li získat seznam rutin v tomto modulu, spusťte následující příkaz:
get-command -module NetTCPIP

Tento modul také obsahuje rutinu Test-NetConnection, kterou lze použít k vyhledání otevřených portů TCP na vzdálených počítačích.
Správa nastavení síťového adaptéru prostřednictvím prostředí PowerShell
Seznam dostupných síťových rozhraní na počítači se systémem Windows:
Get-NetAdapter
Rutina vrátí název rozhraní, jeho stav (nahoru/dolů), adresu MAC a rychlost portu.
V tomto příkladu mám na počítači několik síťových adaptérů (kromě fyzického připojení Ethernet0, mám síťová rozhraní Hyper-V a VMWare Player).
Chcete-li zobrazit pouze povolená fyzická síťová rozhraní:
Get-NetAdapter -Physical | ? {$_.Status -eq "Up"}


Můžete zobrazit pouze určité parametry síťového adaptéru, jako je název, rychlost, stav nebo MAC adresa:
Get-NetAdapter |Select-Object name,LinkSpeed,InterfaceOperationalStatus,MacAddress


Systém Windows může mít některé skryté síťové adaptéry. Chcete-li je zobrazit všechny, přidejteIncludeHiddenparametr:
Get-NetAdapter –IncludeHidden
Výsledkem bude seznam všech virtuálních adaptérů WAN Miniport, které se používají pro různé typy připojení, včetně VPN. Restartování těchto adaptérů často opravuje některé chyby připojení VPN pomocí vestavěného klienta Windows. Pro správu připojení VPN existují samostatné rutiny prostředí PowerShell.
Na síťová rozhraní můžete odkazovat jejich názvy nebo indexy (sloupec Index). V našem příkladu pro výběr fyzického adaptéru LAN Intel 82574L Gigabit Network Connection použijte příkaz:
Get-NetAdapter -Name Ethernet0
nebo:
Get-NetAdapter -InterfaceIndex 8


Název adaptéru můžete změnit:
Rename-NetAdapter -Name Ethernet0 -NewName LAN
Chcete-li zakázat síťové rozhraní, použijte tento příkaz:
Get-NetAdapter -Name Ethernet0| Disable-NetAdapter
Povolte NIC podle názvu:
Enable-NetAdapter -Name Ethernet0


Pokud má síťový adaptér nakonfigurované číslo VLAN, můžete jej zobrazit:
Get-NetAdapter | ft Name, Status, Linkspeed, VlanID
Zde je návod, jak zjistit informace o ovladači síťového adaptéru, který používáte:
Get-NetAdapter | ft Name, DriverName, DriverVersion, DriverInformation, DriverFileName


Vypište informace o fyzických síťových adaptérech (PCI slot, sběrnice atd.):
Get-NetAdapterHardwareInfo
Zakažte protokol IPv6 pro síťové rozhraní:
Get-NetAdapterBinding -InterfaceAlias Ethernet0 | Set-NetAdapterBinding -Enabled:$false -ComponentID ms_tcpip6
Zakažte protokol NetBIOS pro síťové rozhraní:
Set-NetAdapterBinding -Name Ethernet0 -ComponentID ms_netbios -AllBindings -Enabled $True
Jak získat nastavení IP adresy pomocí PowerShellu
Chcete-li získat aktuální nastavení síťového adaptéru ve Windows (IP adresa, DNS, výchozí brána):
Get-NetIPConfiguration -InterfaceAlias Ethernet0


Chcete-li zobrazit podrobnější informace o konfiguraci síťového rozhraní TCP/IP, použijte příkaz
Get-NetIPConfiguration -InterfaceAlias Ethernet0 -Detailed
V tomto případě se zobrazí přiřazené síťové umístění (profil) (NetProfile.NetworkCategory) rozhraní, nastavení MTU (NetIPv4Interface.NlMTU), zda je povoleno získávání IP adresy z DHCP (NetIPv4Interface.DHCP) a další užitečné informace.


Chcete-li získat pouze adresu rozhraní IPv4:
(Get-NetAdapter -Name ethernet0 | Get-NetIPAddress).IPv4Address
Vraťte pouze hodnotu IP adresy rozhraní:
(Get-NetAdapter -Name ethernet0 | Get-NetIPAddress).IPv4Address
Při kopírování souborů do virtuálních počítačů si mnoho správců všimlo slabého výkonu sítě v systému Windows Server 2019 s povolenými rolemi Hyper-V. V tomto případě pomůže vyřešit problémy vrácením nastavení zásobníku TCP na nastavení, která byla použita v systému Windows Server 2016:Set-NetTCPSetting -SettingName DatacenterCustom,Datacenter -CongestionProvider DCTCP
Set-NetTCPSetting -SettingName DatacenterCustom,Datacenter -CwndRestart True
Set-NetTCPSetting -SettingName DatacenterCustom,Datacenter -ForceWS Disabled
Zobrazte seznam síťových protokolů, které lze povolit nebo zakázat pro síťový adaptér:
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
Chcete-li zobrazit aktivní relace TCP/IP v počítači, použijte rutinu Get-NetTCPConnection.
Nastavte statickou IP adresu v systému Windows pomocí prostředí PowerShell
Zkusme nastavit statickou IP adresu pro NIC. Chcete-li změnit IP adresu, masku sítě a výchozí bránu pro síťové rozhraní Ethernet0, použijte příkaz:
Get-NetAdapter -Name Ethernet0| New-NetIPAddress –IPAddress 192.168.2.50 -DefaultGateway 192.168.2.1 -PrefixLength 24
IP adresu můžete nastavit pomocí struktury pole (více vizuálně):
$ipParams = @{
InterfaceIndex = 8
IPAddress = "192.168.2.50"
PrefixLength = 24
AddressFamily = "IPv4"
}
New-NetIPAddress @ipParams
New-NetIPAddress můžete použít k přidání druhé IP adresy (aliasu) k síťovému adaptéru.
Pokud je již nakonfigurována statická IP adresa a je třeba ji změnit, použijteSet-NetIPAddresscmdlet:
Set-NetIPAddress -InterfaceAlias Ethernet0 -IPAddress 192.168.2.90
Chcete-li zakázat získávání IP adresy z DHCP pro váš adaptér, spusťte příkaz:
Set-NetIPInterface -InterfaceAlias Ethernet0 -Dhcp Disabled
Odebrat statickou IP adresu:
Remove-NetIPAddress -IPAddress "xxx.xxx.xxx.xxx"
Nastavte IP adresy serveru DNS ve Windows pomocí PowerShellu
Chcete-li nastavit preferované a alternativní adresy IP serveru DNS v systému Windows, použijteSet-DNSClientServerAddresscmdlet. Například:
Set-DNSClientServerAddress –InterfaceIndex 8 –ServerAddresses 192.168.2.11,10.1.2.11
Adresy IP jmenného serveru DNS můžete zadat také pomocí pole:
$dnsParams = @{
InterfaceIndex = 8
ServerAddresses = ("8.8.8.8","8.8.4.4")
}
Set-DnsClientServerAddress @dnsParams
Po změně nastavení DNS můžete vyprázdnit mezipaměť překladače DNS (ekvivalent kipconfig /flushdns):
Clear-DnsClientCache
Zobrazit obsah mezipaměti DNS ve Windows::Get-DnsClientCache
Správa směrovacích tabulek pomocí PowerShellu
TheGet-NetRoutecmdlet se používá k zobrazení směrovací tabulky.
Získejte výchozí trasu brány pro fyzické síťové rozhraní v systému Windows:
Get-NetAdapter -Physical | ? {$_.Status -eq "Up"}| Get-netroute| where DestinationPrefix -eq "0.0.0.0/0"


Chcete-li přidat novou trasu, použijteNew-NetRoutecmdlet:
New-NetRoute -DestinationPrefix "0.0.0.0/0" -NextHop "192.168.2.2" -InterfaceIndex 8
Tento příkaz přidá trvalou cestu do směrovací tabulky (podobně jakoroute -p add). Pokud chcete přidat dočasnou trasu, přidejte-PolicyStore "ActiveStore"volba. Tato trasa bude po restartování Windows odstraněna.
Odebrání trasy ze směrovací tabulky:
Remove-NetRoute -NextHop 192.168.0.1 -Confirm:$False
PowerShell: Změňte adaptér ze statické IP adresy na DHCP
Chcete-li nakonfigurovat počítač tak, aby získal dynamickou IP adresu pro síťový adaptér ze serveru DHCP, spusťte tento příkaz:
Set-NetIPInterface -InterfaceAlias Ethernet0 -Dhcp Enabled
Vymažte nastavení serveru DNS:
Set-DnsClientServerAddress –InterfaceAlias Ethernet0 -ResetServerAddresses
A restartujte síťový adaptér, abyste automaticky získali IP adresu ze serveru DHCP:
Restart-NetAdapter -InterfaceAlias Ethernet0
Další informace:Co je výchozí brána a jak ji najdete na zařízeních?
Pokud jste dříve měli nakonfigurovanou výchozí bránu, odeberte ji:
Set-NetIPInterface -InterfaceAlias Ethernet0| Remove-NetRoute -Confirm:$false
Pokud potřebujete resetovat všechna nastavení IPv4 pro síťová rozhraní počítače a přepnout je, abyste získali dynamickou IP adresu z DHCP, použijte následující skript:
$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
}
Změňte DNS a IP adresy vzdáleně na více počítačích pomocí PowerShellu
PowerShell můžete použít ke vzdálené změně IP adresy nebo nastavení serveru DNS na více vzdálených počítačích.
Předpokládejme, že vaším úkolem je změnit nastavení DNS na všech hostitelích Windows Server v konkrétní organizační jednotce AD (OU). Následující skript používá rutinu Get-ADComputer k získání seznamu počítačů ze služby Active Directory a poté se připojí ke vzdáleným počítačům prostřednictvím WinRM (používá se rutina Invoke-Command):
$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}
}
}





![[Opraveno] „Assistantd chce použít přihlašovací klíčenka“ na Mac](https://elsefix.com/tech/afton/wp-content/uploads/cache/2025/04/Fixed-assistantd-wants-to-use-the-login-keychain-on-Mac-Featured-Image.png)








