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

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

· 5년 전 · 1747

 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

댓글 작성

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

로그인하기

게시글 목록

번호 제목
1708
1703
1702
1700
1699
1694
1690
1689
1688
1687
1685
1684
1683
1680
1675
1674
1667
1664
1663
1662
1661
1660
1654
1653
1652
1651
1648
1646
1644
1638