Source: https://patents.google.com/patent/US6871221B1/en
Timestamp: 2018-03-17 11:49:18
Document Index: 732547533

Matched Legal Cases: ['art 1', 'art 2', 'art 2', 'art 2', 'art 3', 'art 4']

US6871221B1 - Method and apparatus to manage network client logon scripts using a graphical management and administration tool - Google Patents
US6871221B1
US6871221B1 US09489759 US48975900A US6871221B1 US 6871221 B1 US6871221 B1 US 6871221B1 US 09489759 US09489759 US 09489759 US 48975900 A US48975900 A US 48975900A US 6871221 B1 US6871221 B1 US 6871221B1
US09489759
1. The program 406 and templates 404 “script”.
2. The GUI Manager 402.
While network clients 108 are the true benefactor of logon script program 410 both, core components are installed to and reside on the client-server system 100 network's domain controllers.
Domain authentication block 602—Prior to the execution of the logon script program 410, each user must first authenticate to the domain. Only domain users that have “ScriptLogic™” assigned to them as the logon script program 410 field under the profiles page of the user's properties in user Manager for Domains (UM) will execute the logon script program 410. Refer to FIG. 26 for an example. It is important to note that in this embodiment, the process of Domain Authentication 602 is not a part of logon script program 410 itself and shown here as a convenient reference for those skilled in the network administration art.
scriptlogic.bat 604—After the domain authentication block 602, a batch file performs the following tasks:
(i) Check to make sure %windir% is a valid environment variable. In this embodiment, the logon script program 410 was designed to run on Windows 32-bit platforms only. If %windir% is not configured by the operating system 306, logon script program 410 assumes it was executed on an operating system 306 other than 95, 98, NT or 2000 and will not proceed.
(ii) Determines whether the client 108 should bypass executing the script. If a file named SLbypass exists in the root directory of the system drive, logon script program 410 will not execute.
(iii) Checks to see if the logon script program 410 client files exist on the client's 108 local storage. If logon script program 410 has been executed on this client 108 before, the built-in automatic “push” technology would have copied the logon script program 410 client files down from the server 102 to a client 108 \ScriptLogic folder on the boot or system drive. Executing logon script program 410 from the client's local storage save network bandwidth and greatly reduce RAS/dial-up networking/VPN logon time.
(iv) The logon script program 410 is launched by executing SLstart.exe from either the client's \ScriptLogic folder of form the authenticating Domain Controller's NETLOGON share.
Loader (SLStart.exe) 606—is responsible for the following functions:
(i) Verify that KIX32.exe is valid and not corrupt.
(ii) Verify that the client's %temp% environment is configured and points to a valid folder. If %temp% is not configured, logon script program 410 will not execute. If % temp % points to a folder that does not exist, SLstart.exe will attempt to create this folder and continue. If SLstart.exe is unable to create this folder, logon script program 410 will not execute.
(iii) Display the logon script program 410 splash screen or customer-supplied bitmap (logo.bmp).
(iv) Load the main script engine 408 (SLengine.dll) into memory and begin processing.
(v) Update the progress meter as different functions of the engine 408 are processed.
Engine (SLengine.dll) 608—The SLengine.dll is part of the engine 408. The SLengine.dll 608 is the compiled library that provides the core functionality of logon script program 410 and adds additional command functionality to the KiX32 interpreter. For the purpose of this diagram, SLengine 608 will be logically broken out into three (4) parts.
Part 1 performs the following initial functions:
(i) Initialize global variables used throughout the script.
(ii) Detect connection type (LAN or RAS)
(iii) Read Manager-defined configuration settings from SLconfig.kix 610 into memory.
(iv) Synchronize workstation time with specified time source.
(v) Determine list of the logon script program 410 that need to be updated on client's local hard drive (if any).
Part 2 (SLengine.dll)—Part 2 is the compiled library that provides the core functionality of logon script program 410 and adds additional command functionality to the engine. In this embodiment the engine is the KiXtart™ KiX32 interpreter. Part 2 of the SLengine 608 executes the Custom Script1 612. The Custom Script executes after the Manager-defined configuration is read into memory and before the configuration is actually processed. This allows the flexibility to “override” Manager-defined variables with custom script defined variables based on specialized logic.
Part 3 of the Slengine 608 configures the client 108 by processing the majority of the Manager-defined configuration:
Check for administrator defined password expiration threshold and prompt user to change if necessary.
Configure legal notice and don't display last user name registry settings. Note with Windows NT/2000, the legal notice and don't display last user name settings will be ignored if the workstation has been configured to “AutoAdminLogon” mode.
Apply display settings.
Configure search path.
Capture and deploy printers.
Queue any Service Packs for installation after the script completes.
Configure Shell Folders.
Configure NT Common Shell Folders.
Queue Applications Launcher programs for execution after the script completes.
Configure Microsoft Office Paths.
Configure Microsoft Internet Explorer Settings.
Create Microsoft Outlook/Exchange Mail Profile.
Display Scheduled Message Boxes.
Update program 406 Log File.
Purge temporary files to keep disk space cleaned up.
Distribute application updates such as anti-virus updates.
Finally, SLengine 608 executes the Custom Script 2 614. The SLcustom2.kix 614 to launch a program based on a drive mapping. Drive mappings have not yet occurred when SLcustom1.kix 614 executes.
Part 4 of the Slengine 608 and adds additional command functionality to the interpretive engine 408:
At this point logon script program 410 is removed from memory and control is returned to the operating system 306. The logon process is complete.
Custom Script 1 (SLcustom1.kix) 610—The purpose of the custom script files is to allow customization of the logon script program 410 behavior, above and beyond the functionality offered by the GUI Manager 402 and templates 404 and logon script program 410. All of the custom scripting files are ASCII files and allow the administrator to add their own KiXtart scripting code.
There are a two classifications of custom scripts that can be launched by the engine 608—they are known as the “pre-engine” and “post-engine” Custom Scripts.
Custom Script 1 (SLcustom1.kix) is the “pre-engine” script since it is launched after the Manager-defined configuration settings are read into memory and before the engine 608 processes these configuration settings. This allows administrators to “override” variables defined by the GUI Manager 402 and templates 404 with the administrator's own. For example: the administrator defines drive X: to be mapped for All Domain Users, All operating systems 306 and both connection types as the first entry in the Manager's Drives Tab. However, the administrator does not want this drive mapped for any clients with the letters “FLA” in the NetBIOS workstation name. In this case the administrator would store this entry to the SLconfig.kix file as:
$D1=‘Domain Users,NT 95 98,LAN RAS,X,Show,\\server1\share’The administrators's Custom Script 1 612 (SLcustom1.kix) has the following lines inserted:
if instr(‘$WkSta’,‘FLA’)
Custom Script 2 614 is known as the “post-engine” script since it is launched after the engine 608 processes the Manager-defined configuration settings. This allows you to “use” drive mappings and other configuration settings after logon script program 410 has applied them to the client 108.
For example: if an admistrator wants to launch the Microsoft SMS batch file specifically from the server at the user's location, and only if the client logging on is LAN-attached. The administrator has organized the user's into location-specific groups within UMD, and mapped drive S: to the appropriate server's SMS share based on group membership.
In the Custom Script 2 614 (SLcustom2.kix) the following lines would be inserted:
if $ConnType=‘LAN’; *only execute SMS for LAN-attached clients* SHELL ‘%COMSPEC%/E:1024/C S:\SMSLS.BAT’
Operating System Explorer (Shell Loads)—with logon script program 410 removed from memory, control is returned to the operating system 306 and the Shell (Windows Explorer) loads and displays the desktop.
receiving a set of one or more configuration files from a server, over a previously configured network interface, the set of configuration files are identical to the set of configuration files received by other client systems attached to the server, and wherein the set configuration files containing one or more defined configuration settings, wherein the configuration files were previously built through use of a graphical interface, and without the need to create client specific text edit logon scripts; and
in response to the user logging on and authenticated to the server, executing an application program that takes the set of one or more configuration files and applies at least one of the defined configuration settings to the client system so as to automatically configure for a user on the client system, zero or more configuration settings, wherein the application program excutes so as to validates at least one of the configuration settings in the configuration based on logon authentication and validates one or more of run-time environmental variables of the client system, the variables consisting of at least one of (i) an IP subnet address, (ii) a LAN group membership, and (iii) at least one registry entry, before applying the configurations settings to the client system, and wherein the application executes after the client system boots-up, loads an operating system and before an operating system shell is presented to the user.
2. The method according to claim 1, wherein the receiving set of one or more configuration files includes receiving set of one or more configuration files containing one or more defined configurations from the group of configuration settings consisting of drive mappings, shell folders, printer deployment, proxy server access, application paths, service packs, anti-virus updates, policies and automatic mail profile creation.
executing a interpretative engine that interprets the application program as source programming language; and wherein the step of executing an application program includes executing an application program on the interpretative engine.
receiving a custom application script on a computer readable medium, the custom application script in a source programming that is interpreted by the interpretative engine; and wherein the step executing an application program includes executing an application program along with the custom application script so as to automatically configure for at least one user, at least one configuration setting.
9. The method according to claim 8, wherein the executing an application program includes executing the custom application script prior to the execution of the application program so as to cause the application program to alter at least one configuration setting differently then if the application program was executed after the custom application script.
presenting a graphical user interface to a user containing user selectable items representing one or more configuration settings for at least one user on at least one client system and wherein the settings are customized without the need to create client specific text edit logon scripts;
transferring the the set of one or more configuration files from the server over a previously configured network interface to the client system so at to cause an application program to take the set of one or more configuration files and apply at least one of the defined configuration settings to the client system so as to automatically configure for the user on the client system, at least one configuration setting, wherein the application program is loaded and validates at least one of the configuration settings based on logon authentication and validates one or more run-time environmental variables of the client system, the variables consisting of an IP subnet address, a LAN group membership, and a registry entry, before applying the configurations settings to the client system, and wherein the application executes after the client system boots-up, loads an operating system and before an operating system shell is presented to the user.
16. A method according to claim 15, wherein the receiving one or more selections includes receiving one or more configuration settings from the group of configuration settings consisting of drive mappings, shell folders, printer deployment, proxy server access, application paths, service packs, anti-virus updates, policies and automatic mail profile creation.
receiving a set of one or more configuration files from a server, over a previously configured network interface, the set of configuration files are identical to configuration files received by other client systems attached: to the server, and wherein the set configuration files containing one or more defined configuration settings, wherein the configuration files were previously built through use of a graphical interface, and without the need to create client specific text edit logon scripts; and
in response to the user logging on and authenticated to the server, executing an application program that takes the set of one or more configuration files and applies at least one of the defined configuration settings to the client system so as to automatically configure for a user on the client system, zero or more configuration settings, wherein the application program executes so as to validates at least one of the configuration settings in the configuration based on logon authentication and validates one or more of run-time environmental variables of the client system, the variables consisting of at least one of (i) an IP subnet address, (ii) a LAN group membership, and (iii) at least one registry entry, before applying the configurations settings to the client system, and wherein the application executes after the client system boots-up, loads an operating system and before an operating system shell is presented to the user.
25. The computer readable medium according to claim 24, wherein the programming instruction of receiving a set of one or more configuration files includes receiving a set of one or more configuration files containing one or more defined configurations from the group of configuration settings consisting of drive mappings, shell folders, printer deployment, proxy server access, application paths, service packs, anti-virus updates, policies and automatic mail profile creation.
means for receiving a set of one or more configuration files from a server, over a previously configured network interface, the set of configuration files are identical to configuration files received by other client systems attached to the server, and wherein the set configuration files containing one or more defined configuration settings, wherein the configuration files were previously built through use of a graphical interface, and without the need to create client specific text edit logon scripts; and
in response to the user logging on and authenticated to the server, means for executing an application program that takes the set of one or more configuration files and applies at least one of the defined configuration settings to the client system so as to automatically configure for a user on the client system, zero or more configuration settings, wherein the application program executes so as to validates at least one of the configuration settings in the configuration based on logon authentication and validates one or more of run-time environmental variables of the client system, the variables consisting of at least one of (i) an IP subnet address, (ii) a LAN group membership, and (iii) at least one registry entry, before applying the configurations settings to the client system, and wherein the application executes after the client system boots-up, loads an operating system and before an operating system shell is presented to the user.
28. The system according to claim 27, wherein the means for receiving a configuration includes receiving a set of one or more configuration files containing one or more defined configurations from the group of configuration settings consisting of drive mappings, shell folders, printer deployment, proxy server access, application paths, service packs, anti-virus updates, policies and automatic mail profile creation.
US09489759 2000-01-21 2000-01-21 Method and apparatus to manage network client logon scripts using a graphical management and administration tool Active US6871221B1 (en)
US10700617 Continuation-In-Part US7353262B2 (en) 2000-01-21 2003-11-04 Validation of configuration settings prior to configuration of a local run-time environment
US10700615 Continuation-In-Part US7469278B2 (en) 2000-01-21 2003-11-04 Validation of portable computer type prior to configuration of a local run-time environment
US6871221B1 true US6871221B1 (en) 2005-03-22
ID=34272469
US09489759 Active US6871221B1 (en) 2000-01-21 2000-01-21 Method and apparatus to manage network client logon scripts using a graphical management and administration tool
US (1) US6871221B1 (en)
US20030233586A1 (en) * 2002-06-05 2003-12-18 Hitachi, Ltd. Total service support system for employees and method therefor
CN104346248A (en) * 2014-10-17 2015-02-11 浪潮电子信息产业股份有限公司 Audit function implementing method based on history command
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:STYLES, BRIAN;REEL/FRAME:014170/0637
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:STYLES, BRIAN;REEL/FRAME:014608/0903