Introduction: Automated Configuration of Network Connectivity After Image Deployment

Picture of Automated Configuration of Network Connectivity After Image Deployment

O.K. we see in movies or some awesome IT guys (those people are engineers, mostly of them) do soothing cool, they deploy the same image on all workstation (naturally all of them are hardware identical) and after a reboot, made by remote or manually and *BAMMM* they somehow are configured.

That is no techno-magic or chip voodoo it is just a hand full of scripts that are inserted in the image before it will be deployed.

This will be explained in a way that you can use it and modify it to fit your needs WITHOUT the need to be a it guru.

The scripts are compatible with Windows XP but they can easy be adapted to vista 7 and more, you need to include a use system variables for the new folder locations for the startup. Like replaceing the

%systemdrive%\Documents and Settings\All Users\Start Menu\Programs\Startup\CPAU - SetupIPs.lnk with

%UserProfile%\Start Menu\Programs\Startup\CPAU - SetupIPs.lnk

you can use %ALLUSERSPROFILE% to go in AllUsers too.

Step 1: First You Need to Make a Master Image.

Picture of First You Need to Make a Master Image.

The master image is a installed windows (2000->8.1) with the scripts configured and put inside.

For that you can use Norton/Symantec Ghost (any version, i use both 2003 and 15) or Macrium Reflect free.

Step 2: The Software We Need (all Freeware)

Picture of The Software We Need (all Freeware)

Shortcut.exe from http://www.optimumx.com/downloads.html

CPAU.exe from http://www.joeware.net/freetools/tools/cpau/

CoreUtils from http://gnuwin32.sourceforge.net/packages/coreutils.htm

From there you download the binaries and dependencies
from binaries you use cat.exe, head.exe, tail.exe libiconv2.dll, libintl3.dll

NetDOM.exe v1.8 from ftp://ftp.microsoft.com/reskit/nt4/x86/


Step 3: More Info

Picture of More Info

This is a post install configuration script that configures
the computer name (NetBios too) , ip, mask, gateway, dns (primary and secondary), joins a workgroup, self remove after config is done, if choose and reboot pc if choose.

The idea is that after deploying a image from the network, all stations are not able to connect to the network (except if you use a dhcp server in your intranet). From this point you have 2 options: First is to manually configure all on each pc (that takes time and effort). Second is to use a way to automate the first one :) . My script is doing exactly this.

How ? Easy, all network cards have a unique address, called MAC Address [http://en.wikipedia.org/wiki/MAC_address]. Lest say, if i know each pcs mac then i can configure it according to that. My script gets the current pcs mac address and seeks it in his data file, when its found it configures the pcs according to the relative data stored.

Step 4: Description and Configuration

Picture of Description and Configuration

The script consists from 5 small executable files (~900kbs), 2 cmd files (~4kb)
and 3 configuration text files.

SetupIPs_Config.txt

the 1st line contains the the workgroup name

the 2nd line contains the the mask

the 3nd line contains the the gateway

the 4nd line contains the the primary dns

the 5nd line contains the the secondary dns

the 6nd line contains the the interface name ex "Local Area Connection"

the 7nd line contains the the cleanup flag (0 for off and 1 for on)

the 8nd line contains the the reboot flag (0 for off and 1 for on)

-----------------

WORKGROUP

MASK

GATE

DNS1

DNS2

INTERFACE

CLEANUP

REBOOT

-----------------

SetupIPs_Data.txt

the 1st word in the line contains the the mac address

the 2st word in the line contains the the ip address

the 3st word in the line contains the the computer name

-----------------

MAC1

IP1

NAME1

MAC2

IP2

NAME2

MAC3

IP3

NAME3

-----------------

SetupIPs_Deploy.txt

the 1st line contains the deployment folder for our script

the 2nd line contains the the deployment username (a Administrator account)

the 3nd line contains the the deployment password

-----------------

C:\SetupIPs

Administrator

password

-----------------

The Admin pass and username are stored encrypted by cpau.exe in SetupIPs.dat and
will be used by cpau to start the script by login (on any account, even guest) configate the station then removeing itself. A link file will be placed in startup all users that will do the trick.

How to get the macs of all your pcs ? Easy use the GetMACs.cmd, it will generate a GetMACs.txt with the macs added. for geting macs from a remote station put the station name as command line argument Ex(GetMacs.cmd STATION1).

Lets recapitulate the procedure, step by step.

1> Use GetMacs.cmd or whatever you like to get a list of all macs of your network. [REMARK: if you got on some pcs more that one network card the GetMACs.cmd will return a single mac of the 1st adapter]

2> Put the mac addresses with the accordin IPs and computer names in SetupIPs_Data.txt

3> Put the workgroup name, ip mask, gateway, primary and secondary dns, interface name, cleanup flag and reboot flag in the SetupIPs_Config.txt file.

4> Run SetupIPsDeploy.cmd

5> Make the master image with (with norton ghost, ping, gziped dd, anything you use)

6> Deploy it on all stations and when a user login, it start the automated configuration followed by reboot, if flag is set and finally, self remove if the flag is set.

WARNING READ IN CONFIGURATION FILES THERE ARE NO BLANK LINES BETWEEN LINES, THIS IS DONE BY INSTRUCTABLE'S EDITOR, I ADDED A TEXT DOCUMENT WITH CORRECT VIEW OF IT, USE IT PLEASE.

Step 5: DOWNLOADS

Picture of DOWNLOADS

The data i put in is a example, you need to change it according to your needs.

Comments

padbravo (author)2015-07-30

WOW... magik inside!
magician showing the trick

neumanngregor (author)padbravo2015-07-31

hehe, actually is very very simple, if you open SetupIPs.cmd you will see that all is done with command lines from windows, no WAIK, except for the domain name that is set with dcom, in resr it is read from text files, get MAC compare it wit list, setup configuration by stored data and done.