#!/bin/sh
#
# Copyright (c) AT&T 1999. All rights reserved.
#
# @(#)regload.sh	1.9	10/25/99
#
# AS/U registry initialization script for HKEY_LOCAL_MACHINE
#
TMP_FILE=/tmp/regload.$$

INSTANCE_NOT_FOUND="The instance is unavailable."
INSTANCE_NOT_SPECIFIED="The instance must be specified."

usage() {
	echo "Usage: regload [ -I <instance number | instance name> ]"
}

convert_instance() {

if [ $1 -lt 1 -o $1 -gt 99 ]
then
	ilist=`/opt/lanman/lib/instlist |awk -e ' { print $1 }'`	
	for i in $ilist
        do
		name=`/opt/lanman/sbin/srvconfig -I $i -g "server,listenname"`
		if [ "$name" = "$1" ]
		then
			PCNL_INSTANCE=$i
			return
		fi
        done
	echo $INSTANCE_NOT_FOUND
	exit 1
fi
}		

read_miconfig() {

if [ $# -gt 0 ]
then
	if [ $1 = "-I" ]
	then
		PCNL_INSTANCE=$2
		convert_instance $PCNL_INSTANCE
		IDIR=`/opt/lanman/lib/instlist ${PCNL_INSTANCE} |awk -e ' { print $2 }'`
		if [ ${IDIR:-""} = "" ]
		then
			echo $INSTANCE_NOT_FOUND
			exit 1
		fi
	else
		echo $INSTANCE_NOT_SPECIFIED
		usage
		exit 1
	fi
elif [ ${PCNL_INSTANCE:-""} != "" ]
then
	convert_instance $PCNL_INSTANCE
	IDIR=`/opt/lanman/lib/instlist ${PCNL_INSTANCE} |awk -e ' { print $2 }'`
	if [ ${IDIR:-""} = "" ]
	then
		echo $INSTANCE_NOT_FOUND
		usage
		exit 1
	fi
else
	count=0
	ilist=`/opt/lanman/lib/instlist | while read inum path lhost
	do
		echo $inum
	done`
	for INS in ${ilist}
	do
		count=`expr $count + 1`
	done
	if [ $count -eq 1 ]
	then
		PCNL_INSTANCE=${ilist}
#		IDIR=`/opt/lanman/lib/instlist ${PCNL_INSTANCE} |awk -e ' { print $2 }'`
	else
		echo $INSTANCE_NOT_SPECIFIED
		usage
		exit 1
	fi
fi

if [ "$IDIR" = "/" ]
then
	IDIR=""
fi

export PCNL_INSTANCE
export IDIR

if [ ! -d ${IDIR}/var/opt/lanman/${PCNL_INSTANCE} ]
then
	echo $INSTANCE_NOT_FOUND
	exit 1
fi

}

#
# verify that this is running as root
#

ID="`id | cut -d\( -f1`"
if [ "${ID}" != "uid=0" ]
then
	echo "${0} must be run as root!"
	exit 1
fi
#
# bring in the lmpaths config file
#
LMPATHS="`/bin/dirname $0`/../lib/lmpaths"

read_miconfig $*

if [ -f ${LMPATHS} ]
then
    . ${LMPATHS}
else
    . lmpaths
fi
#
# define some string constants
#
MaximumPasswordAgePath="SYSTEM/CurrentControlSet/Services/Netlogon/Parameters MaximumPasswordAge"
SSIPasswdAgePath="SYSTEM/CurrentControlSet/Services/Netlogon/Parameters SSIPasswdAge"

#
# exit with error if REGINI file not found
#
if [ ! -f "${REG_INI_PATH}" ]
then
	echo "error: registry initialization file not found:"
	echo "\t${REG_INI_PATH}"
	echo "run ${REGPRELOAD_PATH} to create initialization file"
	exit 1
fi
if [ ! -x "${REG_INI_PATH}" ]
then
	chmod ${REG_INI_MODE} ${REG_INI_PATH}
fi
#
#       make sure the server is not running!
#
rm -f ${TMP_FILE}
ps -ef -o pid,args > ${TMP_FILE}
count=`egrep "${LMXCTRL_NAME} -I ${PCNL_INSTANCE}$" ${TMP_FILE}`
if [ "${count:-""}" != "" ]
then
	echo "The server must not be running when executing this command."
	rm -f ${TMP_FILE}
	exit 1
fi
rm -f ${TMP_FILE}

#
# verify that listenname is found
#
grep "^listenname=" ${REG_INI_PATH} > ${DEV_NULL_PATH}
if [ $? -ne 0 ]
then
	#
	# listenname not found in REG_INI, so add it
	#
	LISTENNAME="`$SRVCONFIG_PATH -I $PCNL_INSTANCE -g server,listenname`"
	echo "listenname=${LISTENNAME}" >> ${REG_INI_PATH}
fi
#
# now bring the REGINI file into the environment
#
. ${REG_INI_PATH}
#
# make sure that the Registry ACL file is OK
#
if [ -r "${REGISTRY_PATH}" ]
then
	echo "Checking existing registry file..."
	#
	# if registry file exists, try to check it
	#
	${REGCHECK_PATH} -I $PCNL_INSTANCE -R 1> ${TMP_FILE} 2>&1
	if [ $? -ne 0 ]
	then
		echo "existing registry file is corrupt and will be recreated"
		rm -f ${REGISTRY_PATH} ${REGISTRY_PATH}.* 2> ${DEV_NULL_PATH}
	else
		echo "Existing registry file is OK..."
		#
		# figure out if this is an old installation
		#
		${REGCONFIG_PATH} -I $PCNL_INSTANCE ${MaximumPasswordAgePath} > ${DEV_NULL_PATH} 2>&1
		if [ $? -ne 0 ]
		then
			#
			# translate SSIPasswdAge to new MaximumPasswordAge
			#
			${REGCONFIG_PATH} ${SSIPasswdAgePath} > ${TMP_FILE} 2>&1
			if [ $? -eq 0 ]
			then
				ssival=`cat ${TMP_FILE}`
				MaximumPasswordAge=`expr ${ssival} / 86400`
			fi
		fi

		rm -f ${TMP_FILE}
	fi
fi
#
# create a new registry if one isn't already there
#
if [ ! -r "${REGISTRY_PATH}" ]
then
	#
	# create new registry
	#
	${REGCHECK_PATH} -I $PCNL_INSTANCE -N
	if [ $? -ne 0 ]
	then
		echo "error creating registry file"
		exit 5
	fi
	echo "Creating new registry file..."
fi
#
# populate the registry...
#
${REGADM_PATH} <<EOT
#
# populate the HKEY_USERS top-level key
#
\HKEY_USERS\\
:ClassName:<NO CLASS>
:Security:RootPermissions

#
# populate the HKEY_LOCAL_MACHINE stuff...
#
\HKEY_LOCAL_MACHINE\\
:ClassName:<NO CLASS>
:Security:RootPermissions

\HKEY_LOCAL_MACHINE\HARDWARE
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System
:ClassName:System
Identifier:REG_SZ:${SystemIdentifier}
SystemBiosDate:REG_SZ:${SystemBiosDate}
SystemBiosVersion:REG_MULTI_SZ:
	${SystemBiosVersion}

VideoBiosDate:REG_SZ:${VideoBiosDate}
VideoBiosVersion:REG_MULTI_SZ:
	${VideoBiosVersion}

\HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor
:ClassName:Processor

\HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\FloatingPointProcessor
:ClassName:Processor

\HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\MultifunctionAdapter
:ClassName:Adapter

\HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\MultifunctionAdapter\0
:ClassName:Adapter
Identifier:REG_SZ:${MultifunctionAdapterIdentifier}

\HKEY_LOCAL_MACHINE\SOFTWARE
:ClassName:<NO CLASS>
:Security:EveryoneSpecialAccess

\HKEY_LOCAL_MACHINE\SOFTWARE\AdvancedServer
:ClassName:GenericClass

\HKEY_LOCAL_MACHINE\SOFTWARE\AdvancedServer\CurrentVersion
:ClassName:GenericClass
CurrentVersion:REG_SZ:${PRODUCT_RELEASE}
CurrentBuildName:REG_SZ:${CURRENT_BUILD}
VendorName:REG_SZ:${VendorName}
OSName:REG_SZ:${NativeOS}
PlatformName:REG_SZ:${PlatformName}
InstallDate:REG_SZ:${InstallDate}
UnixMachineName:REG_SZ:${UnixMachineName}
ProductId:REG_SZ:${ProductId}

\HKEY_LOCAL_MACHINE\SOFTWARE\Description
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
:ClassName:<NO CLASS>
:Security:EveryoneSpecialAccess

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Browser
:ClassName:GenericClass

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Browser\CurrentVersion
:ClassName:GenericClass
Description:REG_SZ:Browser Service
InstallDate:REG_DWORD:NumericInstallDate
MajorVersion:REG_DWORD:${MAJOR_VERSION}
MinorVersion:REG_DWORD:${MINOR_VERSION}
RefCount:REG_DWORD:0
ServiceName:REG_SZ:Browser
SoftwareType:REG_SZ:service
Title:REG_SZ:Computer Browser

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\LanmanServer
:ClassName:GenericClass

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\LanmanServer\CurrentVersion
:ClassName:GenericClass
Description:REG_SZ:Server Service
InstallDate:REG_DWORD:NumericInstallDate
MajorVersion:REG_DWORD:${MAJOR_VERSION}
MinorVersion:REG_DWORD:${MINOR_VERSION}
RefCount:REG_DWORD:0
ServiceName:REG_SZ:LanmanServer
SoftwareType:REG_SZ:service
Title:REG_SZ:Server

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\LanmanWorkstation
:ClassName:GenericClass

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\LanmanWorkstation\CurrentVersion
:ClassName:GenericClass
Description:REG_SZ:Workstation Service
InstallDate:REG_DWORD:NumericInstallDate
MajorVersion:REG_DWORD:${MAJOR_VERSION}
MinorVersion:REG_DWORD:${MINOR_VERSION}
RefCount:REG_DWORD:0
ServiceName:REG_SZ:LanmanWorkstation
SoftwareType:REG_SZ:service
Title:REG_SZ:Workstation

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
:ClassName:<NO CLASS>
DevicePath:REG_EXPAND_SZ:%SystemRoot%\inf

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability
:ClassName:<NO CLASS>
:Security:ServerOpsRestricted
TimeStampInterval:REG_DWORD:0x5

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT
:Security:ServerOpsRestricted
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
:ClassName:<NO CLASS>
:Security:ServerOpsRestricted
CurrentBuild:REG_SZ:${CURRENT_BUILD}
CurrentBuildNumber:REG_SZ:${CURRENT_BUILD_NUMBER}
CurrentType:REG_SZ:${CURRENT_TYPE}
CurrentVersion:REG_SZ:${PRODUCT_RELEASE}
CSDVersion:REG_SZ:${csd_version}
InstallDate:REG_DWORD:NumericInstallDate
PathName:REG_SZ_PATH:C:${WINNT_PATH}
ProductId:REG_SZ:${ProductId}
RegisteredOrganization:Keeper:REG_SZ:${RegisteredOrganization}
RegisteredOwner:Keeper:REG_SZ:${RegisteredOwner}
SoftwareType:REG_SZ:SYSTEM
SourcePath:REG_SZ_PATH:D:/
SystemRoot:REG_SZ_PATH:C:/

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
:ClassName:<NO CLASS>
:Security:CreatorFullControl
Base Index:REG_DWORD:0x737
Last Counter:REG_DWORD:0x736
Last Help:REG_DWORD:0x737
Version:REG_DWORD:0x10001

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
:ClassName:<NO CLASS>
:Security:CreatorFullControl

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\\${DomainAdmin}
:ClassName:<NO CLASS>
:Security:CreatorFullControl
CentralProfile:REG_SZ:
ProfileImagePage:REG_EXPAND_SZ:%SystemRoot%\Profiles\Administrator
Sid:REG_BINARY:
	${DomainAdminBinarySid}

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\\${DomainGuest}
:ClassName:<NO CLASS>
:Security:CreatorFullControl
CentralProfile:REG_SZ:
ProfileImagePage:REG_EXPAND_SZ:%SystemRoot%\Profiles\Guest
Sid:REG_BINARY:
	${DomainGuestBinarySid}


\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wins
:ClassName:GenericClass

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wins\CurrentVersion
:ClassName:GenericClass
Description:REG_SZ:Dynamic name registration and resolution service that maps NetBIOS computer names to IP addresses.
InstallDate:REG_DWORD:NumericInstallDate
MajorVersion:REG_DWORD:${MAJOR_VERSION}
MinorVersion:REG_DWORD:${MINOR_VERSION}
OperationsSupport:REG_DWORD:0x84
RefCount:REG_DWORD:0
ServiceName:REG_SZ:Wins
SoftwareType:REG_SZ:service
Title:REG_SZ:Windows Internet Name Service

\HKEY_LOCAL_MACHINE\SYSTEM
:ClassName:<NO CLASS>
:Security:AdminsRestricted

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
:ClassName:<NO CLASS>
:Security:CreatorFullControl

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
:ClassName:<NO CLASS>
CurrentUser:REG_SZ:USERNAME
SystemStartOptions:REG_SZ:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName
:Security:AdminsReadOnly
:ClassName:Network ComputerName
ComputerName:REG_SZ:${listenname}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName
:Security:AdminsReadOnly
:ClassName:<NO CLASS>
ComputerName:REG_SZ:${listenname}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
:ClassName:<NO CLASS>
RestrictAnonymous:REG_DWORD:${RestrictAnon}
LMCompatibilityLevel:REG_DWORD:0
Authentication Packages:REG_MULTI_SZ:
	msv1_0

Notification Packages:REG_MULTI_SZ:
	${notificationpack}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order
:ClassName:<NO CLASS>
ProviderOrder:REG_SZ:LanmanWorkstation

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print
:ClassName:<NO CLASS>
BeepEnabled:REG_DWORD:0
MajorVersion:REG_DWORD:0x2
MinorVersion:REG_DWORD:0
PortThreadPriority:REG_DWORD:0
PriorityClass:REG_DWORD:0
SchedulerThreadPriority:REG_DWORD:0

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows 4.0
:ClassName:<NO CLASS>
Directory:REG_SZ:WIN40

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows 4.0\Drivers
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows 4.0\Print Processors
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT Alpha_AXP
:ClassName:<NO CLASS>
Directory:REG_SZ:W32ALPHA


\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT Alpha_AXP\Drivers
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT Alpha_AXP\Print Processors
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT PowerPC
:ClassName:<NO CLASS>
Directory:REG_SZ:W32PPC

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT PowerPC\Drivers
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT PowerPC\Print Processors
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT R4000
:ClassName:<NO CLASS>
Directory:REG_SZ:W32MIPS

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT R4000\Drivers
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT R4000\Print Processors
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86
:ClassName:<NO CLASS>
Directory:REG_SZ:W32X86

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Print Processors
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Print Processors\winprint
:ClassName:<NO CLASS>
Driver:REG_SZ:winprint.dll


\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Forms
:ClassName:<NO CLASS>


\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Local Port
:ClassName:<NO CLASS>
Driver:REG_SZ:localmon.dll


\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers
:ClassName:<NO CLASS>
DefaultSpoolDirectory:REG_SZ:print$\PRINTERS


\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Providers
:ClassName:<NO CLASS>
EventLog:Keeper:REG_DWORD:7
NetPopup:Keeper:REG_DWORD:1
Order:REG_MULTI_SZ:
	LanMan Print Services

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Providers\LanMan Print Services
:ClassName:<NO CLASS>
DisplayName:REG_SZ:LanMan Print Services
Name:REG_SZ:win32spl.dll

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ProductOptions
:Security:AdminsReadOnly
:ClassName:<NO CLASS>
ProductType:REG_SZ:LanmanNT

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers
:Security:ServerOpsRestricted
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg
:Security:AdminsFullCtrlReplRO
:ClassName:<NO CLASS>
Description:REG_SZ:Registry Server

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg\AllowedPaths
:Security:AdminsOnly
:ClassName:<NO CLASS>
Machine:Keeper:REG_MULTI_SZ:
${AllowedPaths}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
:ClassName:<NO CLASS>
NUMBER_OF_PROCESSORS:REG_SZ:${NumCPU}
Cpu:REG_SZ:${Build}
OS:REG_SZ:${NameUnixOs}
PROCESSOR_ARCHITECTURE:REG_SZ:${ProcessorArchitecture}
PROCESSOR_IDENTIFIER:REG_SZ:${ProcessorIdentifier}
PROCESSOR_LEVEL:REG_SZ:${ProcessorLevel}
PROCESSOR_REVISION:REG_SZ:${ProcessorRevision}
windir:REG_EXPAND_SZ:%SystemRoot%

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows
:ClassName:<NO CLASS>
Directory:REG_EXPAND_SZ:%SystemRoot%
SystemDirectory:REG_EXPAND_SZ_PATH:%SystemRoot%${SYSTEM32_PATH}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AdvancedServer
:ClassName:<NO CLASS>
DisplayName:REG_SZ:Solaris (TM) PC NetLink
ImagePath:REG_EXPAND_SZ_PATH:%SystemRoot%${LMXSRV_PATH}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AdvancedServer\Parameters
:ClassName:<NO CLASS>
CheckPrintQueueInMinutes:Keeper:REG_DWORD:${CheckPrintQueues}
TestBits:Keeper:REG_DWORD:0
NativeOS:Keeper:REG_SZ:${NativeOS}
NativeLM:Keeper:REG_SZ:${NativeLM}
SizeGcBufferPoolInKB:Keeper:REG_DWORD:${SizeGcBufferPoolInKB}
MaxIpcTryCount:Keeper:REG_DWORD:${ipctries}
MaxIpcReadCount:Keeper:REG_DWORD:${ipcreads}
MaxMessageSize:Keeper:REG_DWORD:${maxmsgsize}
MaxPrintQueueNameLength:Keeper:REG_DWORD:${qnamelen}
MaxServiceWaitTime:Keeper:REG_DWORD:${maxsvcwait}
MaxMailslotReadTime:Keeper:REG_DWORD:${mailslothold}
MaxRawSize:Keeper:REG_DWORD:${maxrawsize}
MaxDirectoryBufferSize:Keeper:REG_DWORD:${maxdirbufsize}
SendByeMessage:Keeper:REG_DWORD:${byemessage}
DisableUpLevelPrinting:Keeper:REG_DWORD:${DisableUpLevelPrinting}
BigEndianLuidCompatibilityMode:Keeper:REG_DWORD:${BigEndianLuidCompatibilityMode}
DeletedPrintJobTimeOnQ:Keeper:REG_DWORD:${DeletedPrintJobTimeOnQ}


\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AdvancedServer\FileServiceParameters
:ClassName:<NO CLASS>
MemoryMapFiles:Keeper:REG_DWORD:${memorymap}
SyncAclFileOnWrite:Keeper:REG_DWORD:${syncaclfile}
ForceFileAcl:Keeper:REG_DWORD:${forcefileacl}
ForceDirectoryAcl:Keeper:REG_DWORD:${forcediracl}
ForceFileFlush:Keeper:REG_DWORD:${fileflush}
ReportNTFS:Keeper:REG_DWORD:${ntfs}
UseUnixLocks:Keeper:REG_DWORD:${unixlocks}
UnixCloseCount:Keeper:REG_DWORD:${uxclosecount}
UseNfsLocks:Keeper:REG_DWORD:${nfslocks}
RootOwnsFilesCreatedOnNFS:Keeper:REG_DWORD:${nfsroot}
UnixDirectoryCheck:Keeper:REG_DWORD:${unixdirchk}
UniqueSuffixLength:Keeper:REG_DWORD:${UniqueSuffixLength}
NameSpaceMapping:Keeper:REG_DWORD:${NameSpaceMapping}
MixedCaseSupport:Keeper:REG_DWORD:${MixedCaseSupport}
TruncatedExtensions:Keeper:REG_DWORD:${TruncatedExtensions}
EASubdirName:Keeper:REG_SZ:${EaDirName}
MappingSeparator:Keeper:REG_SZ:${MappingSeparator}
ReadAheadCount:Keeper:REG_DWORD:${rdatrend}
EnableSoftCompat:Keeper:REG_DWORD:${enablesoftcompat}
MaxEASize:Keeper:REG_DWORD:${feabufsize}
UseOplocks:Keeper:REG_DWORD:${useoplock}
OplockTimeout:Keeper:REG_DWORD:${oplocktimeout}
UnixDirectoryPerms:Keeper:REG_DWORD:${dirperms}
UnixFilePerms:Keeper:REG_DWORD:${fileperms}
MaxFileSizeInKB:Keeper:REG_DWORD:${maxfilesize}
MaxZeroFillInKB:Keeper:REG_DWORD:${maxzerofillkb}
ReadAheadCount:Keeper:REG_DWORD:${rdatrend}
IgnoreUnixPermissions:Keeper:REG_DWORD:${ignoreunix}
UnixQuotas:Keeper:REG_DWORD:${UnixQuotas}
UseEAs:Keeper:REG_DWORD:${UseEAs}
AclCacheSize:Keeper:REG_DWORD:${AclCacheSize}
DosAttributeStorage:Keeper:REG_DWORD:${DosAttrStorage}
WriteBehind:Keeper:REG_DWORD:${writebehind}
EnableSoftFileExtensions:Keeper:REG_MULTI_SZ:
	${enable_soft_file_ext}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AdvancedServer\NetAdminParameters
:ClassName:<NO CLASS>
NetAdminPath:Keeper:REG_SZ:${adminpath}
NetAdminUserName:Keeper:REG_SZ:${adminuserid}
NetAdminGroupName:Keeper:REG_SZ:${admingroupid}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AdvancedServer\RpcParameters
:ClassName:<NO CLASS>
SrvsvcMaxCalls:Keeper:REG_DWORD:${DefaultMaxRpcCalls}
LsarpcMaxCalls:Keeper:REG_DWORD:${DefaultMaxRpcCalls}
SvcctlMaxCalls:Keeper:REG_DWORD:${DefaultMaxRpcCalls}
WkssvcMaxCalls:Keeper:REG_DWORD:${DefaultMaxRpcCalls}
WinregMaxCalls:Keeper:REG_DWORD:${DefaultMaxRpcCalls}
SamrMaxCalls:Keeper:REG_DWORD:${DefaultMaxRpcCalls}
EventlogMaxCalls:Keeper:REG_DWORD:${DefaultMaxRpcCalls}
BrowserMaxCalls:Keeper:REG_DWORD:${DefaultMaxRpcCalls}
NetlogonMaxCalls:Keeper:REG_DWORD:${DefaultMaxRpcCalls}
SpoolssMaxCalls:Keeper:REG_DWORD:${DefaultMaxSpoolssCalls}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AdvancedServer\UserServiceParameters
:ClassName:<NO CLASS>
ForceUniqueUnixUserAccount:Keeper:REG_DWORD:${forceunique}
CreateUnixUser:Keeper:REG_DWORD:${createunixuser}
UserRemark:Keeper:REG_SZ:${userremark}
#MinUnixUid:REG_DWORD:${minuid}
#MaxUnixUid:REG_DWORD:${maxuid}
Exclude:Keeper:REG_SZ:${exclude}
#
NewUserShell:Keeper:REG_SZ:${newusershell}
UserComment:Keeper:REG_SZ:${usrcomment}
SyncUnixHomeDirectory:Keeper:REG_DWORD:${synchomedir}
GroupUpdateTime:Keeper:REG_DWORD:${grpupdate}
ShareUnixHomeDirectories:Keeper:REG_DWORD:${sharehome}
UnixHomeDirectoryRemark:Keeper:REG_SZ:${dsremark}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AdvancedServer\AlertParameters
:ClassName:<NO CLASS>
AlertAdminOnLicenseOverflow:Keeper:REG_DWORD:${sbstelladmin}
AlertUserOnLicenseOverflow:Keeper:REG_DWORD:${sbstelluser}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AdvancedServer\ShareParameters
:ClassName:<NO CLASS>
ShareReadCount:Keeper:REG_DWORD:${cntsharereads}
KeepAdministrativeShares:Keeper:REG_DWORD:${keepadmshares}
MakeUnixDirectoriesOnShare:Keeper:REG_DWORD:${sharemkdir}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AdvancedServer\ProcessParameters
:ClassName:<NO CLASS>
StopOnCore:Keeper:REG_DWORD:${stoponcore}
KeepSpareServer:Keeper:REG_DWORD:${spareserver}
SpareServerTime:Keeper:REG_DWORD:${sparesrvtime}
CoreOk:Keeper:REG_DWORD:${coreok}
MinSmbWorkerTasks:Keeper:REG_DWORD:${MinSmbWorkerTasks}
MaxVCs:Keeper:REG_DWORD:${MaxVCs}
NumCIStructs:Keeper:REG_DWORD:${NumClientInfoStructs}
NumHashTables:Keeper:REG_DWORD:${hashsize}
NumUStructs:Keeper:REG_DWORD:${ustructs}
NumSERVER_SESSION:Keeper:REG_DWORD:${maxsrvsess}
NumCLIENT_SESSION:Keeper:REG_DWORD:${maxclisess}
LockNapInMSec:Keeper:REG_DWORD:${locknap}
MaxLockTimeInSeconds:Keeper:REG_DWORD:${maxlocknap}
MinVCPerProc:Keeper:REG_DWORD:${MinVCPerProc}
MaxVCPerProc:Keeper:REG_DWORD:${MaxVCPerProc}
VCDistribution:Keeper:REG_MULTI_SZ:
	${VcDistribution}

# Sun specific
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AdvancedServer\DirectorySyncParameters
:ClassName:<NO CLASS>
AutoManual:Keeper:REG_DWORD:${dsautomanual}
Login:Keeper:REG_SZ:${dslogin}
Password:Keeper:REG_SZ:${dspasswd}
NameService:Keeper:REG_SZ:${dsnameservice}
Server:Keeper:REG_SZ:${dsserver}
Domain:Keeper:REG_SZ:${dsdomain}
Port:Keeper:REG_DWORD:${dsport}
Template:Keeper:REG_SZ:${dstemplate}
CliFilePath:Keeper:REG_SZ:${dsclifilepath}
LogFilePath:Keeper:REG_SZ:${dslogfilepath}
CacheFilePath:Keeper:REG_SZ:${dscachefilepath}
SyncService:Keeper:REG_SZ:${dssyncservice}
CacheExpireTimer:Keeper:REG_DWORD:${dscacheexpiretimer}
CacheMaxEntries:Keeper:REG_DWORD:${dscachemaxentries}
SyncPasswordsToSolaris:Keeper:REG_DWORD:${dssyncsolpasswds}
Debug:Keeper:REG_DWORD:${dsdebug}
# end Sun specific

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Alerter
:ClassName:<NO CLASS>
DisplayName:REG_SZ:Alerter
ImagePath:REG_EXPAND_SZ_PATH:%SystemRoot%${LMXALERTER_PATH}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Alerter\Parameters
:ClassName:GenericClass
CountNotOnNetworkCache:Keeper:REG_DWORD:${nonexistusers}
NotOnNetworkCacheTimeout:Keeper:REG_DWORD:${nosendtime}
IncludeMessageHeader:Keeper:REG_DWORD:${msgheader}
AlertNames:Keeper:REG_MULTI_SZ:
${alertnames}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Browser
:ClassName:<NO CLASS>
DisplayName:REG_SZ:Computer Browser
ImagePath:REG_EXPAND_SZ_PATH:%SystemRoot%${LMXBROWSER_PATH}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Browser\Parameters
:ClassName:GenericClass
MasterUpdate:Keeper:REG_DWORD:${masterupdate}
BackupUpdate:Keeper:REG_DWORD:${backupupdate}
BackupRecovery:Keeper:REG_DWORD:${backuprecovery}
MoreLog:Keeper:REG_DWORD:${morelog}
IsDomainMaster:Keeper:REG_SZ:${isdomainmaster}
MaintainServerList:Keeper:REG_SZ:${maintainserverlist}
WinsServer:Keeper:REG_SZ:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog
:ClassName:<NO CLASS>
Group:REG_SZ:Event log
ImagePath:REG_EXPAND_SZ_PATH:%SystemRoot%${LMXSRV_PATH}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application
:ClassName:<NO CLASS>
File:REG_EXPAND_SZ_PATH:%SystemRoot%${APP_LOG_PATH}
MaxSize:Keeper:REG_DWORD:${maxapplog}
Retention:Keeper:REG_DWORD:${appretention}
Sources:Keeper:REG_MULTI_SZ:
	Replicator
	Perfmon
	Perflib
	RemoteBoot
	Application

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\Perflib
:ClassName:<NO CLASS>
EventMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${ASUMSG_DLL_NAME}
TypesSupported:REG_DWORD:0x7

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\Perfmon
:ClassName:<NO CLASS>
EventMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${ASUMSG_DLL_NAME}
TypesSupported:REG_DWORD:0x7


\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\Replicator
:ClassName:GenericClass
EventMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${NETMSG_DLL_NAME},d:${DLLDIR_PATH}/${ASUMSG_DLL_NAME}
TypesSupported:REG_DWORD:0x7

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\RemoteBoot
:ClassName:<NO CLASS>
EventMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${NETMSG_DLL_NAME}
TypesSupported:REG_DWORD:0x7

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security
:ClassName:<NO CLASS>
File:REG_EXPAND_SZ_PATH:%SystemRoot%${SECURITY_LOG_PATH}
MaxSize:Keeper:REG_DWORD:${maxauditlog}
PrimaryModule:REG_SZ:Security
Retention:Keeper:REG_DWORD:${auditretention}
Sources:Keeper:REG_MULTI_SZ:
	Spooler
	Security Account Manager
	SC Manager
	LSA
	Security

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security\LSA
:ClassName:<NO CLASS>
ParameterMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${MSOBJS_DLL_NAME}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security\LSA\ObjectNames
:ClassName:<NO CLASS>
PolicyObject:REG_DWORD:0x1600
SecretObject:REG_DWORD:0x1610
TrustedDomainObject:REG_DWORD:0x1620
UserAccountObject:REG_DWORD:0x1630

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security\SC Manager
:ClassName:<NO CLASS>
ParameterMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${MSOBJS_DLL_NAME}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security\SC Manager\ObjectNames
:ClassName:<NO CLASS>
SC_MANAGER Object:REG_DWORD:0x1c00
SERVICE Object:REG_DWORD:0x1c10

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security\Security
:ClassName:<NO CLASS>
CategoryCount:REG_DWORD:0x7
CategoryMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${MSAUDITE_DLL_NAME}
EventMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${MSAUDITE_DLL_NAME},d:${DLLDIR_PATH}/${ASUMSG_DLL_NAME}
ParameterMessageFile:REG_EXPAND_SZ:d:${DLLDIR_PATH}/${MSOBJS_DLL_NAME}
TypesSupported:REG_DWORD:0x1c

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security\Security\ObjectNames
:ClassName:<NO CLASS>
Channel:REG_DWORD:0x1400
Desktop:REG_DWORD:0x1a10
Device:REG_DWORD:0x1100
Directory:REG_DWORD:0x1110
Event:REG_DWORD:0x1120
EventPair:REG_DWORD:0x1130
File:REG_DWORD:0x1140
IoCompletion:REG_DWORD:0x1300
Key:REG_DWORD:0x1150
MailSlot:REG_DWORD:0x1140
Mutant:REG_DWORD:0x1160
NamedPipe:REG_DWORD:0x1140
Port:REG_DWORD:0x1170
Process:REG_DWORD:0x1180
Profile:REG_DWORD:0x1190
Section:REG_DWORD:0x11a0
Semaphore:REG_DWORD:0x11b0
SymbolicLink:REG_DWORD:0x11c0
Thread:REG_DWORD:0x11d0
Timer:REG_DWORD:0x11e0
Token:REG_DWORD:0x11f0
Type:REG_DWORD:0x1200
WindowStation:REG_DWORD:0x1a00

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security\Security Account Manager
:ClassName:<NO CLASS>
ParameterMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${MSOBJS_DLL_NAME}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security\Security Account Manager\ObjectNames
:ClassName:<NO CLASS>
SAM_ALIAS:REG_DWORD:0x1530
SAM_DOMAIN:REG_DWORD:0x1510
SAM_GROUP:REG_DWORD:0x1520
SAM_SERVER:REG_DWORD:0x1500
SAM_USER:REG_DWORD:0x1540

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security\Spooler
:ClassName:<NO CLASS>
ParameterMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${MSOBJS_DLL_NAME}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security\Spooler\ObjectNames
:ClassName:<NO CLASS>
Document:REG_DWORD:0x1b20
Printer:REG_DWORD:0x1b10
Server:REG_DWORD:0x1b00

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System
:ClassName:<NO CLASS>
File:REG_EXPAND_SZ_PATH:%SystemRoot%${SYSTEM_LOG_PATH}
MaxSize:Keeper:REG_DWORD:${maxerrlog}
Retention:Keeper:REG_DWORD:${errorretention}
Sources:Keeper:REG_MULTI_SZ:
	workstation
	UPS
	Srv
	Service Control Manager
	server
	SAM
	Rdr
	Print
	NetLogon
	eventlog
	Browser
	Alerter
	Wins
	System

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\Alerter
:ClassName:GenericClass
EventMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${NETMSG_DLL_NAME},d:${DLLDIR_PATH}/${ASUMSG_DLL_NAME}
TypesSupported:REG_DWORD:0x7

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\Browser
:ClassName:GenericClass
EventMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${NETEVENT_DLL_NAME},d:${DLLDIR_PATH}/${NETMSG_DLL_NAME},d:${DLLDIR_PATH}/${ASUMSG_DLL_NAME}
TypesSupported:REG_DWORD:0x7

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\eventlog
:ClassName:<NO CLASS>
EventMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${NETEVENT_DLL_NAME},d:${DLLDIR_PATH}/${ASUMSG_DLL_NAME}
TypesSupported:REG_DWORD:0x7

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\NetLogon
:ClassName:GenericClass
EventMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${NETMSG_DLL_NAME},d:${DLLDIR_PATH}/${ASUMSG_DLL_NAME}
ParameterMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${KERNEL32_DLL_NAME}
TypesSupported:REG_DWORD:0x7

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\Print
:ClassName:<NO CLASS>
EventMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${LOCALSPL_DLL_NAME},d:${DLLDIR_PATH}/${ASUMSG_DLL_NAME}
TypesSupported:REG_DWORD:0x7

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\Rdr
:ClassName:GenericClass
EventMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${NETEVENT_DLL_NAME},d:${DLLDIR_PATH}/${ASUMSG_DLL_NAME}
TypesSupported:REG_DWORD:0x7

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\SAM
:ClassName:<NO CLASS>
EventMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${ASUMSG_DLL_NAME}
TypesSupported:REG_DWORD:0x7

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\server
:ClassName:GenericClass
EventMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${NETMSG_DLL_NAME},d:${DLLDIR_PATH}/${ASUMSG_DLL_NAME}
TypesSupported:REG_DWORD:0x7

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\Service Control Manager
:ClassName:<NO CLASS>
EventMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${NETEVENT_DLL_NAME},d:${DLLDIR_PATH}/${ASUMSG_DLL_NAME}
ParameterMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${KERNEL32_DLL_NAME}
TypesSupported:REG_DWORD:0x7

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\Srv
:ClassName:GenericClass
EventMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${NETEVENT_DLL_NAME},d:${DLLDIR_PATH}/${ASUMSG_DLL_NAME}
TypesSupported:REG_DWORD:0x7

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\workstation
:ClassName:GenericClass
EventMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${NETMSG_DLL_NAME},d:${DLLDIR_PATH}/${ASUMSG_DLL_NAME}
TypesSupported:REG_DWORD:0x7

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System\Wins
:ClassName:GenericClass
EventMessageFile:REG_EXPAND_SZ_PATH:d:${DLLDIR_PATH}/${WINSEVNT_DLL_NAME},d:${DLLDIR_PATH}/${ASUMSG_DLL_NAME}
TypesSupported:REG_DWORD:0x7

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer
:ClassName:<NO CLASS>
DisplayName:REG_SZ:Server
ImagePath:REG_EXPAND_SZ_PATH:%SystemRoot%${LMXSRV_PATH}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
:ClassName:GenericClass
LmAnnounce:Keeper:REG_DWORD:${lmannounce}
AccessAlert:Keeper:REG_DWORD:${accessalert}
AutoDisconnect:Keeper:REG_DWORD:${autodisconnect}
ErrorAlert:Keeper:REG_DWORD:${erroralert}
LogonAlert:Keeper:REG_DWORD:${logonalert}
SrvAnnounce:Keeper:REG_DWORD:${srvannounce}
SrvComment:Keeper:REG_SZ:${srvcomment}
Hidden:Keeper:REG_DWORD:${srvhidden}
UserPath:Keeper:REG_SZ_PATH:c:${userpath}
EnableSecuritySignature:Keeper:REG_DWORD:${EnableSecuritySignature}
RequireSecuritySignature:Keeper:REG_DWORD:${RequireSecuritySignature}
MaxMpxCt:Keeper:REG_DWORD:${MaxMpxCount}
NullSessionShares:Keeper:REG_MULTI_SZ:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation
:ClassName:<NO CLASS>
DisplayName:REG_SZ:Workstation
ImagePath:REG_EXPAND_SZ_PATH:%SystemRoot%${LMXSRV_PATH}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
:ClassName:GenericClass

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon
:ClassName:<NO CLASS>
DisplayName:REG_SZ:Net Logon
ImagePath:REG_EXPAND_SZ_PATH:%SystemRoot%${LMXDMN_PATH}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
:ClassName:<NO CLASS>
Pulse:Keeper:REG_DWORD:${NetlogonPulse}
Randomize:Keeper:REG_DWORD:${randomize}
SSIPasswdAge:Keeper:REG_DWORD:${SsiPasswdAge}
DisablePasswordChange:Keeper:REG_DWORD:${DisablePasswordChange}
MaximumPasswordAge:Keeper:REG_DWORD:${MaximumPasswordAge}
RelogonDelay:Keeper:REG_DWORD:${relogondelay}
LogonQuery:Keeper:REG_DWORD:${logonquery}
QueryDelay:Keeper:REG_DWORD:${querydelay}
Scripts:Keeper:REG_EXPAND_SZ_PATH:%SystemRoot%${scripts}
Update:Keeper:REG_DWORD:${update}
RefusePasswordChange:Keeper:REG_DWORD:${RefusePasswordChange}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netrun
:ClassName:<NO CLASS>
DisplayName:REG_SZ:Net Run
ImagePath:REG_EXPAND_SZ_PATH:%SystemRoot%${NETRUN_PATH}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netrun\Parameters
:ClassName:<NO CLASS>
MaxRuns:Keeper:REG_DWORD:${maxruns}
RunPath:Keeper:REG_SZ_PATH:${runpath}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Replicator
:ClassName:<NO CLASS>
DisplayName:REG_SZ:Directory Replicator
ImagePath:REG_EXPAND_SZ_PATH:%SystemRoot%${LMXREPL_PATH}
ObjectName:Keeper:REG_SZ:${logon}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Replicator\Exports
:ClassName:GenericClass

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Replicator\Imports
:ClassName:GenericClass

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Replicator\Parameters
:ClassName:GenericClass
ExportPath:Keeper:REG_SZ_PATH:C:${exportpath}
ImportPath:Keeper:REG_SZ_PATH:C:${importpath}
Replicate:Keeper:REG_DWORD:${replicate}
ExportList:Keeper:REG_SZ:${exportlist}
ImportList:Keeper:REG_SZ:${importlist}
Pulse:Keeper:REG_DWORD:${pulse}
Random:Keeper:REG_DWORD:${random}
GuardTime:Keeper:REG_DWORD:${guardtime}
Interval:Keeper:REG_DWORD:${interval}
TryUser:Keeper:REG_DWORD:${tryuser}
MaxFilesInDirectory:Keeper:REG_DWORD:2000
UnixFileOwner:Keeper:REG_SZ:${repl_fileowner}
UnixFileGroup:Keeper:REG_SZ:${repl_filegroup}
UnixDirectoryOwner:Keeper:REG_SZ:${repl_dirowner}
UnixDirectoryGroup:Keeper:REG_SZ:${repl_dirgroup}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Wins
:ClassName:<NO CLASS>
DisplayName:REG_SZ:Windows Internet Name Service
ImagePath:REG_EXPAND_SZ_PATH:%SystemRoot%${LMXWINS_PATH}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Wins\Parameters
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Wins\Parameters\Datafiles
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Wins\Partners
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Wins\Partners\Pull
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Wins\Partners\Push
:ClassName:<NO CLASS>

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UPS
:ClassName:<NO CLASS>
DisplayName:REG_SZ:UPS
ImagePath:REG_EXPAND_SZ_PATH:%SystemRoot%${LMXSRV_PATH}

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UPS\Parameters
:ClassName:<NO CLASS>
IgnoreSIGPWR:Keeper:REG_DWORD:${ignoresigpwr}
PowerMessageInterval:Keeper:REG_DWORD:${powertime}
PowerFailAddress:Keeper:REG_SZ:${poweraddr}
PowerFailMessage:Keeper:REG_SZ:${powermessage}

\HKEY_LOCAL_MACHINE\SYSTEM\Select
:ClassName:<NO CLASS>
Current:REG_DWORD:0x1
Default:REG_DWORD:0x1
Failed:REG_DWORD:0
LastKnownGood:REG_DWORD:0x1

EOT
#
# check the return code
#
if [ $? -ne 0 ]
then
	echo "${REGADM_NAME} failed"
	exit 11
else
	echo "Registry file created successfully\n"
fi
#
# now load additional regadm-format files
#
echo "load regadm(1M)-format files..."
find ${LMREGDIR_PATH} -type f -name '*.regadm' -print | while read file
do
	if [ -r ${file} ]
	then
		echo "loading ${file}"
		${REGADM_PATH} < ${file} 2> ${TMP_FILE} 1>&2
		if [ $? -ne 0 ]
		then
			cat ${TMP_FILE}
			rm -f ${TMP_FILE}
			exit 9
		fi
	else
		echo "skipping ${file}...not readable"
	fi
done
#
# now run other registry initialization scripts
#
echo "load registry initialization scripts..."
find ${LMREGDIR_PATH} -type f -name '*.regsh' -print | while read file
do
	if [ -x ${file} ]
	then
		echo "executing ${file}"
		${file} 1> ${TMP_FILE} 2>&1
		if [ $? -ne 0 ]
		then
			cat ${TMP_FILE}
			rm -f ${TMP_FILE}
			exit 10
		fi
	else
		echo "skipping ${file}...not executable"
	fi
done
#
# and we're done
#
rm -f ${TMP_FILE}
echo "registry load complete."
#
# end of file
