• 쇼핑몰
  • 커뮤니티
  • 북마크

vb.net


[Hardware] [vb.net] 컴퓨터 IP주소 변경

하나를하더라도최선을
2021.08.19 07:14 119 0

본문



훨씬 더 명확한 해결책은 명령 netsh을 사용하여 IP를 변경하거나 DHCP로 다시 설정하는 것입니다.

netsh interface ip set address "Local Area Connection" static 192.168.0.10 255.255.255.0

여기서 "로컬 영역 연결"은 네트워크 어댑터의 이름입니다. Windows 네트워크 연결에서 찾을 수 있으며 때로는 단순히 "이더넷"이라는 이름이 지정됩니다.

다음은 IP를 설정하는 두 가지 방법과 DHCP로 다시 설정하는 두 가지 방법입니다. "자동으로 IP 주소 받기"

public bool SetIP(string networkInterfaceName, string ipAddress, string subnetMask, string gateway = null)
{
    var networkInterface = NetworkInterface.GetAllNetworkInterfaces().FirstOrDefault(nw => nw.Name == networkInterfaceName);
    var ipProperties = networkInterface.GetIPProperties();
    var ipInfo = ipProperties.UnicastAddresses.FirstOrDefault(ip => ip.Address.AddressFamily == AddressFamily.InterNetwork);
    var currentIPaddress = ipInfo.Address.ToString();
    var currentSubnetMask = ipInfo.IPv4Mask.ToString();
    var isDHCPenabled = ipProperties.GetIPv4Properties().IsDhcpEnabled;

    if (!isDHCPenabled && currentIPaddress == ipAddress && currentSubnetMask == subnetMask)
        return true;    // no change necessary

    var process = new Process
    {
        StartInfo = new ProcessStartInfo("netsh", $"interface ip set address \"{networkInterfaceName}\" static {ipAddress} {subnetMask}" + (string.IsNullOrWhiteSpace(gateway) ? "" : $"{gateway} 1")) { Verb = "runas" }
    };
    process.Start();
    var successful = process.ExitCode == 0;
    process.Dispose();
    return successful;
}

public bool SetDHCP(string networkInterfaceName)
{
    var networkInterface = NetworkInterface.GetAllNetworkInterfaces().FirstOrDefault(nw => nw.Name == networkInterfaceName);
    var ipProperties = networkInterface.GetIPProperties();
    var isDHCPenabled = ipProperties.GetIPv4Properties().IsDhcpEnabled;

    if (isDHCPenabled)
        return true;    // no change necessary

    var process = new Process
    {
        StartInfo = new ProcessStartInfo("netsh", $"interface ip set address \"{networkInterfaceName}\" dhcp") { Verb = "runas" }
    };
    process.Start();
    var successful = process.ExitCode == 0;
    process.Dispose();
    return successful;
}
 

C#에서 코드로 네트워크 설정(IP 주소, DNS, WINS, 호스트 이름)을 변경하는 방법

Change IP Address in VB.Net

github:sverrirs/DnsHelper



댓글목록 0

등록된 댓글이 없습니다.