테스트 사이트 - 개발 중인 베타 버전입니다

[프로그램] 아이피 주소 변경 VBScript

· 5년 전 · 1749

 Vbscript 를 실행하여 간단하게 아이피 주소 변경할수 있습니다.

 

아래는 프로그램 내용입니다.

 

On Error Resume Next
If WScript.Arguments.length = 0 Then
 Set objShell = CreateObject("Shell.Application")
 objShell.ShellExecute "wscript.exe", Chr(34) & WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1
Else
'------------- 이전 이름, 초기 설정 (이곳을 수정하여 사용하세요.) -----------------
strNewName = "PC-"
strWorkGrp = "WORKGROUP"
blnIpChange = True 'False이면 IP주소를 바꾸지 않습니다.
strIpAddrss = "192.168.0."
strSubnetMask = Array("255.255.255.0")
strGateway = Array("192.168.0.1")
arrDNSServers = Array("168.126.63.1", "168.126.63.2")
'---------------------------- IP주소 끝자리 입력 -----------------------------
strIpEnd = InputBox(strIpAddrss & " 뒤에 완성될 IP주소 끝자리만 입력하십시오. 예를 들면," & vbCrLf & vbCrLf & "123 입력시 "_
 & strIpAddrss & "123 으로 완성 됩니다." & vbCrLf & "컴퓨터 이름은 " & strNewName & "123 으로 조합 됩니다.", "IP주소 끝자리 입력")
If IsEmpty(strIpEnd) or strIpEnd = "" or strIpEnd = "0" or strIpEnd = "255" Then
 WScript.Echo "1 ~ 254 사이의 숫자가 아닙니다." : WScript.Quit
End If
byteIpEnd = CByte(strIpEnd)
If err = 0 Then
 strIpAddrss = strIpAddrss & strIpEnd
 strNewName = strNewName & strIpEnd
Else
 WScript.Echo "1 ~ 254 사이의 숫자가 아닙니다." : WScript.Quit
End If
'---------------------------- 작업 그룹 이름 변경 ----------------------------
Set objNetwork = CreateObject("WScript.Network")
 strComputer = objNetwork.ComputerName
Set objComputer = GetObject("Winmgmts:\\.\root\CIMV2:Win32_ComputerSystem.Name='" & strComputer & "'")
 errWork = objComputer.JoinDomainOrWorkGroup(strWorkGrp, NULL, NULL, NULL, 0)
If errWork = 0 Then
 strMsg = "작업그룹 새이름: " & strWorkGrp & vbCrLf
Else
 strMsg = "작업그룹 이름 변경을 실패하였습니다. 에러코드: " & errWork & vbCrLf
End If
'---------------------------- 컴퓨터 이름 변경 ----------------------------
For Each objComputer in objWMIService.InstancesOf("Win32_ComputerSystem")
 errName = objComputer.Rename(strNewName)
 If errName = 0 Then
  strMsg = "컴퓨터 이름: " & strComputer & " ⇒ " & strNewName & vbCrLf & strMsg
 Else
  strMsg = "컴퓨터 이름 변경을 실패하였습니다. 에러코드: " & errName  & vbCrLf & strMsg
 End If
Next
'---------------------------- IP 주소 변경 ----------------------------
If blnIpChange Then
 Set colNetAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=True")
  strIPAddress = Array(strIpAddrss)
  strGatewayMetric = Array(1)
 For Each objNetAdapter in colNetAdapters
  errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
  errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
  errDNS = objNetAdapter.SetDNSServerSearchOrder(arrDNSServers)
  If errEnable = 0 Then
   strMsg = strMsg & "새로운 IP주소: " & strIpAddrss  & vbCrLf
  Else
   strMsg = strMsg & "IP주소 변경을 실패하였습니다. 에러코드: " & errEnable  & vbCrLf
  End If
 Next
End If
'------------------------- 설정 변경 알림, 재부팅 ------------------------
strMsg = strMsg & vbCrLf & "[주의] 재부팅후 변경 사항이 적용됩니다." & vbCrLf & vbTab & "재부팅 하시겠습니까?"
YN = MsgBox(strMsg, 4 + 48, "결과 및 재부팅 확인")
If YN = vbYes Then
 Set colSysSet = GetObject("winmgmts:{authenticationlevel=Pkt,(Shutdown)}").ExecQuery("select * from Win32_OperatingSystem where Primary=True")
 For Each objSys In colSysSet : retVal = objSys.Reboot() : Next
End If
End If

 

 

 

참조 사이트

https://riptutorial.com/ko/vbscript

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
1848
1847
1842
1840
1839
1838
1835
1834
1833
1832
1831
1828
1827
1826
1825
1824
1823
1820
1817
1816
1813
1810
1804
1803
1796
1795
1794
1793
1792
1790