PowerShellを使用したネットワークアダプター設定の構成:IPアドレス、DNS、デフォルトゲートウェイ、静的ルート
この記事では、PowerShellを介してWindowsでネットワークアダプターパラメーターを構成する方法を説明します。静的IPアドレスとDNS(ネームサーバー)を取得および設定する方法、DHCPサーバーからIP構成を取得するようにネットワークインターフェイスを構成する方法を学習します。これらのコマンドレットを使用して、WindowsServerのCore/ Nanoバージョン、Hyper-Vサーバーでネットワークを構成し、リモートコンピューター/サーバーおよびPSスクリプトのIP設定を変更できます。
以前は、 netsh interface ipv4
コマンドを使用して、CLIからWindowsネットワーク設定を構成しました。 PowerShell 3.0以降では、組み込みのPowerShell NetTCPIPを使用できます。 Windowsネットワーク設定を管理するモジュール。
このモジュールのコマンドレットのリストを取得するには、次のコマンドを実行します。
get-command -module NetTCPIP
このモジュールには、リモートコンピューターでTCPポートの可用性をテストするために使用できるTest-NetConnectionコマンドレットも含まれています。
コンピューターで使用可能なネットワークインターフェイスのリストを表示します。
Get-NetAdapter
コマンドレットは、インターフェイス名、その状態(Up / Down)、MACアドレス、およびポート速度を返します。
この例では、コンピューターに複数のネットワークアダプターがあります(物理接続以外に、 Ethernet0 、Hyper-VおよびVMWarePlayerネットワークインターフェイスがいくつかあります。
ネットワークインターフェイスは、名前またはインデックス(インデックス)で参照できます。 桁)。この例では、物理LANアダプターIntel 82574Lを選択するには、次のコマンドを使用します。
Get-NetAdapter -Name "Ethernet0"
または:
Get-NetAdapter -InterfaceIndex 8
アダプタ名は変更できます:
Rename-NetAdapter -Name Ethernet0 -NewName LAN
ネットワークインターフェイスを無効にするには、次のコマンドを使用します:
Get-NetAdapter -InterfaceIndex 13 |無効-NetAdapter
インターフェイスを有効にすると、まだ割り当てられていないため、そのインデックスを使用できません。アダプターの名前または説明を指定できます:
Enable-NetAdapter -InterfaceDescription“ Hyper-V Virtual Ethernet Adapter”
アダプターにVLANが指定されている場合は、次のように表示できます。
Get-NetAdapter | ft名前、ステータス、Linkspeed、VlanID
使用されているネットワークアダプタドライバに関する情報を取得する方法は次のとおりです。
Get-NetAdapter | ft Name、DriverName、DriverVersion、DriverInformation、DriverFileName
物理ネットワークアダプタ(PCIスロット、バスなど)に関する情報:
Get-NetAdapterHardwareInfo
現在のネットワークアダプタ設定(IPアドレス、DNS、デフォルトゲートウェイ)を取得するには:
Get-NetIPConfiguration -InterfaceAlias Ethernet0
現在のネットワークアダプタのTCP/IP構成に関する詳細情報を表示するには、次のコマンドを使用します。
Get-NetIPConfiguration -InterfaceAlias Ethernet0 -Detailed
この場合、インターフェースに割り当てられたネットワークプロファイル(NetProfile.NetworkCategory)、MTU設定(NetIPv4Interface.NlMTU)、DHCPからのIPアドレスの取得が有効かどうか(NetIPv4Interface.DHCP)、およびその他の有用な情報が表示されます。
インターフェイスのIPv4アドレスのみを取得するには:
(Get-NetAdapter -Name ethernet0 | Get-NetIPAddress).IPv4Address
PowerShellを使用した静的IPアドレスの設定
NICの静的IPアドレスを設定してみましょう。 IPアドレス、サブネットマスク、およびネットワークインターフェイスのデフォルトゲートウェイを変更するには、次を使用します。
New-NetIPAddress –IPAddress 192.168.2.50 -DefaultGateway 192.168.2.1 -PrefixLength 24 -InterfaceIndex 8
配列構造を使用して(より視覚的に)IPアドレスを設定できます:
$ ipParams =@ {
InterfaceIndex =8
IPAddress ="192.168.2.50"
prefixLength =24
AddressFamily ="IPv4"
}
New-NetIPAddress @ipParams
静的IPアドレスがすでに構成されていて、それを変更する場合は、 Set-NetIPAddress コマンドレットが使用されます:
Set-NetIPAddress -InterfaceIndex 8 -IPAddress 192.168.2.90
アダプタのDHCPからのIPアドレスの取得を無効にするには、次のコマンドを実行します。
Set-NetIPInterface -InterfaceAlias Ethernet0 -Dhcp Disabled
ルーティングテーブルを表示するには、Get-NetRouteコマンドレットを使用します。新しいルートを追加するには、 New-NetRouteを使用します コマンドレット:
New-NetRoute -DestinationPrefix "0.0.0.0/0" -NextHop "192.168.2.2" -InterfaceIndex 8
ネットワークアダプタのIPv6プロトコルを無効にするには:
Get-NetAdapterBinding -InterfaceAlias Ethernet0 | Set-NetAdapterBinding -Enabled:$ false -ComponentID ms_tcpip6
Set-DnsClientServerAddress:プライマリおよびセカンダリDNSサーバーアドレスを設定します
WindowsでプライマリおよびセカンダリDNSサーバーのIPアドレスを設定するには、 Set-DNSClientServerAddressを使用します コマンドレット。例:
Set-DNSClientServerAddress –InterfaceIndex 8 –ServerAddresses 192.168.2.11,10.1.2.11
配列を使用してネームサーバーを設定することもできます:
$ dnsParams =@ {
InterfaceIndex =8
ServerAddresses =( "8.8.8.8"、 "8.8.4.4")
}
Set-DnsClientServerAddress @dnsParams コード>
DNS設定を変更した後、リゾルバーキャッシュをクリアできます:
Clear-DnsClientCache
PowerShellを使用して静的IPアドレスをDHCPに変更するにはどうすればよいですか?
コンピューターがネットワークアダプターのDHCPサーバーから動的IPアドレスを取得できるようにするには、次のコマンドを実行します。
Set-NetIPInterface -InterfaceAlias Ethernet0 -Dhcp Enabled
DNSサーバー設定をクリアします:
Set-DnsClientServerAddress –InterfaceIndex 8 -ResetServerAddresses
DHCPサーバーからIPアドレスを自動的に取得するには、アダプターを再起動します。
Reset-NetAdapter -InterfaceAlias Ethernet0
以前にデフォルトゲートウェイを構成していた場合は、それを削除します。
Set-NetIPInterface -InterfaceAlias Ethernet0 | Remove-NetRoute -Confirm:$ false
PowerShellを使用してIPアドレスとDNS設定をリモートで変更するにはどうすればよいですか?
PowerShellを使用して、複数のリモートコンピューター上のIPアドレスまたはDNSサーバーの設定をリモートで変更できます。特定のADコンテナ(組織単位)内のすべてのサーバーのDNS設定を変更することがタスクであるとします。以下のスクリプトでコンピューターのリストを取得するには、Get-ADComputerコマンドレットを使用し、WinRMを使用してコンピューターにリモート接続します(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 "新しいDNS設定:"
$ Adapters | ForEach-Object{$_。DNSServerSearchOrder}
}
}
-
デフォルトゲートウェイが利用できない問題を修正
WiFi 限定アクセス接続の問題が発生している可能性があります。 Network Troubleshooter を実行すると、「デフォルト ゲートウェイが利用できません」というエラーが表示され、問題は解決されません。システム トレイの WiFi アイコンに黄色の感嘆符が表示され、問題が修正されるまでインターネットにアクセスできなくなります。 このエラーの主な原因は、破損しているか、互換性のないネットワーク アダプター ドライバーのようです。このエラーは、マルウェアやウイルスが原因で発生する場合もあるため、問題を完全にトラブルシューティングする必要があります。したがって、時間を無駄にすること
-
Windows 10 で DNS 設定を変更する 3 つの方法
DNS とは DNS は、ドメイン ネーム システム、ドメイン ネーム サーバー、またはドメイン ネーム サービスの略です。 DNS は、現代のネットワーキングのバックボーンです。今日の世界では、私たちは巨大なコンピュータ ネットワークに囲まれています。インターネットは、何らかの方法で相互に接続された何百万ものコンピュータのネットワークです。このネットワークは、効率的なコミュニケーションと情報の伝達に非常に役立ちます。すべてのコンピューターは、IP アドレスを介して別のコンピューターと通信します。この IP アドレスは、ネットワーク内に存在するすべてのものに割り当てられる一意の番号です。 携