setting static ip
'https://social.technet.microsoft.com/Forums/en-US/44cc5939-a1f7-4bf7-a38a-7f8d2591bc2d/vbscript-that-changes-network-portion-of-ip-address?forum=ITCG
'show logged on user
Dim CurrentUser
Set objNetwork = CreateObject("Wscript.Network")
CurrentUser=objNetwork.UserName
'read mac_table
Dim row,csvfile
row=0
csvfile="data.csv"
'Wscript.Echo csv_file
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile (csvfile, ForReading)
Do Until objTextFile.AtEndOfStream
strNextLine = objTextFile.Readline
row=row+1
Loop
objTextFile.Close
ReDim mac_tables(row-1,1)
Dim j
j=0
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile (csvfile, ForReading)
Do Until objTextFile.AtEndOfStream
strNextLine = objTextFile.Readline
arrServiceList = Split(strNextLine , ",")
'Wscript.Echo "Server name: " & arrServiceList(0)
mac_tables(j,0) = arrServiceList(0)
For i = 1 to Ubound(arrServiceList)
'Wscript.Echo "Service: " & arrServiceList(i)
mac_tables(j,i) = arrServiceList(i)
Next
j=j+1
Loop
dim NIC1, Nic, nowIP
Set NIC1 = GetObject("winmgmts:").InstancesOf("Win32_NetworkAdapterConfiguration")
For Each Nic in NIC1
if Nic.IPEnabled then
nowIP = Nic.IPAddress(0)
End if
Next
dim macAddress
dim WMI: set WMI = GetObject("winmgmts:\\.\root\cimv2")
dim Nads: set Nads = WMI.ExecQuery("Select * from Win32_NetworkAdapter where physicaladapter=true")
dim nad
for each Nad in Nads
If not isnull(Nad.MACAddress) And InStr(Nad.MACAddress, "98:EE:CB") > 0 Then
macAddress = UCase(Nad.MACAddress)
End If
next
For i = 0 To UBound(mac_tables)
If UCase(mac_tables(i,1)) = macAddress then
expectedIP = Trim(mac_tables(i,0))
If nowIP <> mac_tables(i,0) then
Set objWMIService = GetObject("Winmgmts:root\cimv2")
'change ip
Set Adapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration " _
& "where IPEnabled=TRUE")
strIPAddress = Array(expectedIP)
strSubnetMask = Array("255.255.255.0")
strGateway = Array("192.168.2.254")
strGatewayMetric = Array(1)
For Each Adapter in Adapters
errEnable = Adapter.EnableStatic( _
strIPAddress, strSubnetMask)
Adapter.SetGateways(_
strGateway)
Adapter.SetDNSServerSearchOrder(Array("163.17.40.3","8.8.8.8"))
if errEnable = 0 then
WScript.Echo "DHCP disabled, using static IP address"
else
WScript.Echo "DHCP disable failed"
end if
Next
computerName = "com410-" & Mid(expectedIP, 12, 2)
For Each objComputer in _
objWMIService.InstancesOf("Win32_ComputerSystem")
Return = objComputer.rename(computerName)
If Return <> 0 Then
WScript.Echo "Rename failed. Error = " & Err.Number
Else
Const TIMEOUT = 5
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Popup "Rename succeeded. Reboot for new name to go into effect", TIMEOUT
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate,(Shutdown)}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Reboot()
Next
End If
Next
End If
End If
Next
'Wscript.Echo macAddress
'Wscript.Echo nowIP
Wscript.quit