기 타 VB.net 으로 DNS가 안바뀌는데요
2023.03.05 01:12
vb.net 소스를 보고 공부하면서 IP변경 프로그램을 만드는데요 리스트뷰에
컴퓨터이름 컴퓨터IP SubNet Gateway 주DNS 보조DNS
회사-1 123.123.123.123 255.255.255.0 123.123.123.1 1.1.1.1 4.4.4.4
회사-2
회사-3......
이런식으로 있는데 리스트뷰에서 선택하고 버튼1을 클릭하면 IP, subnet, gateway는 바뀌는데
주DNS와 보조DNS는 바뀌지 않고 비어있네요 어떻게 수정하면 될까요? 소스는 아래처럼 되있던데
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If ListView1.SelectedItems.Count > 0 Then
Dim selected As ListViewItem = ListView1.SelectedItems(0)
Dim ip As String = selected.SubItems(1).Text
Dim subnet As String = selected.SubItems(2).Text
Dim gateway As String = selected.SubItems(3).Text
Dim primaryDNS As String = selected.SubItems(4).Text
Dim secondaryDNS As String = selected.SubItems(5).Text
Try
Dim process As Process = New Process()
Dim startInfo As ProcessStartInfo = New ProcessStartInfo()
startInfo.FileName = "netsh"
startInfo.Arguments = "interface ip set address name=""이더넷"" static " + ip + " " + subnet + " " + gateway
startInfo.Verb = "runas"
process.StartInfo = startInfo
process.Start()
process.WaitForExit()
' DNS 서버 설정
Dim dnsProcess As Process = New Process()
Dim dnsStartInfo As ProcessStartInfo = New ProcessStartInfo()
dnsStartInfo.FileName = "netsh"
dnsStartInfo.Arguments = "interface ip set dns name=""이더넷"" static " + primaryDNS
If Not String.IsNullOrEmpty(secondaryDNS) Then
dnsStartInfo.Arguments += " " + secondaryDNS
End If
dnsStartInfo.Verb = "runas"
dnsProcess.StartInfo = dnsStartInfo
dnsProcess.Start()
dnsProcess.WaitForExit()
MessageBox.Show("변경되었습니다.")
Catch ex As Exception
MessageBox.Show("에러가 발생했습니다.: " + ex.Message)
End Try
Else
MessageBox.Show("리스트에서 하나를 선택해 주세요.")
End If
End Sub
도스모드에서 해 보세요. 확인부터 해 보시면 어떨지요..