A common SysAdmin task involves managing a PowerShell IP configuration. Typically, one performs this task using the GUI, which is OK. But PowerShell can do the same job and more, which you can put into scripting.
이 자습서에서는 PowerShell의 몇 가지 네트워크 관리 cmdlet을 사용하여 Windows 호스트의 IP 주소, 게이트웨이 및 DNS 설정을 관리하는 방법을 배우게 됩니다.
계속 읽어보고 PowerShell IP 구성 명령을 사용하여 네트워크 문제 해결 기술을 더욱 향상시키세요!
사전 요구 사항
이 자습서는 실습을 포함합니다. Windows 최신 버전에서 PowerShell에 관리 액세스 권한이 필요합니다. 이 자습서는 Windows Server 2022를 사용하지만, 이 명령은 Windows 10 버전 이상에서도 작동합니다.
네트워크 어댑터 속성 가져오기 (Get-NetAdapter
)
호스트의 IP 주소를 문제 해결하거나 수집하기 위해 ping
, ipconfig
, 또는 sconfig
와 같은 전통적인 도구를 사용할 수 있습니다. 그러나 PowerShell cmdlet을 사용하면이 프로세스를 자동화하기 위해 스크립트로 작성할 수 있습니다.
PowerShell을 열고 아래의 Get-NetAdapter
cmdlet을 실행하여 네트워크 어댑터 및 호스트의 속성 목록(예: 인터페이스 별칭 및 인터페이스 인덱스)을 가져옵니다.

주의: 어댑터에는 아직 IP 주소 객체가 없습니다. 사용할 어댑터를 알아야합니다. 이 자습서에서는 Ethernet 어댑터 별칭과 작업합니다.
주소 가져오기 PowerShell IP 구성 (Get-NetIPAddress
)
이전에는 한 번의 명령으로 모든 네트워크 인터페이스를 나열했습니다. 그러나 Get-NetIPAddress
cmdlet를 통해 속성 값 및 호스트의 현재 IP 주소도 나열할 수 있습니다.
매개 변수 없이 아래 명령을 실행하여 각 어댑터의 주소와 PowerShell IP 구성을 표시합니다.

이제 다음 명령을 실행하여 출력을 (Select-Object) 이더넷의 InterfaceAlias
와 IPAddress
로 좁힙니다.

IP 경로 정보 가져오기 (Get-NetRoute
)
IP 주소는 호스트가 동일한 네트워크의 다른 호스트와 통신할 수 있도록합니다. 그러나 호스트가 그 네트워크 외부와 통신해야 할 때 어떻게됩니까?
A gateway address is necessary, and the Get-NetRoute
cmdlet is what you need. This cmdlet provides information that previous cmdlets you have learned about do not.
Ethernet
인터페이스에 대한 현재 게이트웨이 (NextHop
)를 확인하려면 아래의 Get-NetRoute
명령을 실행하십시오.
일반적으로 DHCP 서버가 게이트웨이 주소를 제공합니다. 이 주소를 이 기사에 대한 후속 작업에서 캡처하려고 할 것입니다.

DNS 서버 IP 주소 가져오기 (Get-DnsClientServerAddress
)
DNS는 내부 및 외부 네트워크의 이름 해결을 위해 필요합니다. DNS 없이는 네트워크의 각 호스트의 인터넷 주소를 기억해야 합니다.
그러나 호스트가 이미 DHCP를 통해 DNS를 구성했을 가능성이 높습니다. 현재 구성을 확인하려면 Get-DnsClientServerAddress
cmdlet을 사용할 수 있습니다.
출력을 텍스트 파일로 리디렉션하거나 메모해 IP 주소를 기록하세요. 이 튜토리얼에서 이후에 이러한 DNS 서버 주소를 다시 할당해야 합니다.

IP 네트워크 구성 가져오기 (Get-NetIPConfiguration
)
이전 세 개의 cmdlet에서 학습한 정보를 한 번에 필요할 때, Get-NetIPConfiguration
cmdlet이 해결책을 제공합니다. 이 cmdlet의 주요 특징 중 하나는 더 집중된 정보를 제공한다는 것입니다.
아래의 Get-NetIPConfiguration
cmdlet을 실행하여 이전에 실행한 cmdlet에 의해 수집된 IP 네트워크 구성을 표시하세요.

Get-NetIPConfiguration cmdlet은 하나의 네트워크 인터페이스만 있는 경우 더 빠릅니다. 그러나 둘 이상의 네트워크 인터페이스가 있는 경우 콘솔이 스크롤되지 않도록 속성을 필터링해야 할 수 있습니다.
수동으로 IP, 게이트웨이 및 DNS 주소 구성
지금까지 배운 cmdlet으로 새로운 지식을 활용할 때입니다. 이 튜토리얼에서는 Windows Server 2022 호스트에 정적 IP 주소, 게이트웨이 및 DNS 서버를 할당합니다.
이 시점 이후의 명령은 지정된 네트워크 어댑터의 IP 주소, 게이트웨이 및 DNS 설정만 변경합니다. 변경하려는 각 어댑터에 대해 이러한 단계를 반복해야 합니다.
1. 관리자 권한으로 PowerShell을 열고, 서버의 네트워크 어댑터 목록을 나열하려면 다음 명령을 실행하십시오.
설치된 네트워크 어댑터 명령 찾기
변경하려는 네트워크 어댑터를 식별하십시오. 목록에 표시된 어댑터 이름 또는 인덱스 번호(예: Ethernet)를 사용할 수 있습니다.

다음으로, 아래의 Net-NetIPAddress
명령을 실행하여 네트워크 어댑터의 IPv4 주소를 변경하십시오. -PrefixLength
의 24
는 IP 주소의 처음 24비트를 주소의 네트워크 부분으로 사용했음을 나타냅니다. 다음을 각각 교체하십시오:
AdapterName
– 대상 네트워크 어댑터의 이름 또는 인덱스 번호.ServerAddress
– 네트워크 어댑터에 추가 할 IPv4 주소.GatewayAddress
– 게이트웨이 주소는 IPv4 주소와 동일한 서브넷에 있어야합니다.

New-NetIPAddress cmdlet과 관련된 것은 Set-NetIPAddress입니다.기존 IP 구성을 변경하고, Remove-NetIPAddress
은 구성을 삭제합니다.
3. 이제 다음 Set-DnsClientServerAddress
명령을 실행하십시오. 이 명령은 출력을 생성하지 않지만 DNS 서버를 변경합니다. AdapterName
을 네트워크 어댑터의 이름(-InterfaceAlias
) 또는 인덱스 번호(-InterfaceIndex
)로 대체해야 합니다. 이 명령은 네트워크 어댑터의 DNS 서버를 Google의 공개 DNS 서버인 8.8.8.8
및 8.8.4.4
로 설정합니다. 그러나 원하는 경우 유효한 DNS 서버 IP 주소를 지정할 수 있습니다.
Set-DnsClientServerAddress cmdlet을 사용하면 하나 이상의 내부 또는 공개 DNS IP 주소를 할당할 수 있습니다.
4. 마지막으로 아래 Restart-NetAdapter
명령을 실행하십시오. 이 명령은 콘솔에 출력을 인쇄하지 않지만 네트워크 어댑터를 다시 시작하고 변경 사항을 적용합니다. 축하합니다! 이제 사용자 정의 구성으로 네트워크 인터페이스를 수동으로 구성했습니다.
호스트에 어댑터가 하나만 있는 경우, 이 튜토리얼에서처럼 연결 방식에 따라 연결이 잠깐 끊길 수 있습니다. 새 IP 주소를 사용하려면 이 마지막 단계를 반드시 완료해야 합니다.
결론
네트워크 구성을 알고 있는 것은 건강한 네트워크를 유지하는 데 중요합니다. 좋은 소식은 PowerShell IP 구성 cmdlet에서 제공하는 네 가지 기본 네트워크 구성 명령에 대해 배웠다는 것입니다.
이 새롭게 얻은 지식으로 PowerShell IP 구성 능력을 활용하여 더 넓은 서버 구성 프로세스의 일부로 스크립트를 쉽게 작성할 수 있습니다.
다음은 무엇일까요? MTU 같은 고급 옵션을 조정하거나 더 많은 경로를 추가하거나 정적 주소 대신 DHCP를 사용하도록 어댑터를 재설정해 보는 것은 어떨까요?
Source:
https://adamtheautomator.com/powershell-ip-configuration/