Many login script commands allow you to take advantage of identifier variables to make login scripts more efficient and flexible.
Use identifier variables to enter a variable (such as LAST_NAME) rather than a specific name (such as Smith) in a login script command. When the login script executes, it substitutes real values for the identifier variables.
By using the variable, you can make the same login script command applicable to multiple users.
When using variables within login script commands, observe the following conventions:
Type the variable exactly as shown.
To use environment variables as identifiers, enclose them in angle brackets (< >).
Identifier variables are used most often with commands such as IF...THEN, MAP, and WRITE. They can also be used with commands that you can specify a path for, such as COMSPEC.
Identifier variables can be placed within literal text strings in a WRITE statement. However, the identifier variable must be in uppercase letters and preceded by a percent sign (%). (Literal text is the text that is displayed on the screen, such as “Sales report is due today.” Literal text must be enclosed in quotation marks.)
For example, using the %LAST_NAME variable substitutes the user's actual last name for the LAST_NAME variable in the command when the user logs in. For example:
WRITE "Hello, ";LAST_NAME
or
WRITE "Hello, %LAST_NAME"
displays the following message on Bob Smith's workstation screen when he logs in:
Hello, SMITH
The percent sign (%) is used only within literal text strings (that is, within quotation marks (“ “)). The semicolon (;) is used to concatenate the literal text string and the identifier variable.
Using the %GREETING_TIME variable displays the time of day. If Bob Smith logs in during the morning, both of the following lines display the same message (Good morning, SMITH) on his screen:
WRITE "Good "; GREETING_TIME;", "; LAST_NAME
WRITE "Good %GREETING_TIME,%LAST_NAME"
The following table lists the identifier variables that work for both Linux and Windows workstations.
Table 3-2 Identifier Variables for Linux and Windows
Category |
Identifier Variable |
Function |
---|---|---|
Date |
DAY |
Day number (01 through 31) |
|
DAY_OF_WEEK |
Day of week (Monday, Tuesday, etc.) |
|
MONTH |
Month number (01 through 12) |
|
MONTH_NAME |
Month name (January, February, etc.) |
|
NDAY_OF_WEEK |
Weekday number (1 through 7; 1=Sunday) |
|
SHORT_YEAR |
Last two digits of year (99, 00, 01) |
|
YEAR |
All four digits of year (1999, 2000, 2001) |
DOS Environment |
variable |
Any DOS environment variable can be used in angle brackets. To use a DOS environment variable in MAP, COMSPEC, INCLUDE, DISPLAY, and FIRE PHASERS commands, add a percent sign (%) in front of the variable. |
Miscellaneous |
ACCESS_SERVER |
Shows whether the access server is functional (TRUE = functional; FALSE = nonfunctional) |
|
ERROR_LEVEL |
An error number (0 = no errors) |
|
%n |
Replaced by parameters the user enters at the command line with the login utility |
NetWare Mobile |
DIALUP |
0 = Not using DIALUP 1 = Using NetWare Mobile Client DIALUP profile |
|
OFFLINE |
0 = Not offline 1 = Disconnected login |
Network |
FILE_SERVER |
NetWare server name |
|
NETWORK_ADDRESS |
Internal number assigned by the network specifying where a device can be located in the network cabling system |
Object Properties |
property_name |
You can use property values of eDirectory objects as variables. Use the property values just as you do any other identifier variable. If the property value includes a space, enclose the name in quotation marks. To use a property name with a space within a WRITE statement, you must place it at the end of the quoted string: WRITE “Given name=%GIVEN_NAME” IF “MESSAGE SERVER”=”MS1” THEN MAP INS S16:=MS1\SYS:EMAIL END |
Time |
AM_PM |
a.m. or p.m. |
|
GREETING_TIME |
Time of day (morning, afternoon, evening) |
|
HOUR |
Hour (12-hour scale; 1 through 12) |
|
HOUR24 |
Hour (24-hour scale; 00 through 23) |
|
MINUTE |
Minute (00 through 59) |
|
SECOND |
Second (00 through 59) |
User |
CN |
User's full login name as it exists in eDirectory |
|
LOGIN_ALIAS_CONTEXT |
“Y” if REQUESTER_CONTEXT is an alias |
|
FULL_NAME |
User's unique username. It is the value of the FULL_NAME property for both eDirectory and bindery-based NetWare. Spaces are replaced with underscores ( _ ). |
|
LAST_NAME |
User's surname in eDirectory or full login name in bindery-based NetWare |
|
LOGIN_CONTEXT |
User's context |
|
LOGIN_NAME |
User's unique login name (long names are truncated to eight characters) |
|
MEMBER OF “group" |
Group object that the user is assigned to |
|
NOT MEMBER OF “group" |
Group object that the user is not assigned to |
|
PASSWORD_EXPIRES |
Number of days before password expires |
|
REQUESTER_CONTEXT |
Context when login started |
|
USER_ID |
Number assigned to each user |
Workstation |
MACHINE |
Type of computer (IBM_PC, etc.) |
|
NETWARE_REQUESTER |
Version of the NetWare Requester for OS/2 or VLM users |
|
OS |
Type of operating system on the workstation |
|
OS_VERSION |
Operating system version on the workstation |
|
P_STATION |
Workstation's node number (12-digit hexadecimal) |
|
PLATFORM |
Workstation's operating system platform |
|
SHELL_TYPE |
Version of the workstation's DOS shell; supports NetWare 2 and NetWare 3 shells and NetWare 4 Requester for DOS. |
|
SHELL_VERSION |
The version of the Novell Client, as displayed in the property pages. Provides a more effective testing of the Novell Client version from the login script. |
|
SMACHINE |
Short machine name (IBM, etc.) |
Workstation (cont'd) |
STATION |
Workstation's connection number |
|
WINVER |
Version of the workstation's Windows operating system |
Some variables in a login script can be indicated by a percent sign (%) followed by a number from 0 through 9.
NOTE:Only four variables (%2 through %5) can be changed in the login screen.
When a user logs in, additional parameters can be entered that the LOGIN utility passes to the login script. The utility then substitutes these parameters for any %n variables in the login script. These variables are replaced in order by the parameters the user entered when logging in.
The %0 variable is replaced by the name of the NetWare server entered in the Login dialog box, and %1 is replaced by the user's fully distinguished login name. The remaining variables change, depending on what the user types when executing the LOGIN utility. The %n variables must precede all command line options.
The SHIFT command allows you to change the order in which these %n variables are substituted.