Novell Home

Ghost Busters III

Novell Cool Solutions: Trench
By Joop van B, Remon van H

Digg This - Slashdot This

Posted: 27 May 1999
 

This is another cool ghosting solution, this time from two smart network administrators from Erasmus University Rotterdam. As you can see, there are many creative ways to do things in this business. Which, it seems to us, makes it more of an art than a science, and more fun than work.

We have an addition to the Ghost Busters part 1 story of Henry Snyder. Instead of copying every image over the net we use Symantec's Ghost Multicast Server. This is an application which distributes the Ghost image file to the connected Ghost Multicast Client machines using IP multicasting.

Ghost Multicasting minimizes both the concurrent network-bandwidth requirements and overall disk or partition replication time. Ghost Multicasting uses IP multicast packets to send information across an Ethernet or Token Ring computer network on a one-to-many basis. IP multicasting is part of the well-known TCP/IP protocol family, and allows a single transmission of information to replicate many workstations at one time.

With the bottleneck of multiple copies of information being transferred now removed, Ghost Multicasting provides high speeds and an efficient way of replicating hard drives to multiple machines.

For this purpose we have created two accounts which reinitialize our PCs in the student rooms. One account (ghostsrv) logs in and sets up the Multicast server. (We use the teacher's PC for this purpose. It has a station restriction for this account and is not used by students.) The other account can login several times (actually there are two accounts, DP2 and DP4) and is used to re-init the PC's.

Account GhostSrv:
---- snip of the student container login script ---------
IF "%LOGIN_NAME" = "GHOSTSRV" THEN

; map this users home directory
map root *1:=STUDENT_SERVER/ STUDENT_VOLUME:student\%LOGIN_NAME
; map a drive letter to the images volume
MAP ROOT T:=STUDENT_SERVER/ IMAGES_VOLUME:
; run a initialization application object
#sys:public\nalrunw.exe tree_name .initghsrv.student.FGG.EUR /w
; exit the container login script
exit
END
---- end snip -------------

The initialization application object replaces the line
"shell=explorer.exe" with 'shell=\\ STUDENT_SERVER\ sys\ public\ nal.exe /c="Ghost multicast server"'
in the [Boot] section of SYSTEM.INI on the Windows '95 student PC's. This results in Windows starting with just the NAL-window on the screen. To avoid braking in we already removed the file TASKMAN.EXE from the windows directory.
It also creates a registry entry to avoid questions about profile locations.

---- Start of the initghsrv NAL-object in AXT format
AXT_FILE 2.5

[Application Name]
Value=initghsrv

[Application Caption]
Value=initghsrv

[Application Path]
Value= 47 NULL

[Application Flags]
Flag=Install Only

[Registry Value Create]
Type=String
Flag=Write Always
Flag=Always Distribute Setting
Key=HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ ProfileList\ %CN%
Name=ProfileImagePath
Value=\\STUDENT_SERVER\ ini_volume\ student\%CN%

[INI Identifier Create]
Flag=Write Always
Flag=Always Distribute Setting
File=%*WINDIR%\SYSTEM.INI
Section=Boot
Identifier=shell
Value=\\STUDENT_SERVER\ sys\ public\ nal.exe /c="Ghost multicast Server"

---- End of the initghsrv NAL-object in AXT format

We also modified the Application Launcher settings of the user GhostSrv so that it cannot exit the NAL, nor see any folders, nor login again.

The user just sees three application objects within the NAL window.

They see two different Ghost Multicast servers which set up a link to two different image files (because we have two types of PCs in our student rooms), and an object which is used to shutdown the PC and restore the SYSTEM.INI settings.

Double-clicking the GhostServer 4000 icon gives the following window.

This activates the ghost server with the correct image file and waits for the clients to connect.


Account DP4:

---- snip of the student container login script ---------
IF "%LOGIN_NAME" = "DP4" THEN
#sys:public\nalrunw.exe tree_name .ghpd4000.student.fgg.eur /w
; reboot machine after 15 seconds
exit "c:\reboot.exe 15"
END
---- End of snip of the student container login script ---------



The NAL-object .ghpd4000.student.fgg.eur copies all the files necessary to start a Windows '95 PC in DOS mode with the correct drivers loaded for a Ghost multicast client. This is almost the same as described by Henry Snyder except that our machines automatically reboot after copying all the files and reconnect directly to the multicast server.

---- Start of the GHPD4000 NAL-object in AXT format
AXT_FILE 2.5

[Application Name]
Value=GHDP4000

[Application Caption]
Value=GHDP4000

[Application Path]
Value= 47 NULL

[Application Flags]
Flag=Install Only
Flag=Always Distribute Application

[Application Platform]
Flag=Windows 95

[File Copy]
Flag=Update Create
Source=\\STUDENT_SERVER\ IMAGES\ GHOSTCL\ REBOOT.EXE
Target=C:\REBOOT.EXE

[File Copy]
Flag=Update Create
Flag=Always Distribute Setting
Source=\\STUDENT_SERVER\ IMAGES\ GHOSTCL\*.ENV
Target=c:\*.ENV

[File Copy]
Flag=Write Always
Flag=Always Distribute Setting
Source=\\STUDENT_SERVER\ IMAGES\ GHOSTCL\ AUTOEXEC.DP4
Target=C:\AUTOEXEC.BAT

[File Copy]
Flag=Write Always
Flag=Always Distribute Setting
Source=\\STUDENT_SERVER\ IMAGES\ GHOSTCL\ CONFIG.SYS
Target=C:\CONFIG.SYS

[File Copy]
Flag=Write Always
Flag=Always Distribute Setting
Source=\\STUDENT_SERVER\ IMAGES\ GHOSTCL\ DIS_PKT.DOS
Target=C:\DIS_PKT.DOS

[File Copy]
Flag=Write Always
Flag=Always Distribute Setting
Source=\\STUDENT_SERVER\ IMAGES\ GHOSTCL\ GHOST.EXE
Target=C:\GHOST.EXE

[File Copy]
Flag=Write Always
Flag=Always Distribute Setting
Source=\\ STUDENT_SERVER\ IMAGES\ GHOSTCL\ MSDOS.SYS
Target=C:\MSDOS.SYS

[File Copy]
Flag=Write Always
Flag=Always Distribute Setting
Source=\\STUDENT_SERVER\ IMAGES\ GHOSTCL\ NETBIND.COM
Target=C:\NETBIND.COM

[File Copy]
Flag=Write Always
Flag=Always Distribute Setting
Source=\\STUDENT_SERVER\ IMAGES\ GHOSTCL\ NETFLX3.DOS
Target=C:\NETFLX3.DOS

[File Copy]
Flag=Write Always
Flag=Always Distribute Setting
Source=\\STUDENT_SERVER\ IMAGES\ GHOSTCL\ PROTMAN.DOS
Target=C:\PROTMAN.DOS

[File Copy]
Flag=Write Always
Flag=Always Distribute Setting
Source=\\STUDENT_SERVER\ IMAGES\ GHOSTCL\P ROTMAN.EXE
Target=C:\PROTMAN.EXE

[File Copy]
Flag=Write Always
Flag=Always Distribute Setting
Source=\\STUDENT_SERVER\ IMAGES\ GHOSTCL\ PROTOCOL.INI
Target=C:\PROTOCOL.INI

[File Copy]
Flag=Write Always
Flag=Always Distribute Setting
Source=\\STUDENT_SERVER\ IMAGES\ GHOSTCL\ WATTCP.CFG
Target=C:\WATTCP.CFG
---- End of the GHPD4000 NAL-object in AXT format
"AUTOEXEC.DP4" --> "AUTOEXEC.BAT" @echo off
prompt $p$g
netbind
c:\ghost-clone,src=@MCdp4000,dst=1 -sure -RB

"CONFIG.SYS"
device=protman.dos /I:\
device=dis_pkt.dos
device=NETFLX3.DOS
After the PC has been 'cloned' it restarts because of the -RB (reboot)option and we now have a clean PC.

After 'cloning' all the PC's we have to 'shutdown' the multicast server. The shutdown object uses the Novell-utility 'ncshtdwn.exe'. It restores the system.ini settings and shuts the PC down.

---- Start of the shutdown Ghostsrv NAL-object in AXT format
AXT_FILE 2.5

[Application Name]
Value=shutdown Ghostsrv

[Application Caption]
Value=shutdown GhostSrv

[Application Path]
Value=\\STUDENT_SERVER\ USER_VOLUME\ STUDENT\ ghostsrv\ ncshtdwn.exe

[Application Flags]

[Application Icon]
File=APP015A.ICO

[Application Parameters]
Value=/3

[Application Platform]
Flag=Windows 95

[INI Identifier Create]
Flag=Write Always
Flag=Always Distribute Setting
File=%*WINDIR%\SYSTEM.INI
Section=Boot
Identifier=shell
Value=explorer.exe
---- End of the shutdown Ghostsrv NAL-object in AXT format


Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com

© 2014 Novell