AppNote: Sysprep, Add-on Images, Application Objects, Oh My!
Novell Cool Solutions: AppNote
By Matthew Warden Whited
Reader Rating
from 17 ratings
|
Digg This -
Slashdot This
Posted: 4 Mar 2005 |
Create Syspreped Image
Using Microsoft Sysprep allows you to create an image that will port to another system and will install the proper drivers for that system while maintaining a common configuration for all of your workstations.
- Create and configure your base Image with applications that are common to your entire business
- Configure "Default User"
- Run and configure each application as you would like the settings to be for your users
- Copy your profile and registry to the "Default User" profile
- Grant read & file scan to "Everyone" for "Default User"
- Using "Device Manager" change the "Computer" kernel to most common type for all of your systems (check with Microsoft for more details, but I recommend "ACPI_PC" or "Standard PC"
- Install "Sysprep" from Microsoft (found in deploy.cab on with Windows XP CD-ROM) to c:\sysprep
- Create a text file named "C:\sysprep\sysprep.inf". It should contain:
- Replace "<PUT YOUR PRODUCT KEY HERE>" with your MS Windows XP product key
- Replace <"PUT YOUR NAME HERE>" with your Full Name
- Replace "<PUT YOUR ORGANIZATION NAME HERE>" with your Business Name
- Run "c:\sysprep\sysprep.exe -BMSD" to rebuild the mass storage driver list (save this version of sysprep.inf for future use)
- Run "c:\sysprep\sysprep.exe"
- Check "NoSIDGen", "PnP", "MiniSetup", "Pre-activated"
- Set "Shutdown" to "Shutdown"
- Click "Reseal"
- After the system shutsdown boot into ZENworks preboot services (I like PXE boot the best)
- Create a system image
- Change <VOLUME NAME> and <IMAGE NAME> to meet your needs
SetupMgrTag
[Unattended]
OemSkipEula=Yes
DriverSigningPolicy=ignore
TargetPath=\WINDOWS
OemPnPDriversPath="Drivers\WinXP\Video;Drivers\WinXP\Audio
;Drivers\WinXP\Network;Drivers\WinXP\USB;Drivers\WinXP\SYS
TEM;Drivers\WinXP\wnic;Drivers\WinXP\modem;Drivers\WinXP\m
ouse;Drivers\WinXP\monitor;Drivers\WinXP\keyboard;Drivers\
WinXP\other;Drivers\WinXP\other2;Drivers\WinXP\other3;Driv
ers\WinXP\other4;Drivers\WinXP\other5"
[GuiUnattended]
AdminPassword=*
OEMSkipRegional=1
OEMDuplicatorstring="PUT YOUR ORGANIZATION NAME HERE>"
TimeZone=35
OemSkipWelcome=1
EncryptedAdminPassword=NO
[UserData]
ProductID="<PUT YOUR PRODUCT KEY HERE>"
FullName="<PUT YOUR NAME HERE>"
OrgName="<PUT YOUR ORGANIZATION NAME HERE>"
ComputerName=CHANGEME
[TapiLocation]
CountryCode=1
AreaCode=614
[Sysprep]
[Branding]
BrandIEUsingUnattended=Yes
[Proxy]
Proxy_Enable=0
Use_Same_Proxy=0
[Identification]
JoinWorkgroup=WORKGROUP
[Networking]
InstallDefaultComponents=Yes
[Sysprep]
BuildMassStorageSection=yes
[SysprepMassStorage]
- img mp $PROXYADDR //$PROXYADDR/<VOLUME NAME>/<IMAGE NAME>
Create Add-on Image for markers and driver sets
Marker sets are used to identify to "Application Objects" what add-on images have been deployed to a workstation by testing for the existence of "marker" files that you add to the add-on image. A marker file should just be an empty file that can be placed in a folder with a known common name to uniquely identify that add-on image.
- Create a new Add-on image using "ZENworks Image Explorer" (sys:\public\zenworks\imaging\imgexp.exe)
- Use the following structure for your driver and marker sets
- Save this as a model to create other add-on images from
- To create a driver set import the driver files into the various folders in the add-on image
- Add marker files for "BRAND" and "MODEL" to identify the system type
- You may want to create marker sets for Building and Rooms in your organization. Create these as add-on images by placing markers in the "BUILDING" or "ROOM" directories
- Save Driver sets with the prefix "drv_" and Building / Room sets with the prefix "bldg_"
Partition 1 Drivers APPS BRAND BUILDING MODEL ROOM WinXP audio keyboard modem monitor mouse network other other2 other3 other4 other5 system usb video wnic
Create Application Objects and Add-On image using ZENworks Snapshot
Create non-healing application objects with all files being distributed as an add-on image. This is not a good idea for small, on-demand applications, but works very well for large applications such as Autodesk Design Academy or Microsoft Visual Studio. Don't worry about the non-healing applications because you can always just reimage the workstation.
- Use "ZENworks Snapshot" to create a snapshot difference of installing an application
- After adding this as an "Application Object" to your eDirectory / NDS tree create an add-on image using Image Explorer that places the files in the correct location on the hard drive
- Add a Marker file in "Partition 1\Drivers\APPS" to uniquely identify this add-on image
- Save the file name with the prefix "app_"
- Remove the "Application Files" from the "Application Object"
- Add a requirement for the existence of the marker file in step 3
- Associate this Objects as force run to all workstations (If you have a very large deployment you may want to limit this to workstation groups)
The Application Object to Add-On image in ConsoleOne only creates a NALCache folder on the hard drive and still takes a lot of time to deploy to the workstation once imaged. I recreate the full placement of files on the hard drive including add the %USER PROFILE% items to the "Default User" profile. This allows for much faster and smoother deployment of large applications to and workstation with your syspreped image.
Create a scripted Workstation Image object
With the Workstation Image objects you can create a scripted image. This script can us almost any A shell command as well as interfaced with some of the different ZIS utilities from Novell for a very powerful and easy to use distribution of images.
ZISNAME=`zisview Name`
IMGSVR=10.130.135.6
if test ! $ZISNAME; then
echo -e "No image-safe data found."
echo -e "Assumed to be a new workstation.\n"
while test ! $WSNAME; do
echo -n "Enter the workstation name: "
read WSNAME;
done;
if test $WSNAME; then
zisedit -c
zisedit Name=$WSNAME;
fi
else
WSNAME=
echo ""
echo "Computer Name: $ZISNAME"
echo ""
echo -n "Change Name (Enter Name to change leave blank to skip): "
read WSNAME
if test $WSNAME; then
echo "Name Changed to $WSNAME"
zisedit -c
zisedit Name=$WSNAME;
fi
fi
echo ""
echo "Building List"
echo "----------------------"
echo "aml Amalgamated Place"
echo "ecc Eastland Career Center"
echo "fcc Fairfield CareerCenter"
echo "<anything else> Skip Building Set"
echo ""
echo -n "Enter Building: "
read WSBLDG;
if [ "$WSBLDG" = "ecc" ]; then
IMGSVR=10.130.135.6
echo ""
echo "Room List"
echo "----------------------"
echo "2002 MO"
echo "2003 AS"
echo "2004 IM"
echo "2005 IS"
echo "2006 BF"
echo "1113 DD"
echo "<anything else> Base"
echo ""
echo -n "Enter Room: "
read WSROOM;
elif [ "$WSBLDG" = "fcc" ]; then
IMGSVR=10.130.139.6
echo ""
echo "Room List"
echo "----------------------"
echo "1360 LO"
# echo "1630 CS"
echo "<anything else> Base"
echo ""
echo -n "Enter Room: "
read WSROOM;
elif [ "$WSBLDG" = "aml" ]; then
IMGSVR=10.130.131.1
echo "No Room List"
fi
echo ""
echo "Computer Model"
echo "----------------------"
echo "gx260 Dell Optiplex GX260"
echo "gx270 Dell Optiplex GX270"
echo "gx280 Dell Optiplex GX280"
echo "gwsolo Gateway Solo 1450"
echo "thpdg40 IBM Thinkpad G40"
echo "<anything else> Skip Driver Set"
echo ""
echo -n "Enter Model: "
read WSMODL;
echo "Loading Base Image"
img rp $IMGSVR //$IMGSVR/pxe/sysprepd
if [ "$WSMODL" != "" ]; then
echo "Loading Driver Set"
img rp $IMGSVR //$IMGSVR/pxe/drv_$WSMODL
if [ "$?" = "59" ]; then
echo "Warning Bad Driver Set"
fi
fi
if [ "$WSBLDG" != "" ]; then
echo "Loading Building Set"
img rp $IMGSVR //$IMGSVR/pxe/bldg_$WSBLDG
if [ "$?" = "59" ]; then
echo "Warning Building Set"
fi
fi
if [ "$WSROOM" != "" ]; then
echo "Loading Room Set"
if [ "$WSBLDG" = "ecc" ]; then
echo "Eastland CC Room $WSROOM"
if [ "$WSROOM" = "2002" ]; then
img rp $IMGSVR //$IMGSVR/pxe/app_Thomson_Course_Technology_SAM_2003.zmg
elif [ "$WSROOM" = "2003" ]; then
img rp $IMGSVR //$IMGSVR/pxe/app_Thomson_Course_Technology_SAM_2003.zmg
img rp $IMGSVR //$IMGSVR/pxe/app_Intuit_Quickbooks_Pro_2003.zmg
elif [ "$WSROOM" = "2004" ]; then
img rp $IMGSVR //$IMGSVR/pxe/app_Thomson_Course_Technology_SAM_2003.zmg
img rp $IMGSVR //$IMGSVR/pxe/app_Adobe_Photoshop_7.0.zmg
img rp $IMGSVR //$IMGSVR/pxe/app_Macromedia_Studio_MX_2004.zmg
echo "Add Adobe Premiere Set Here"
elif [ "$WSROOM" = "2005" ]; then
img rp $IMGSVR //$IMGSVR/pxe/app_Thomson_Course_Technology_SAM_2003.zmg
img rp $IMGSVR //$IMGSVR/pxe/app_Microsoft_Visual_Studio_6.zmg
elif [ "$WSROOM" = "2006" ]; then
img rp $IMGSVR //$IMGSVR/pxe/app_Thomson_Course_Technology_SAM_2003.zmg
img rp $IMGSVR //$IMGSVR/pxe/app_Intuit_Quickbooks_Pro_2003.zmg
elif [ "$WSROOM" = "1113" ]; then
img rp $IMGSVR //$IMGSVR/pxe/app_Autodesk_AutoCAD_2002.zmg
echo "Add Autodesk Design Academy set here"
else
echo "No Room based Images"
fi
elif [ "$WSBLDG" = "fcc" ]; then
echo "Fairfield CC Room $WSROOM"
if [ "$WSROOM" = "1360" ]; then
img rp $IMGSVR //$IMGSVR/pxe/app_Thomson_Course_Technology_SAM_2003.zmg
else
echo "No Room based Images"
fi"
elif [ "$WSBLDG" = "aml" ]; then
echo "Amlagamated Room $WSROOM"
echo "No Room based Images"
fi
fi
reboot
Reader Comments
- Good info, but it is possible to add comments to your imaging script? Thanks!
- That's just great....
- very well done
- This has to be the most useful tip I've ever used. After many frustrating hours trying to sysprep an image to go from a uniprocessor to a multiprocessor pc, finally achieved success. Many thanks.
- It's great, but how on earth do you create the add-on images from Application Objects? As the AppNote says, the Imaging option on the Common tab only makes an image that adds the files into the NALCache, so how do you convert all of the files back from .FIL files to put into an image file for distribution?
- About the make an Add-on image without using the NALcache location. loaded Image explorer on the station I created the image on and then drag/dropped the files into a custom image. It works cleanly and is pretty fast. For some folders such as Windows\System32 you may want to still use NALcache for them. You can just removed the other files from the application object and then your good to go. I have used this solutions to deploy Autodesk AutoCAD 2002 and 2005 as well as MS Visual Studio 6 and .Net. It works GREAT. -Matthew Whited.
Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com
