[프로그램] 아이피 주소 변경 VBScript 정보
[프로그램] 아이피 주소 변경 VBScript첨부파일
본문
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
참조 사이트
0
댓글 0개