home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / lsmt213c.zip / lsmt.txt < prev    next >
Text File  |  1997-01-28  |  89KB  |  2,093 lines

  1.  ------------------------------------------------------------------------------
  2.                   * * * L S M T * * *
  3.               LAN Server Management Tools
  4.           Author : Alain Rykaert - IBM Belgium (RYKAERTA at BRUVMIS1)
  5.                                  - Alain_Rykaert@BE.IBM.COM
  6.  ------------------------------------------------------------------------------
  7.  
  8.  
  9.     /===\              /============\   /===\        /===\   /===========\
  10.     |   |             /             |   |    \      /    |   |           |
  11.     |   |             |   /=========/   |     \    /     |   \===\   /===/
  12.     |   |             |   |             |      \  /      |       |   |
  13.     |   |             |   \========\    |       \/       |       |   |
  14.     |   |             |             \   |                |       |   |
  15.     |   |             \=========\   |   |                |       |   |
  16.     |   |                       |   |   |   /\      /\   |       |   |
  17.     |   \=========\   /=========/   |   |   | \    / |   |       |   |
  18.     |             |   |             /   |   |  \  /  |   |       |   |
  19.     \=============/   \============/    \===/   \/   \===/       \===/
  20.  
  21.         LAN               SERVER            MANAGEMENT           TOOLS
  22.  
  23.  
  24.  
  25.  
  26.                                                    Latest Update: 28JAN97
  27.  
  28.  
  29.  
  30.  ------------------------------------------------------------------------------
  31.                   * * * L S M T * * *
  32.               LAN Server Management Tools
  33.           Author : Alain Rykaert - IBM Belgium (RYKAERTA at BRUVMIS1)
  34.                                  - Alain_Rykaert@BE.IBM.COM
  35.  ------------------------------------------------------------------------------
  36.  
  37.  The major purpose of the tools is to help the novice as well as the
  38.  experienced LAN Server administrator to migrate, update and/or maintain his
  39.  LAN Server domain(s).
  40.  
  41.  The tools allow the administrator to extract the information of his current
  42.  LAN Server environment into ASCII files, change it and use it to apply
  43.  these changes to the same or to a newly installed environment.
  44.  
  45.  Therefore these tools are useful to:
  46.  
  47.   - Backup a LAN Server domain
  48.   - Restore a backuped version
  49.   - Migrate (for example from LAN Server 3.0 to 4.0 or WarpServer)
  50.   - Consolidate
  51.   - Restructure the actual domain definitions
  52.  
  53.  The programs are written in REXX not only to enable you to adjust them to
  54.  your own needs but also to demonstrate the usability and easiness of REXX.
  55.  We have written the programs to meet following objectives :
  56.  
  57.  The command files have to:
  58.  
  59.   - be easy to read and debug by any user who is familiar with REXX
  60.   - be easy to upgrade to a PM environment by using programs such as
  61.     VX-Rexx, VisPro-Rexx, GPF-Rexx, DrDialog and so on
  62.   - provide external customable files for proper convenience such as
  63.     column length, language and so on
  64.   - provide error and logging facilities for all activities
  65.  
  66.  Overview
  67.  --------
  68.  Most of the base functions we split into different programs for better
  69.  reading and selective use of the resources.
  70.  
  71.  To retrieve information of the existing LAN environment and extract it
  72.  to an ASCII file, you may use the GETxxx.CMD programs.
  73.  
  74.  If there are any changes required, you may edit these flat files directly
  75.  with your favorite editor, spreadsheet or with a batch program.
  76.  
  77.  Prerequisites For Your Editor:
  78.  ------------------------------
  79.  Extracting your LAN Server environment information to an ASCII file results
  80.  in lines which easily exceed 254 characters.
  81.  Depending on your definitions, they might even be much larger.
  82.  Therefore, the editor or spreadsheet program you want to use to view and/or
  83.  manipulate these ASCII files has to be able to handle files with large lines,
  84.  and it should at least warn you if any truncation occurs.
  85.  ( TEDIT.EXE, E.EXE and IBMWORKS support long lines.
  86.    EPM.EXE does not, but it warns you in case of truncation.)
  87.  
  88.  To set the information back to your LAN Server environment, use the
  89.  SETxxx.CMD programs with the ASCII files as input.
  90.  
  91.  *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
  92.   A T T E N T I O N :
  93.  *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
  94.    Before you use the programs in a productive environment, make sure that
  95.    you have an actual backup of all your running servers.
  96.  
  97.  Table of all programs:
  98.  ----------------------
  99.   PRG Name    Default Input  Default Output  Information
  100.  ------------------------------------------------------------------------------
  101. | INSTALL                                    Install procedure
  102.  ------------------------------------------------------------------------------
  103.   GETALL                                     All information of the DC
  104.  ------------------------------------------------------------------------------
  105.   GETSRVS     SERVERS.INI    SERVERS.CSV     All Servers
  106.                              LSMT.LOG
  107.   SETSRVS     SERVERS.CSV    LSMT.LOG
  108.                              SERVERS.CHK
  109.  ------------------------------------------------------------------------------
  110.   GETUSERS    USERS.INI      USERS.CSV       All users settings
  111.                              LSMT.LOG
  112.   SETUSERS    USERS.CSV      USERS.CHK
  113.                              LSMT.LOG
  114.  ------------------------------------------------------------------------------
  115.   GETGRPS1    GROUPS.INI     GROUPS1.CSV     All groups names & comments
  116.                              LSMT.LOG
  117.   GETGRPS2                   GROUPS2.CSV     All groups & memberships
  118.                              LSMT.LOG
  119.   SETGRPS1    GROUPS1.CSV    GROUPS1.CHK
  120.                              LSMT.LOG
  121.   SETGRPS2    GROUPS2.CSV    GROUPS2.CHK
  122.                              LSMT.LOG
  123.  ------------------------------------------------------------------------------
  124.   GETALIAS    ALIAS.INI      ALIAS.CSV       All alias definitions
  125.                              LSMT.LOG
  126.   SETALIAS    ALIAS.CSV      ALIAS.CHK
  127.                              LSMT.LOG
  128.  ------------------------------------------------------------------------------
  129.   GETACL                     ACL.CSV         All access profiles
  130.                              LSMT.LOG
  131.   SETACL      ACL.CSV        ACL.CHK
  132.                              LSMT.LOG
  133.  ------------------------------------------------------------------------------
  134.   GETASSGN                   ASSGN.CSV       Logon assignments for all
  135.                              LSMT.LOG        users and aliases
  136.   SETASSGN    ASSGN.CSV      ASSGN.CHK
  137.                              LSMT.LOG
  138.  ------------------------------------------------------------------------------
  139.   GETAPPL     APPL.INI       APPL.CSV        All public applications
  140.                              LSMT.LOG
  141.   SETAPPL     APPL.CSV       APPL.CHK
  142.                              LSMT.LOG
  143.  ------------------------------------------------------------------------------
  144. | GETSEL                     SELECTOR.CSV    All applications selector
  145.                              LSMT.LOG
  146. | SETSEL      SELECTOR.CSV   SELECTOR.CHK
  147.                              LSMT.LOG
  148.  ------------------------------------------------------------------------------
  149.   GETPWD                     USERS.PWD       Get all passwords (encrypted)
  150.   SETPWD      USERS.PWD
  151.  ------------------------------------------------------------------------------
  152.  
  153.  In addition to above, we supply some more applets to demonstrate how you can
  154.  use REXX within OS/2 and also within your OS/2 LAN Server environment:
  155.  ------------------------------------------------------------------------------
  156.  RXACL        RXACL.CSV      RXACL.CSV   Get/Set ACL's to/from an
  157.                              LSMT.LOG    ASCII file
  158.  ------------------------------------------------------------------------------
  159.  RXDASD       RXDASD.CSV     RXDASD.CSV  Get/Set DASD limits to/from
  160.               RXDASD.INI     LSMT.LOG    an ASCII file
  161.  ------------------------------------------------------------------------------
  162.  RXNET                                   Simulates some NET.EXE browsing
  163.                                          functions with faster output than the
  164.                                          original NET.EXE
  165.  ------------------------------------------------------------------------------
  166.  CHKASSGN                                Checks all you assignments for
  167.                                          inconsistency
  168.  ------------------------------------------------------------------------------
  169.  Remark: depending of which procedure has been called, one or more other
  170.          procedures can be executed undercover such as 'SETCMD.CMD',
  171.          'GETCMD.CMD', 'SETHOME.CMD' etc...
  172.  
  173.  ------------------------------------------------------------------------------
  174.   ///////////////////// Installation Of LSMT \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  175.  ------------------------------------------------------------------------------
  176.  
  177.  To install LSMT, you will need following files:
  178.  
  179.    Files          Description
  180.    ---------------------------
  181.    LSMT.TXT       this document
  182.    LSMT.ZIP       compressed file, contains all necessary product files
  183.    PKUNZIP2.EXE   available after an OS/2 Lan Requester & Server installation
  184.  
  185.  All files must be installed in a common directory on the same disk,
  186.  (example: Drive letter is D:)
  187.  
  188.     Goto the drive                      D:
  189.     Create a directory:                 MD \LSMT
  190.     Goto this directory:                CD \LSMT
  191.     Copy LSMT.ZIP to this directory:    COPY ?:\LSMT.ZIP
  192.     (replace ?: with the Drive Letter where to get the source file, example A:)
  193.     Unzip the packed file:              PKUNZIP2 LSMT.ZIP
  194.     Erase LSMT.ZIP from this directory  DEL D:\LSMT.ZIP
  195.     Create the LSMT objects on the WPS  INSTALL
  196.  
  197.  Now, they are 3 ways to use the LSMT procedures :
  198.  
  199.   1. To get for example all details about the defined Users,
  200.  
  201.      execute 'GETUSERS' with the ComputerName of the (primary) Domain Controller.
  202.  
  203.      Example: GETUSERS /SRV:BEDCDIE
  204.  
  205.   2. to get all the DC's data chained together such as Users, Alias,
  206.      Logon Assignments etc...
  207.  
  208.      execute 'GETALL' with the ComputerName of the (primary) Domain Controller.
  209.  
  210.      Example: GETALL /SRV:BEDCDIE
  211.  
  212.     (For details about GETALL and the optional programs go to the topic
  213.      'GETALL' 2 pages futher).
  214.  
  215. | 3. to do it by drag & drop, open the 'Outputs' folder and drag for example
  216. |    the 'USERS.CSV' to the ProgramObject 'Get from DC'.
  217.  
  218.      To get more details goto the topic
  219.      'Using the Drag & Drop on the OS/2 Warp WorkPlaceShell',
  220.      the last chapter of the 'LSMT.TXT'.
  221.  
  222.  ------------------------------------------------------------------------------
  223.  About DLL's:
  224.  ------------------------------------------------------------------------------
  225.  The power of REXX encourages the user to use REXX functions even if they are
  226.  not delivered with the original REXX code just by adding and loading
  227.  additional DLLs which contains the required functions.
  228.  
  229.  One of the major enhancements of LS 4.0 in contrast to earlier versions is
  230.  that all LAN Server APIs can be accessed via REXX by external functions in a
  231.  new DLL (LSRXUT.DLL).
  232.  
  233.  There are two DLLs included in LAN Server 4.0: LSRXUT3.DLL and LSRXUT4.DLL.
  234.  LSRXUT3.DLL is essentially the same as LSRXUT4.DLL with some restrictions
  235.  originated in the LAN Server 3.0 code.
  236.  
  237.  One of the few restrictions is that if you are using a LAN Server 3.0
  238.  environment, you cannot use the apply API to copy the actual ACL of
  239.  the directory to its subdirectories.
  240.  
  241.  If the directory resides on a LAN Server 4.0 Server, even if your
  242.  domain controller has a lower release, the apply will work.
  243.  
  244.  The LSRXUT.DLL does not have to be installed at the server itself but on the
  245.  machine you are planning to use to run the programs.
  246.  
  247.  If you are using LAN Requester 3.0, then you should use LSRXUT3.DLL.
  248.  If you are using LAN Server 4.0 or higher, use LSRXUT4.DLL.
  249.  
  250.  In order to provide you with the latest information, we included in our
  251.  package the most recent versions of LSRXUT3.DLL and LSRXUT4.DLL which will
  252.  install automatically the correct version by the registration program
  253.  'RGLSRXUT.CMD'.
  254.  
  255.  In addition to this, there are more DLL's included which we used within our
  256.  REXX program:
  257.  
  258.   DLL file        Author   Content
  259.  ------------------------------------------------------------------------------
  260.   LSRXUT.DLL      Ingolf   LAN Server REXX API's actually delivered with OS/2
  261.                   Lindberg Lan Server 4.0 (we included a more recent version)
  262.  
  263.   RXUTILS.DLL     Thomas   Some general purpose functions
  264.                   Rogers
  265.  
  266.   RXNPIPES.DLL    Graham   Used only if you decide to use piping as an
  267.                   Ewart    additional logging mechanism
  268.  
  269.  If, during executing, you encounter the following error message:
  270.  
  271.    SYS0032: The process cannot access the file because it is being used
  272.             by another process.
  273.  
  274.  One of the DLLs is already in use, and you cannot replace it with the one
  275.  in your LSMT directory. Just reboot the workstation to 'unlock' the locked
  276.  DLL's.
  277.  
  278.  A suggested way to register all the DLL's are following statemets in
  279.  the STARTUP.CMD :
  280.  
  281.      CALL ?:\LSMT\RGUTIL.CMD
  282.      CALL ?:\LSMT\RGUTILS.CMD
  283.      CALL ?:\LSMT\RGLSRXUT.CMD
  284.      CALL ?:\LSMT\RGNPIPES.CMD
  285.  
  286.  where '?:' stands for the driveletter of the drive you installed LSMT
  287.  
  288.  
  289.  
  290.   ------------------------------------------------------------------------------
  291.  The INI Files:
  292.  ------------------------------------------------------------------------------
  293.  For some of our programs, we provide xxx.INI files to enable the user to set
  294.  several values externally without touching the CMD files.
  295.  
  296.  These files allow you to specify which columns you would like to have
  297.  in your output file and which column width they should occupy.
  298.  
  299.  Some programs will not provide this flexibility in making the decision about
  300.  which columns to see and which column width to use because the content of the
  301.  columns is subject to change dynamically.
  302.  
  303.  In these cases, an INI file can always be just a snapshot of your actual
  304.  environment.
  305.  
  306.  Therefore it needs to be rebuilt anytime you restart the programs because
  307.  your environment might have been changed, some of the objects represented by
  308.  the columns no longer exist or others have been added.
  309.  
  310.  Example: ALIAS.INI
  311.  
  312.   *************************************************
  313.   * DO NOT CHANGE THE FIRST 2 COLUMNS ORDER
  314.   * AND DO NOT CHANGE THE COLUMNS NAMES
  315.   *
  316.  
  317.     OPT          ; 3
  318.     NAME         ; 8
  319.  
  320.     TYPE         ; 7
  321.     SERVER       ; 8
  322.     PATH         ; 30
  323.     REMARK       ; 20
  324.   * NETNAME      ; 8
  325.     LOCATION     ; 13
  326.     MODE         ; 17
  327.     MAXUSES      ; 7
  328.     QUEUE        ; 10
  329.     PRIORITY     ; 8
  330.     DEVICE_POOL  ; 12
  331.   *
  332.   *************************************************
  333.  
  334.  With the INI file, you have following options:
  335.  
  336.   - Changing the order of the lines will change the order of the
  337.     corresponding columns in the output file.
  338.   - Deleting lines or typing an asterisk '*' in the first column of the line
  339.     will have the effect that this column will not be displayed in the output
  340.     file.
  341.   - Changing the numbers will change the corresponding column width.
  342.  
  343.  Restrictions:
  344.  -------------
  345.   - DO NOT CHANGE the column names, these are predefined names used by the API.
  346.   - Please obey additional restrictions given in the comment lines at the top
  347.     of each INI file.
  348.  
  349.  For those programs which do not provide an INI file, you will be able to
  350.  delete certain columns in the ASCII files or reorder them.
  351.  
  352.  This does not apply for some special columns described for each program in
  353.  their detailed description.
  354.  
  355.  If you delete a column, this implies that you also want to delete the
  356.  information provided in this column.
  357.  
  358.  If you delete some columns or exclude them by placing an asterisk in the
  359.  first column of the corresponding line in the INI file, you should be aware
  360.  that the information represented by the column now cannot be set by the
  361.  SET program because it does not know which value to set.
  362.  
  363.  Some of the columns you may not delete because LAN Server needs the
  364.  information in these columns to complete your setting operation.
  365.  In this case, you will receive an error message from the API.
  366.  
  367.  
  368.  ------------------------------------------------------------------------------
  369.  The ASCII Files:
  370.  ------------------------------------------------------------------------------
  371.  All ASCII files produced by our REXX command files have a common look and
  372.  feel. In order to use advanced methods in editing those files, we used a
  373.  format you easily can edit with an ordinary file editor or with your favorite
  374.  spreadsheet program (for example, IBM Works, part of OS/2 Warp Bonuspak).
  375.  
  376.  Nearly every spreadsheet program on the market is able to import a so-called
  377.  comma-separated value file. Within these files, each row of your spreadsheet
  378.  is represented by a corresponding line in your CSV file, and vice versa.
  379.  To decide which lines belong to which column of your spreadsheet, a special
  380.  character is used as delimiter of each column.
  381.  
  382.  In most countries the comma ',' is used as list separator, others are using
  383.  the semicolon ';'.
  384.  
  385.  By default, we decided to use the semicolon ';' as delimiter because some of
  386.  the values in OS/2 LAN Server (for example, Comments) may contain commas.
  387.  
  388.  If you import the ASCII file into your spreadsheet and the data is not
  389.  separated correctly, try to figure out whether your default list separator is
  390.  the one we used.
  391.  
  392.  IBM Works, for example, uses the list separator defined on the first notebook
  393.  page of the country settings located by default in the System Configurtation
  394.  Folder of the OS/2 System folder.
  395.  Check this option first to see whether it is set correctly.
  396.  
  397.  In the top section of each CSV file, you will find a line starting with 'OPT'
  398.  This line contains the header description of all columns used in this file.
  399.  Therefore, if you want to know what kind of information is stored in a certain
  400.  column, just follow the column up or down until you reach a line which starts
  401.  with OPT.
  402.  For each column, you will find a descriptive name for the column's content.
  403.  
  404.  If you are using a spreadsheet program to change values, you have to save it
  405.  as a comma-separated value file. Most of the spreadsheet programs save the
  406.  files by default to their own proprietary format.
  407.  
  408.  Each column is separated by ';' (you will not see this separator if you are
  409.  using a spreadsheet program). If you are not explicitly allowed to change this
  410.  line (see: "Description Of The Standard Functions"), do not change this line.
  411.  
  412.  With respect to the meaning of the semicolon, do not delete semicolons within
  413.  a row because deleting one semicolon has the effect of shifting all entries
  414.  one column to the left (and only for this line!).
  415.  
  416.  Conversely if you are adding an additional semicolon all entries shift one
  417.  column to the right.
  418.  
  419.  For the same reason, do not use semicolons in your entries, for example in
  420.  comment fields.
  421.  
  422.   * List of all logon assignments ,allowed Options U=update D=delete
  423.   OPT;USERID  ;REXX;WARPAPPL;DOSAPPL;WINAPPL;PUBLIC;IBM4039;OPTRA;MODEM;
  424.      ;ODIER   ;    ;    V   ;       ;       ;  P   ; LPT1  ;     ;COM4 ;
  425.      ;PAULI   ; R  ;    W   ;       ;       ;  P   ;       ;LPT3 ;     ;
  426.      ;RYKAERTA; R  ;    W   ;  X    ;       ;  P   ; LPT3  ;     ;     ;
  427.      ;SHIMIZU ;    ;    W   ;       ;       ;  P   ;       ;     ;     ;
  428.      ;TESTINI ;    ;        ;  X    ;   Y   ;  P   ; LPT1  ;     ;     ;
  429.      ;VERNON  ;    ;    W   ;       ;       ;  P   ;       ;     ;COM3 ;
  430.  
  431.  If you use this table to manipulate your data, the first column is always
  432.  your option column.
  433.  
  434.  The following entries are allowed for the option column:
  435.  
  436.  *     Indicates that this line is a comment line, it will be ignored.
  437.  
  438.  OPT   This line contains information about the columns used in this file
  439.       (change it only on purpose; see "Descritption Of The Standard Functions")
  440.  
  441.  A     ADD
  442.        Indicates this is a new entry, add entry to your existing LAN
  443.        environment (some applications do not distinguish between ADD
  444.        and UPDATE)
  445.  
  446.  U     UPDATE
  447.        Indicates this line contains settings about an already existing entry,
  448.        and you want to change these settings.
  449.  
  450.  D     DELETE
  451.        The whole entry will be deleted from your LAN environment.
  452.  
  453.  
  454.  If there is no entry or just blanks in the option column, this line will not
  455.  be processed, it will be ignored.
  456.  
  457.  Therefore, if you are applying any changes using this file, be sure to set the
  458.  proper option in the option column; otherwise your changes will not be
  459.  processed.
  460.  
  461.  If you want to change the order or the appearance of one or more of these
  462.  columns, use the INI file if it is provided (see: "The INI Files").
  463.  
  464.  If there is no INI file, and only then, you may change the order or delete
  465.  some of the columns by editing the ASCII file.
  466.  
  467.  Please respect the restrictions for reorder or deletion in "Description
  468.  Of The Standard Functions".
  469.  
  470.  However, if you delete a column for some programs, this implies that you also
  471.  want to delete the information provided in this column.
  472.  
  473.  
  474.  ------------------------------------------------------------------------------
  475.  The Check Files:
  476.  ------------------------------------------------------------------------------
  477.  If for some reason one or more of the lines in your ASCII files could not be
  478.  processed, for example an error occurred, you will find them collected in the
  479.  corresponding check file (filetype by default CHK).
  480.  
  481.  This makes it easier for you to check the non processed lines for the reason
  482.  of their failure. Once corrected, you just have to rename this file to .CSV,
  483.  and process it again.
  484.  
  485.  Due to the nature of this file, it will be only created if the SETxxx.CMD
  486.  fails to process all data.
  487.  
  488.  
  489.  ------------------------------------------------------------------------------
  490.  The LOG file:
  491.  ------------------------------------------------------------------------------
  492.  By default there is only one log file (LSMT.LOG) for all provided REXX
  493.  procedures, so that all logging information is collected in one log.
  494.  
  495.  If needed, you can specify another logfile name for each procedure.
  496.  
  497.  Every information which will be logged will also be visible on the screen.
  498.  
  499.  The following information will be logged:
  500.  
  501.   - Information about the originator of the log
  502.   - Errors
  503.   - Changes of your LAN environment (add, delete, change)
  504.  
  505.  Each log entry gives you following information:
  506.  
  507.   - An asterisk '*' in the first column indicates an ERROR log.
  508.   - Date and time when the entry was set (YYMMDD hh:mm).
  509.   - UserID of the admin who executed the program which set the log entry.
  510.   - Name of the program which set log entry.
  511.   - The function which was executed.
  512.   - The message of this function APL.
  513.   - In case of error, the return code in square brackets.
  514.  
  515.   10/17/95 16:56 A948R34  SETUSERS Add User     : BERRIT
  516.   10/17/95 17:01 A948R33  SETACL   New Audit    : ALIAS6    -
  517.   10/17/95 17:01 A948R33  SETACL   New ACP      : DOSAPL    DOSUSERS - XR
  518.   10/17/95 17:01 A948R33  SETACL   New ACP      : ALIAS6    A948R33 - XR
  519.   10/17/95 17:39 A948R34  SETALIAS Update Alias : PRINTER3 - Printer 3
  520.  *20/02/96 11:46 ALAINADM SETUSERS Add User     : RAMBO [2245 Could not ...
  521.                                                                 ... add UserID ]
  522.  
  523.  In the example above, you will see one line with an asterik in the first
  524.  column which classifies this line as an error logging.
  525.  
  526.  At the very end of this line, you see a message enclosed in brackets which is
  527.  only a fraction of the original return code.
  528.  
  529.  If there is a number at the beginning of the text in brackets, you will get
  530.  more information of the nature of this error if you type at an OS/2 command
  531.  prompt 'HELP NETxxxx' where xxxx is this number.
  532.  
  533.  With an error 2245 you will see following by executing 'HELP NET2245':
  534.  
  535.     NET2245: The password is shorter than required.
  536.  
  537.  
  538.  ------------------------------------------------------------------------------
  539.  The Idea Of Named Pipes:
  540.  ------------------------------------------------------------------------------
  541.  Named pipes in REXX give you a very sophisticated way to let two or more
  542.  programs communicate with each other.
  543.  If two programs are connected via a named pipe, each of them has a dedicated
  544.  role.
  545.  One program is responsible to send messages, the other to receive.
  546.  The sending program is using the pipe just as any other ordinary output device.
  547.  The major difference is that this output will not be stored anywhere but
  548.  taken immediately as input for the receiving program.
  549.  
  550.  To enable the programs to establish more than one connection at a time,
  551.  you use names for each pipe to distinguish the connections.
  552.  Each pipe can be used only between two programs at the same time.
  553.  If another program wants to write messages to the same pipe, it has to
  554.  wait until a previous session is closed.
  555.  
  556.  Standard REXX does not support named pipes, but we added the RXNPIPES.DLL
  557.  (written by Graham Ewart) to this package to support the use of named pipes
  558.  within REXX.
  559.  
  560.  To demonstrate the use of named pipes, we provide two typical named
  561.  pipe programs written in REXX:
  562.  
  563.  MNP.CMD         Sends messages to a certain pipe.
  564.  CONSOLE.CMD     Receives messages and shows them immediately on the screen.
  565.                  You can use this program as a console console for all our
  566.                  programs which produce log output.
  567.  CONSOLE2.EXE    same function as CONSOLE.CMD but written in C to provide
  568.                  multiple instances (written by Wouter Cloetens)
  569.  
  570.  How to install and use Named Pipes with REXX:
  571.  ---------------------------------------------
  572.   Here we have 2 possible methods:
  573.  
  574.   1.a. To receive messages, start 'CONSOLE' with following optional parameters:
  575.  
  576.      /PIP:Name_of_the_Pipe (default \PIPE\RXPIPE)
  577.      /LOG:LOF_Filename
  578.      /TO:Time_Out_Value
  579.      /SOUND
  580.  
  581.    Parameter Description:
  582.  
  583.    PIP   : Name of pipe to open for receive
  584.    LOG   : Name of the file all the received messages will be logged to
  585.    TO    : the timeout in milliseconds the program waits until the pipe is open
  586.    SOUND : if set, you may hear the program's heart beat
  587.  
  588.    Example: CONSOLE /PIP:\PIPE\MYPIPE /SOUND
  589.  
  590. | 1.b. To receive messages, start 'CONSOLE2' after editing 'CONSOLE2.CFG'
  591. |
  592. |   Remark: CONSOLE2 does not log into a file on disk
  593.  
  594.  2. To send messages, edit MNP.CMD, and fill in the name of the pipe you want
  595.     to send the messages.
  596.  
  597.  3. Execute 'MNP' with your message: Example: MNP Hello
  598.     or
  599.     just pipe your message: Example: echo Hello > \PIPE\RXPIPE
  600.  
  601.  4. To Stop the 'CONSOLE' or 'CONSOLE2': press [CTRL]-[BREAK]
  602.  
  603.  The big advantage of pipes is that the sending program (MNP) and the receiving
  604.  program (CONSOLE or CONSOLE2) may run on different machines within your
  605.  network.
  606.  
  607.  To use this scenario over your network, the machine which runs your CONSOLE or
  608.  CONSOLE2 programs has to meet following requirements:
  609.  
  610.   - The operating system must be OS/2 2.1 or higher.
  611.   - The piping mechanism needs to share IPC$ and therefore either
  612.      LAN Requester 3.0 or higher with peer services
  613.         or
  614.      LAN Server 3.0 or higher has to be installed.
  615.  
  616.  At the PC which sends messages, you have to edit MNP.CMD to type in the named
  617.  pipe of the receiving computer.
  618.  
  619.  Prerequisites for installation of LSMT:
  620.  ---------------------------------------
  621.  You have to meet following prerequisites to install LSMT:
  622.  
  623.  LAN Server:     OS/2 2.11 (or higher)
  624.                  OS/2 LAN Server 3.0 (CSD7045 or higher) and higher
  625.  
  626.  LAN Requester:  OS/2 2.11 (or higher)
  627.                  OS/2 LAN Requester 3.0 (CSD7045 or higher) and higher
  628.  
  629.  
  630.  ------------------------------------------------------------------------------
  631.  Description of the standard functions:
  632.  ------------------------------------------------------------------------------
  633.  In this chapter we describe in detail each LSMT procedure.
  634.  
  635.  For each procedure we will show you either a full example ASCII file or
  636.  just an excerpt if the full file would not fit into this documents boundaries.
  637.  (three dots '...' indicate that some columns are not shown in this example)
  638.  
  639.  Where appropriate you will find a table which includes the description of all
  640.  columns which are used within the ASCII files.
  641.  
  642.  ************
  643.   IMPORTANT
  644.  ************
  645.  All the Rexx proceduers are based on the standard OS/2 Lan Server API's.
  646.  Each function of the LSRXUT.DLL is described in a on-line book, 'LSRXUTIL.INF'
  647.  
  648.  Read & use the 'LSRXUTIL.INF' to get all avalaible information about the
  649.  Lan Server API's by executing:
  650.  
  651.     VIEW LSRXUTIL
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  ------------------------------------------------------------------------------
  660.   GETALL
  661.  ------------------------------------------------------------------------------
  662.  Chain all GETxxx programs together in following order:
  663.  
  664.     GETSRVS     : Get all Server(s) definitions
  665.     GETUSERS    :  "   "  Users
  666.     GETGRPS1    :  "   "  Groups
  667.     GETGRPS2    :  "   "  Members of the Groups
  668.     GETALIAS    :  "   "  Alias
  669.     GETACL      :  "   "  Access Control Lists
  670.     GETASSGN    :  "   "  Logon Assignments
  671.     GETAPPL     :  "   "  Public & Private Applications
  672.     GETSEL (*)  :  "   "  Application Selectors
  673.  
  674.  I will create a folder on the Workplace shell 'Lan Server Management Tools'
  675.  with all possible outputs in it.
  676.  
  677.  Once all objects created, you can drag & drop those files to any favorite
  678.  editor or spreadsheet you like.
  679.  
  680.  If needed, you can execute GETPWD to extract all (encoded) passwords from the
  681.  (primary) Domain Controller.
  682.  
  683.  Remark (*): by default the 'GETSEL' is not included in the chain of all
  684.          procedures. If needed, you must edit the GETALL.CMD to enable GETSEL
  685.  
  686.  
  687.  If no parameters entered you will receive following :
  688.  
  689.   ╔═─────────────────────────────────────────────═╗
  690.   │ * LSMT * LSMT * LSMT * LSMT * LSMT * LSMT *   │
  691.   ├───────────────────────────────────────────────┤
  692.   │  Usage  : GETALL /SRV:Servername_of_DC        │
  693.   │                                               │
  694.   │  [/LOG:Log_File] [/PIP:Name_of_the_Pipe] [/M] │
  695.   │                                               │
  696.   │  Sample : GETALL /SRV:BEDCDIE                 │
  697.   ├───────────────────────────────────────────────┤
  698.   │  Get ALL the Domain Controller definitions    │
  699.   ╚═─────────────────────────────────────────────═╝
  700.  
  701.  Once the outputs retrieved from your Domain Controller, a shadow of each
  702.  Data file will be created in the 'OUTPUT' folder into the
  703.  'Lan Server Management Tools' folder. Now you double-click on one of the
  704.  output files or drag it to your favorite editor as we created with the
  705.  name 'T2 Editor' which will open open 'T2.EXE'.
  706.  Of course, this editor can be replaced and used by any other like TEDIT.EXE,
  707.  LPEX, EPM, Lotus 123, IBM Works etc ...
  708.  
  709.  If desired, you can start from the command prompt the assiciated procedure
  710.  to set back some changes to the Domain Controller or try the Drag & Drop
  711.  option to the object 'Set Back to DC'.
  712.  
  713.  Be aware that every modification made by you will 'log' an entry in the
  714.  'LSMT.LOG' file for later analyze and feedback.
  715.  
  716.  
  717.  ------------------------------------------------------------------------------
  718.   GETDOM.CMD
  719.  ------------------------------------------------------------------------------
  720.  Get all information about the servers in a specific domain.
  721.  
  722.  The GETDOM procedure creates an additional Folder with the name of the server
  723.  into the 'All Servers in Domain' folder with objects pointing to the
  724.  'CONFIG.SYS', 'PROTOCOL.INI', 'IBMLAN.INI' etc... of the target server.
  725.  
  726.  Into the same folder, additional Program objects request more information
  727.  from the target server such as System Information, Lan Server Error Logs etc..
  728.  
  729.  Also, an ASCII file in the form of a spreadsheet will be created
  730.  into the 'Output' folder with the Object name 'DOMAIN.CSV'
  731.  
  732.  Sample output:
  733.  --------------
  734.  ;NAME     ;OS2     ;BUILD ;MPTS    ;LSR     ;COMMENT                ;ROLE    ;
  735.  ;DC1      ;XR03005 ;8.234 ;WR08200 ;IP08200 ;Domain Controller 1    ;Primary ;
  736.  ;FS2      ;XR03005 ;8.234 ;WR08200 ;IP08200 ;File Server 2          ;Member  ;
  737.  
  738.  Each line represents a server. You will find the server name at the begin
  739.  of each line.
  740.  
  741.  Following columns are in the ASCII File:
  742.  
  743.  Column Name        Description
  744.  ---------------------------------------------------
  745.  NAME               The Server computer name
  746.  
  747.  OS2                The syslevel from the Server OS/2 Base
  748.  
  749.  BUILD              The buildlevel of the server OS/2 Base
  750.  
  751.  MPTS               The syslevel from the Server MPTS
  752.  
  753.  LSR                The syslevel from Lan Requester & Server
  754.  
  755.  COMMENT            The server comment
  756.  
  757.  ROLE               The role of this server in the domain
  758.                     Possible values : Primary, Backup, Memeber or Standalone
  759.  
  760.  DISC               The auto-disconnect value
  761.  
  762.  ALERTS             The server alerts receiver table.
  763.                     The table can be empty
  764.  
  765.  HIDDEN             The server hidden attribute setting
  766.  
  767.  Restrictions:
  768.  -------------
  769.  In this procedure the column width of each output is not adjustable and
  770.  therefore there is no DOMAIN.INI file provided.
  771.  
  772.  If you need to adjust the Column width, you have to edit/adjust the
  773.  Rexx procedure.
  774.  
  775.  It's obvious that this procedure can be expanded if the need exist to get
  776.  also the syslevel of CM/2, DB/2, TCP/IP etc ...
  777.  
  778.  Just edit the Rexx procedure and make the necessary changes.
  779.  
  780.  
  781.  ------------------------------------------------------------------------------
  782.   GETSRVS.CMD / SETSRVS.CMD
  783.  ------------------------------------------------------------------------------
  784.  
  785.  Get and set all information about the servers in a specific domain.
  786.  
  787.  The GET procedure creates an ASCII file in the form of a spreadsheet like the
  788.  following example:
  789.  
  790.  OPT;NAME    ;COMMENT          ;DISC ;ALERTS;HIDDEN ;ANNDELTA; ...
  791.     ;ITSCSV00;Domain Controller;Auto-;-none-;Visible;3000    ; ...
  792.     ;ITSCSV01;Additional Server;120  ;-none-;Visible;3000    ; ...
  793.  
  794.  Each line represents a server. You will find the server name at the beginning
  795.  of each line. If you do not exclude some columns in the SERVERS.INI, file you
  796.  will find the following columns in the ASCII File:
  797.  
  798.  Column Name        Description
  799.  ---------------------------------------------------
  800.  OPT                to set your options, allowed are
  801.                     A = add  U = update  D = delete
  802.  
  803.  NAME               The server computer name
  804.  
  805.  COMMENT            The server comment
  806.  
  807.  DISC               The auto-disconnect value
  808.  
  809.  ALERTS             The server alerts receiver table.
  810.                     The table can be empty
  811.  
  812.  HIDDEN             The server hidden attribute setting
  813.  
  814.  ANNDELTA           The random announce rate (in milliseconds)
  815.  
  816.  ALERTSCHED         The alert interval for notifying an administrator
  817.                     of a network event
  818.  
  819.  ERRORALERT         The number of entries that can be written to the
  820.                     error log file during a interval before notifying
  821.                     an administrator
  822.  
  823.  LOGONALERT         The number of failed logon attempts to allow a user
  824.                     before notifying an administrator
  825.  
  826.  ACCESSALERT        The number of failed file accesses to allow before
  827.                     issuing an administrative alert
  828.  
  829.  DISKALERT          The number of kilobytes of free disk space, at which, an
  830.                     administrator must be notified that the free space is low
  831.  
  832.  MAXAUDITSZ         Maximum audit file size
  833.  
  834.  VERSION_MAJOR      The major version number (Version)
  835.  
  836.  VERSION_MINOR      The minor version number (Release)
  837.  
  838.  TYPE               The server type. This information is a hexadecimal
  839.                     value and is not interpreted
  840.  
  841.  ANNOUNCE           The network announce delta (in seconds), which determines
  842.                     how often the server will be announced to other computers
  843.                     on the network
  844.  
  845.  ACTIVELOCKS        The number of file locks that can be active
  846.  
  847.  ALIST_MTIME        The last time the access control list was modified
  848.  
  849.  AUDITEDEVENTS      The audit events setting. This value is unformatted
  850.                     and is presented hexadecimal
  851.  
  852.  AUDITING           The auditing setting
  853.  
  854.  AUTOPATH           The server autoprofile location
  855.  
  856.  AUTOPROFILE        The server auto profile setting
  857.  
  858.  CHDEVJOBS          The number of serial device jobs that can be pending
  859.                     on a server
  860.  
  861.  CHDEVS             The number of serial devices that can be shared on
  862.                     the server
  863.  
  864.  CHDEVQ             The number of serial device queues that can coexist
  865.                     on the server
  866.  
  867.  CONNECTIONS        The maximum number of connections to netnames
  868.                     that are allowed
  869.  
  870.  GLIST_MTIME        The last time the group list was modified
  871.  
  872.  GUESTACCT          The guest account name
  873.  
  874.  LANMASK            The order in which the network device drivers
  875.                     are served. The value is uninterpreted
  876.  
  877.  NETIOALERT         The Network I/O error ratio in one tenth of a percent
  878.                     to allow before the administrator is notified
  879.  
  880.  NUMADMIN           The maximum allowed number of administrators
  881.  
  882.  NUMBIGBUF          Number of 64KB server buffers that are provided
  883.  
  884.  NUMFILETASKS       Number of processes that can access the operating
  885.                     system at one time
  886.  
  887.  NUMREQBUF          The number of server buffers that are provided
  888.  
  889.  OPENFILES          The number of files  (file handles to for example
  890.                     files or pipes) that can be opened at once
  891.  
  892.  OPENSEARCH         The number of searches that can be opened at once
  893.  
  894.  ULIST_MTIME        The last time the users list was modified
  895.  
  896.  USERS              The maximum of users on the server
  897.  
  898.  SESSOPENS          The number of files that can be opened in one session
  899.  
  900.  SESSVCS            The maximum number of virtual circuits per client
  901.  
  902.  SESSREQS           The number of simultaneous requests that a client
  903.                     can make on any virtual circuit
  904.  
  905.  SECURITY           The security type of the server
  906.  
  907.  SHARES             The maximum number of netnames a server can accommodate
  908.  
  909.  SIZREQBUF          The size (in bytes) of each server buffer
  910.  
  911.  SRVHEURISTICS      The server heuristics settings
  912.  
  913.  USERPATH           The path name to user directories
  914.  
  915.  Comments:
  916.  ---------
  917.  GETSRVS provide you a customable INI file where you can decide which
  918.  columns you want to see and which not to use.
  919.  
  920.  Restrictions:
  921.  -------------
  922.  In this version of LSMT, only the following information can be set,
  923.  therefore do not change the values in the other columns:
  924.  
  925.  COMMENT, DISC, ALERTS, HIDDEN, ANNDELTA, ALERTSCHED,
  926.  ERRORALERT, LOGONALERT, ACCESSALERT, DISKALERT, NETIOALERT, MAXAUDITSZ.
  927.  
  928.  If you want to reorder or suppress the apearance of some columns,
  929.  use only the SERVERS.INI file.
  930.  
  931.  Do not rename the column names in the INI File.
  932.  
  933.  Note:
  934.  -----
  935.  If you suppress columns which are necessary to set a server,
  936.  you will receive an error message during the SETSRVS.
  937.  
  938.  
  939.  ------------------------------------------------------------------------------
  940.   GETUSERS.CMD / SETUSERS.CMD
  941.  ------------------------------------------------------------------------------
  942.  
  943.  The GET procedure creates an ASCII file in the form of a spreadsheet like the
  944.  following example:
  945.  
  946.  OPT;NAME    ;PASSWORD;PRIV         ;FLAGS;USR_COMMENT    ; ...
  947.     ;GUEST   ;****    ;Guest        ;SN   ;System ID      ; ...
  948.     ;ITSCADMN;****    ;Administrator;S    ;ITSC Admin     ; ...
  949.     ;MATHIEU ;****    ;User         ;S    ;Maurice Mathieu; ...
  950.     ;ALAINADM;****    ;Administrator;S    ;Alain as Admin ; ...
  951.     ;SHIMIZU ;****    ;Administrator;S    ;Toshi Shimizu  ; ...
  952.  
  953.  Each line represents a user.
  954.  You will find the user ID at the beginning of each line.
  955.  If you do not exclude some columns in the USERS.INI, file you will
  956.  find the following columns:
  957.  
  958.  Column Name        Description
  959.  -------------------------------
  960.  OPT                to set your options, allowed are
  961.                     A = add  U = update  D = delete
  962.  
  963.  PASSWORD           The password of this user ID.
  964.                     You may not see the original password of the user,
  965.                     only 4 asterisks to indicate where to change the
  966.                     password if necessary, and what minimum length is
  967.                     required . If you want to set a new password,
  968.                     overtype at least the asterisks with non-blank characters.
  969.  
  970.                     ATTENTION:
  971.                     If you use this file to set a user password be aware
  972.                     of your security guide lines. After usage of this ASCII
  973.                     file as an input for SETUSERS it is recommended to
  974.                     overtype the password values again with asterisks or
  975.                     just delete this ASCII file, so that no files exists
  976.                     on a machine with readable passwords in it.
  977.  
  978.  HOME_DIR           Shows you the position of the user's home directory,
  979.                     if there is one.
  980.  
  981.  MAX_STORAGE        This value is NOT the DASD limit.
  982.                     There only will be an alert sent to the administrator
  983.                     if the amount of data in this directory exceeds the
  984.                     given value. If you want to set DASD limits for this
  985.                     directory, you have to use the NET DASD command
  986.                     or our RXDASD.CMD.
  987.  
  988.  PRIV               The privilege of this user.
  989.  
  990.                     Valid Entry    Description
  991.                     Guest          Guest user
  992.                     User           Normal user
  993.                     Admin          Administrator
  994.  
  995.  USR_COMMENT        The user comment which is used by UPM
  996.                     (user profile management).
  997.  
  998.  COMMENT            The user comment which is used by the command line
  999.                     interface of LAN Server.
  1000.  
  1001.  FULL_NAME          This user comment is not used by LAN Server,
  1002.                     but may be used by LAN aware programs.
  1003.  
  1004.  SCRIPT_PATH        The name of the logon script together with the path
  1005.                     specification relative to the NETLOGON SCRIPT parameter.
  1006.                     This is not PROFILE.CMD.
  1007.                     If you specify a CMD file in this column,
  1008.                     this command file will be executed during logon before
  1009.                     any logon assignments were made and before the
  1010.                     PROFILE.CMD will be executed. By default, this CMD
  1011.                     has to be in the IBMLAN\REPL\IMPORT\SCRIPTS directory
  1012.                     of the server which is processing your logon.
  1013.                     If you want to change the location, you can do this by
  1014.                     editing the IBMLAN.INI of the 'logon' - server:
  1015.  
  1016.                    [netlogon]
  1017.  
  1018.                    SCRIPTS = C:\IBMLAN\REPL\IMPORT\SCRIPTS
  1019.  
  1020.  AUTH_FLAGS         Flag   Description
  1021.                     P      Print operator privilege is enabled.
  1022.                     C      Comm operator privilege is enabled.
  1023.                     S      Server operator privilege is enabled.
  1024.                     A      Accounts operator privilege is enabled.
  1025.  
  1026.  WORKSTATIONS       The workstation restriction for the user
  1027.  
  1028.  LOGON_SERVER       The computer to handle logon requests for this user account
  1029.  
  1030. | *****************
  1031. | IMPORTANT NOTICE:
  1032. | *****************
  1033. | If the Lan Administrator adds or updates some users and specifies the
  1034. | location of the Home Directories away from the Primary Domain Controller
  1035. | (which we recommend), another file 'HOMEACL.CSV' will be created with a list
  1036. | of Access Control Profiles which can be read & executed by the
  1037. | RXACL.CMD procedure or simply by drag & drop back to 'Set Back to the DC'
  1038. | object.
  1039. |
  1040. | This will be reminded during the execution of SETUSERS.CMD if needed.
  1041.  
  1042.  Restrictions:
  1043.  -------------
  1044.  If you want to reorder or suppress the appearance of some columns,
  1045.  use only the USERS.INI file.
  1046.  
  1047.  The workstation restriction cannot be deleted once set because
  1048.  in the actual version of the LSRXUT.DLL the none value will not be
  1049.  recognized.
  1050.  
  1051.  Do not rename the column names in the INI File.
  1052.  
  1053.  Note:
  1054.  -----
  1055.  If you suppress columns which are necessary to set a user, you
  1056.  will receive an error message during SETUSER.
  1057.  
  1058.  
  1059.  ------------------------------------------------------------------------------
  1060.   GETPWD.CMD / SETPWD.CMD
  1061.  ------------------------------------------------------------------------------
  1062.  The GET procedure creates an ASCII file with the following
  1063.  information:
  1064.  
  1065.                    +----- encoded password
  1066.                    !
  1067.   GUEST:AAD3B435B51404EEAAD3B435B51404EE
  1068.   ITSCADMN:B87209C77290AB876726788D823829CC
  1069.   MATHIEU:C7899238765652CD655678BC866789C2
  1070.   MBREWER:C8726773CA662589CA6454A3223C782B
  1071.   OSCAR:987B665277C45782B2544567753A6442
  1072.   SHIMIZU:67655378D7654547E78BCD66889643DC
  1073.  
  1074.  
  1075.  Each line has the form USER ID: PASSWORD.
  1076.  
  1077.  The password of the user ID you will see in this column is encrypted,
  1078.  so you are not able to see the original password.
  1079.  The only conclusion you can make of the values of this column is:
  1080.  if two password entries are identical, then the original passwords are
  1081.  identical.
  1082.  
  1083.  This procedures are not intended to change passwords but to help you migrate
  1084.  passwords from one installation to the other.
  1085.  
  1086.  
  1087.  ATTENTION:
  1088.  ----------
  1089.  As we mentioned above the passwords are encrypted so you should be careful
  1090.  changing the password encryption within this file, it may result in an
  1091.  unpredictable password if you are not using an already seen encryption.
  1092.  Again the original passwords are NOT identical to the encryption but the
  1093.  encryption represent a unique password.
  1094.  
  1095.  Restrictions:
  1096.  -------------
  1097.  To get and set the passwords we are using an external program so that the log
  1098.  file output differs from our standard LSMT.LOG.
  1099.  Therefore, by default, we are not using LSMT.LOG.
  1100.  
  1101.  
  1102.  ------------------------------------------------------------------------------
  1103.   GETGRPS1.CMD & GETGRPS2.CMD / SETGRPS1.CMD & SETGRPS2.CMD
  1104.  ------------------------------------------------------------------------------
  1105.  The GETGRPS1 procedure create an ASCII file with the Group names & comments,
  1106.  like the following examples:
  1107.  
  1108.   OPT;NAME           ;COMMENT                                 ;
  1109.      ;ADMINS         ;                                        ;
  1110.      ;ASSIGNEE       ;Permanent ITSC Members Group            ;
  1111.      ;GUESTS         ;                                        ;
  1112.      ;RESIDENTS      ;Temporary Residents Group               ;
  1113.      ;SERVERS        ;                                        ;
  1114.      ;USERS          ;                                        ;
  1115.      ;WARPSERV       ;Warp Server Residency                   ;
  1116.  
  1117.  The GETGRPS2 procedure create an ASCII file with the Group names & membership,
  1118.  like the following examples:
  1119.  
  1120.   OPT;USERS   ;ADMINS;ASSIGNEE;GUESTS;RESIDENT;SERVERS;USERS;WARPSERV;
  1121.      ;GUEST   ;      ;        ;  X   ;        ;       ;     ;        ;
  1122.      ;ITSCADMN;  X   ;        ;      ;        ;       ;     ;        ;
  1123.      ;ITSCSV00;      ;        ;      ;        ;   X   ;     ;        ;
  1124.      ;ITSCSV01;      ;        ;      ;        ;   X   ;     ;        ;
  1125.      ;MATHIEU ;      ;   X    ;      ;   X    ;       ;     ;        ;
  1126.      ;MBREWER ;      ;   X    ;      ;   X    ;       ;     ;        ;
  1127.      ;OSCAR   ;      ;        ;      ;   X    ;       ;     ;        ;
  1128.      ;SHIMIZU ;  X   ;   X    ;      ;        ;       ;     ;        ;
  1129.  
  1130.  This file gives you the information which users belong to which groups and
  1131.  vice versa.
  1132.  Each line represents a user id and each column a group id.
  1133.  
  1134.  If you look at a line, it consists of a user name at the beginning and for
  1135.  each group this UserID belongs to there will be a 'X' marked in the
  1136.  corresponding group column.
  1137.  
  1138.  Therefore if you read this file horizontally it will provide you with
  1139.  the information in what groups this certain users is a member.
  1140.  But if you read the same file vertically you will find out all users for a
  1141.  certain group.
  1142.  
  1143.  If you want to add a UserID to a group add an 'X' where the corresponding
  1144.  user id row and group id column are crossing.
  1145.  Mark the row with 'U' in the option column and process SETGRPS2.
  1146.  
  1147.  If you want to delete a group membership just overtype an existing 'X'
  1148.  with blank and proceed as above.
  1149.  
  1150.  In respect to these two different CSV files, you have 2 different
  1151.  SET programs:
  1152.  
  1153.  Program          Description
  1154.  ----------------------------
  1155.  SETGRPS1.CMD     Sets the basic information about groups (name and comment).
  1156.  SETGRPS2.CMD     Sets the relationship between users and groups.
  1157.  
  1158.  Restrictions:
  1159.  -------------
  1160.  If you want to reorder or suppress the appearance of some columns in the
  1161.  GROUPS1.CSV, use only the GROUPS.INI file.
  1162.  
  1163.  Do not rename the column names in the INI File.
  1164.  
  1165.  Note:
  1166.  -----
  1167.  If you suppress columns which are necessary to set a group, you will receive
  1168.  an error message during SETGRPS1 or SETGRPS2.
  1169.  
  1170.  
  1171.  ------------------------------------------------------------------------------
  1172.   GETALIAS.CMD / SETALIAS.CMD
  1173.  ------------------------------------------------------------------------------
  1174.  The Get procedure retrieves all alias definitions made in a certain domain.
  1175.  
  1176.  
  1177.                                    +------- used by file aliases only
  1178.                                    |
  1179.   OPT;NAME    ;TYPE   ;SERVER    ;PATH         ;REMARK    ;...;QUEUE  ;...;
  1180.      ;APPL-FLG;Files  ;\\ITSCSV00;F:\SHARED\FLG;Freelance ;...;Unknown;...;
  1181.      ;DISK-CD ;Files  ;\\ITSCSV00;H:\          ;CD-ROM    ;...;Unknown;...;
  1182.      ;DISK-MO ;Files  ;\\ITSCSV00;G:\          ;Magn.Optic;...;Unknown;...;
  1183.      ;DISK-NVL;Files  ;\\ITSCSV00;E:\NOVELL    ;Novell Drv;...;Unknown;...;
  1184.      ;PUBLIC  ;Files  ;\\ITSCSV01;F:\PUBLIC    ;PUBLIC    ;...;Unknown;...;
  1185.      ;WARPSERV;Files  ;\\ITSCSV00;E:\WARPSERV  ;Warp Srv  ;...;Unknown;...;
  1186.  
  1187.   OPT;NAME    ;TYPE   ;SERVER    ;PATH         ;REMARK    ;...;QUEUE  ;...;
  1188.      ;IBM4039 ;Printer;\\ITSCSV01;Unknown      ;IBM 4039  ;...;IBM4039;...;
  1189.      ;IBM4079 ;Printer;\\ITSCSV01;Unknown      ;IBM 4079  ;...;IBM4079;...;
  1190.                                                                  |
  1191.                                used by print aliases only -------+
  1192.  
  1193.  Each line represents an alias:
  1194.  you will find the alias name at the beginning of each line.
  1195.  If you do not exclude some columns in the ALIAS.INI, file you will find the
  1196.  following columns in the ASCII File:
  1197.  
  1198.   Column Name        Description
  1199.   ------------------------------
  1200.   OPT                to set your options, allowed are
  1201.                      A = add  U = update  D = delete
  1202.  
  1203.   NAME               The alias name
  1204.  
  1205.   TYPE               The alias type
  1206.  
  1207.   SERVER             The name of the server where the resource described
  1208.                      by this alias resides.
  1209.                      The name is used with the leading '\\' characters
  1210.  
  1211.   PATH               The path (for files alias only)
  1212.  
  1213.   REMARK             The alias remark
  1214.  
  1215.   LOCATION           The alias location
  1216.  
  1217.   MODE               When the alias is shared
  1218.  
  1219.   MAXUSES            The maximum number of users who can have redirection
  1220.                      to the resource identified by this alias
  1221.  
  1222.   QUEUE              The queue name (for serial or printer alias only)
  1223.  
  1224.   PRIORITY           The serial device priority
  1225.  
  1226.   DEVICE_POOL        The serial device pool
  1227.  
  1228.  Comments:
  1229.  ---------
  1230.  If you use the SET program to delete an alias you will be reminded to check
  1231.  afterwards whether there still exist logon assignments to this deleted alias
  1232.  (see "CHKASSGN.CMD).
  1233.  
  1234.  Restrictions:
  1235.  -------------
  1236.  If you want to reorder or suppress the appearance of some columns, use only
  1237.  the ALIAS.INI file.
  1238.  
  1239.  Do not rename the column names in the INI File.
  1240.  
  1241.  Note:
  1242.  -----
  1243.  If you suppress columns which are necessary to set an alias, you will receive
  1244.  an error message during SETALIAS.
  1245.  
  1246.  
  1247.  ------------------------------------------------------------------------------
  1248.   GETACL.CMD / SETACL.CMD
  1249.  ------------------------------------------------------------------------------
  1250.  The GET procedures retrieves the access control list for all existing aliases
  1251.  and only for these.
  1252.  The information will be stored in an ASCII file in the form of a spreadsheet
  1253.  like the following:
  1254.  
  1255.  
  1256.   OPT;ALIAS   ;AUDIT ;ADMINS;ASSIGNEE;GUESTS  ;RESIDENT;SERVERS;USERS  ;...
  1257.      ;APPL-FLG;-none-;      ;        ;        ;        ;       ;RWCXDAG;...
  1258.      ;DISK-CD ;-none-;      ;        ;        ;        ;       ;  RXG  ;...
  1259.      ;DISK-NVL;      ;      ;        ;        ;        ;       ;       ;...
  1260.      ;PUBLIC  ;-none-;      ;RWCXDAPG;RWCXDAPG;        ;       ;       ;...
  1261.      ;WARPSERV;-none-;      ;        ;        ;        ;       ;       ;...
  1262.      ;IBM4039 ;-none-;  CPG ;  CPG   ;  CPG   ;  CPG   ;       ;  CPG  ;...
  1263.      ;IBM4079 ;-none-;      ;  CPG   ;        ;  CPG   ;       ;       ;...
  1264.  
  1265.  The output is always sorted by group and user ids:
  1266.  
  1267.                           +--- group ids ---+       +--- user ids ---+
  1268.                           |                 |       |                |
  1269.   OPT;ALIAS    ;AUDIT ;ADMINS  ;SERVERS ;LOCAL   ;USERS ;ALAINADM;HERMADM ;
  1270.      ;OS2TOOLS ;-none-;CDRWXPG ;        ;        ;      ;    R   ;  RW
  1271.         |        |      |                                    |       |
  1272.         |   audit for   +------access control profiles for---+-------+
  1273.         |    this ACL          each group and user
  1274.         +----------------------for this alias
  1275.  
  1276.  
  1277.  In this case, except for the first three columns, each column represents a
  1278.  group or user ID, and each row represents an alias. If you read the file line
  1279.  by line, you will get all access control profiles (ACP, the rights a group or
  1280.  user ID has) for an certain alias.
  1281.  The summary of all ACPs gives you the access control list (ACL) of this alias.
  1282.  You will find the name of the alias in the column with the title ALIAS.
  1283.  If you read the file column by column, you will get all ACPs a certain group
  1284.  or user has defined for all aliases in the domain.
  1285.  
  1286.  Column Name        Description
  1287.  ------------------------------
  1288.  OPT                You will see this column in your output, but no values
  1289.                     will be initially set. This column is only used by the
  1290.                     SET programs. The SETACL.CMD allows you to use more
  1291.                     options in the ASCII file than just A, D and U.
  1292.                     If you change or add an ACL of an file alias, you have
  1293.                     the choice to apply this ACL to all subdirectories of
  1294.                     this alias:
  1295.  
  1296.                     Option   Description
  1297.  
  1298.                     A        Add an ACL with the values in this line
  1299.                             (you may also use U).
  1300.                     AA      (Only for file aliases) Same as A(dd),
  1301.                              but the ACL will be applied to all subdirectories.
  1302.                     U        Update an ACL with the values in this line.
  1303.                     UA      (Only for file aliases) Same as U(pdate),
  1304.                              but the ACL will be applied to all subdirectories.
  1305.                     D        DELETE: delete the ACL for this alias.
  1306.  
  1307.  ALIAS              Here, you will find all the alias names you have defined
  1308.                     in your environment.
  1309.                     They appear in following order (each alphabetically sorted):
  1310.  
  1311.                     All file aliases
  1312.                     All print aliases
  1313.                     All serial aliases.
  1314.  
  1315.  AUDIT              Describes what kind of audit is active for this alias
  1316.  
  1317.                     Valid Values  Description
  1318.  
  1319.                     A             All access attempts will be audited.
  1320.                     O             Audit successful file opens.
  1321.                     W             Audit successful file writes and successful
  1322.                                   directory creates.
  1323.                     D             Audit successful file deletes or truncates
  1324.                                   and successful directory deletes.
  1325.                     P             Audit successful file and directory access
  1326.                                   control profile change.
  1327.                     o             Audit failed file opens.
  1328.                     w             Audit failed file writes and failed
  1329.                                  directory creates.
  1330.                     d             Audit failed file deletes or truncates
  1331.                                   and failed directory deletes.
  1332.                     p             Audit failed file and directory access control
  1333.                                   profile change.
  1334.                     N or -none-   No auditing is performed.
  1335.  
  1336.  All other          In each column, you will find the ACP of a certain
  1337.                     group or user id. The columns appear in following order
  1338.                    (each alphabetically sorted):
  1339.  
  1340.                        All groups
  1341.                        All user IDs.
  1342.  
  1343.  
  1344.                 Valid Values  Description
  1345.  
  1346.                     N          None
  1347.                     A          Attribute
  1348.                     R          Read
  1349.                     W          Write
  1350.                     C          Create
  1351.                     X          Execute
  1352.                     D          Delete
  1353.                     P          Permissions
  1354.                     G          This is a group permission.
  1355.                                The G parameter is not required to be specified
  1356.  
  1357.  The access profile for a combination alias/user or alias/group will be deleted
  1358.  if you update the alias line and,
  1359.  
  1360.   - The corresponding ACP entry for the user or group is blank or
  1361.   - The group ID or user ID is not in the list because you deleted it or
  1362.   - The group ID or user ID is not in the list because you
  1363.     used one of the parameters /USER or /GROUP with the GETACL command.
  1364.  
  1365.  Therefore, the access control profile will have exactly the values
  1366.  you set in this line. (WYSIWYG, what you see is what you get.)
  1367.  
  1368.  
  1369.  Comments:
  1370.  ---------
  1371.  Due to the nature of the ASCII file, you do not have any INI file used by the
  1372.  GET program to change the order or suppress the output of certain columns.
  1373.  
  1374.  Anyway, you may delete or change the order of the columns within the ASCII
  1375.  file before you use it as input for the SET program.
  1376.  
  1377.  If you change the column name of a group or user ID column, the program still
  1378.  works as long as it is a valid group or user ID.
  1379.  
  1380.  Attention:
  1381.  ----------
  1382.  If you delete or rearange columns with an ASCII editor and not with a
  1383.  spreadsheet program, such as IBM works, make sure that the column delimiters
  1384.  (;) are also deleted or moved.
  1385.  
  1386.  Restrictions:
  1387.  -------------
  1388.  Do not change, delete, reorder, or rename the first three columns
  1389.  (OPT, ALIAS, AUDIT).
  1390.  
  1391.  
  1392.  ------------------------------------------------------------------------------
  1393.   GETASSGN.CMD / SETASSGN.CMD
  1394.  ------------------------------------------------------------------------------
  1395.  The GET procedure retrieves all logon profiles for all users and all existing
  1396.  aliases.
  1397.  The information will be stored in an ASCII file in the form of a spreadsheet
  1398.  like the following:
  1399.  
  1400.   * Do not delete or change the order of the first 2 Columns
  1401.   OPT;USERID  ;APPL-FLG;DISK-CD;DISK-NVL;PUBLIC;WARPSERV;IBM4039;IBM4079;
  1402.   * Members Of Group: ADMINS
  1403.      ;ITSCADMN;        ;       ;        ;      ;        ;       ;       ;
  1404.      ;SHIMIZU ;   F    ;   L   ;   N    ;  P   ;   S    ; LPT2  ;       ;
  1405.   * Members Of Group: ASSIGNEE
  1406.      ;MATHIEU ;   F    ;       ;        ;  P   ;        ; LPT3  ; LPT4  ;
  1407.      ;MBREWER ;        ;       ;        ;  P   ;        ;       ;       ;
  1408.      ;SHIMIZU ;   F    ;   L   ;        ;  P   ;   S    ; LPT2  ;       ;
  1409.   * Members Of Group: GUESTS
  1410.      ;GUEST   ;        ;       ;        ;  P   ;        ;       ;       ;
  1411.   * Members Of Group: RESIDENTS
  1412.      ;MATHIEU ;   F    ;       ;        ;  P   ;        ; LPT3  ;       ;
  1413.      ;MBREWER ;        ;       ;        ;  P   ;        ;       ;       ;
  1414.      ;OSCAR   ;   F    ;       ;        ;  P   ;   S    ;       ; LPT2  ;
  1415.  
  1416.  The output is sorted by File, Print and Serial aliases:
  1417.  
  1418.                            File                  Printer    Serial
  1419.                            Alias                  Alias     Alias
  1420.                  +----------------------+       +------+      |
  1421.                  |                      |       |      |      |
  1422.  
  1423.   OPT;USERID  ;WARPAPPL;DOSAPL;WINAPL;PUBLIC;IBM4039;OPTRA;MODEM;
  1424.      ;ODIER   ;    V   ;      ;      ;  P   ; LPT1  ;     ;COM4 ;
  1425.      ;PAULI   ;    W   ;      ;      ;  P   ;       ;LPT3 ;     ;
  1426.      ;RYKAERT ;    W   ;      ;      ;  P   ; LPT3  ;     ;     ;
  1427.      ;SHIMIZU ;    W   ;      ;      ;  P   ;       ;     ;     ;
  1428.      ;TESTINI ;        ;  X   ;   Y  ;  P   ; LPT1  ;     ;     ;
  1429.      ;VERNON  ;    W   ;      ;      ;  P   ;       ;     ;COM3 ;
  1430.  
  1431.          |         |                    |                    |
  1432.          |         +-------------logon profile---------------+
  1433.          +-----------------------for this user
  1434.  
  1435.  Type of Alias  Valid Values
  1436.  ----------------------------
  1437.  File           All valid drive letters for logon assignments (without colon)
  1438.  Print          All valid ports for parallel logon assignments (without colon)
  1439.  Serial         All valid ports for serial logon assignments (without colon)
  1440.  
  1441.  Attention:
  1442.  ----------
  1443.  The logon profile for a combination user/alias will be deleted if you update
  1444.  the user line and,
  1445.  
  1446.    - The corresponding logon assignment entry is blank or
  1447.    - The user ID is not in the list because you deleted it
  1448.  
  1449.  Therefore, the logon profile will have exactly the values you set in this line.
  1450.  
  1451.   * List of all logon assignments ,allowed Options u=update d=delete
  1452.   OPT;USERID  ;REXX;WARPAPPL;DOSAPL;WINAPL;PUBLIC;IBM4039;OPTRA;MODEM;
  1453.      ;ODIER   ;    ;    V   ;      ;      ;  P   ; LPT1  ;     ;COM4 ;
  1454.      ;PAULI   ; R  ;    W   ;      ;      ;  P   ;       ;LPT3 ;     ;
  1455.      ;RYKAERT ; R  ;    W   ;  X   ;      ;  P   ; LPT3  ;     ;     ;
  1456.      ;SHIMIZU ;    ;    W   ;      ;      ;  P   ;       ;     ;     ;
  1457.      ;TESTINI ;    ;        ;  X   ;   Y  ;  P   ; LPT1  ;     ;     ;
  1458.      ;VERNON  ;    ;    W   ;      ;      ;  P   ;       ;     ;COM3 ;
  1459.  
  1460.  If you delete column DOSAPL in the ASSGN.CSV file and you use this file as
  1461.  input for SETASSGN, the following will be processed, besides others:
  1462.    - The Logon Assignment X of user ID TESTINI for DOSAPL will be
  1463.      deleted.
  1464.    - The Logon Assignment X of user ID RYKAERT will not be deleted because only
  1465.      the ID 'TESTINI' was marked with U for update.
  1466.      Only lines with an valid option will be processed.
  1467.  
  1468.  
  1469.  Comments:
  1470.  ---------
  1471.  Due to the nature of the ASCII file (see :The ASCII Files), you do not have
  1472.  any INI file used by the GET program to change the order or suppress the
  1473.  output of certain columns.
  1474.  
  1475.  Anyway, you may delete or change the order of the columns within the ASCII
  1476.  file before you use it as input for the SET program.
  1477.  
  1478.  If you change the column name of a group or user ID column, the program still
  1479.  works as long as it is a valid alias name.
  1480.  
  1481.  Attention:
  1482.  ----------
  1483.  If you delete or rearrange columns with an ASCII editor and not with a
  1484.  spreadsheet program, such as IBM Works, make sure that the column delimiters
  1485.  (;) are also deleted or moved.
  1486.  
  1487.  Restrictions:
  1488.  -------------
  1489.  Do not change, delete, reorder, or rename the first two columns (OPT, USERID).
  1490.  
  1491.  
  1492.  ------------------------------------------------------------------------------
  1493.   GETAPPL.CMD / SETAPPL.CMD
  1494.  ------------------------------------------------------------------------------
  1495.  The Get procedure retrieves all public applications definitions made in a
  1496.  certain domain.
  1497.  The information will be stored in an ASCII file in the form of a spreadsheet
  1498.  like the following:
  1499.  
  1500.   OPT;NAME    ;REMARK      ;COMMAND   ;COMMAND_PARMS        ; ...
  1501.      ;CUADRAW ;Drawing     ;CUADRAW   ;                     ; ...
  1502.      ;FREELANC;Freelance   ;FLG.EXE   ;                     ; ...
  1503.      ;LANMSG  ;DLR Messg.  ;DMPC      ;%XSLCNF% CMM_MAIN.EXE; ...
  1504.      ;P2P     ;Person 2 Per;P2PLAN.CMD;                     ; ...
  1505.      ;PMCAMERA;Screen Capt.;PMCAM200  ;                     ; ...
  1506.      ;VIRSCAN ;Virus Scan  ;DISKG     ;                     ; ...
  1507.  
  1508.  Each line represents an public application, you will find the publication
  1509.  name at the beginning of each line. If you do not exclude some columns in
  1510.  the APPL.INI, file you will find the following columns in the ASCII File:
  1511.  
  1512.  Column Name        Description
  1513.  ------------------------------
  1514.  OPT                to set your options, allowed are
  1515.                     A = add  U = update  D = delete
  1516.  
  1517.  NAME               The application name
  1518.  
  1519.  REMARK             The application remark
  1520.  
  1521.  COMMAND            The command that starts the application
  1522.  
  1523.  COMMAND_PARMS      The application start parameters
  1524.  
  1525.  APP_ALIAS_OR_DRV   The alias or drive where the application resides.
  1526.                     It specifies a drive letter, followed by a colon (:),
  1527.                     if the application resides on the user's local machine
  1528.                     or it specifies an existing alias if the application
  1529.                     resides on a server
  1530.  
  1531.  APP_PATH_TO_DIR    The remaining path to the application
  1532.  
  1533.  WRKDIR_DRIVE       Specifies the drive that the working directory is to be
  1534.                     assigned to when the application is started.
  1535.                     A value of * indicates that the system should choose
  1536.                     a drive when the application is started
  1537.  
  1538.  APP_DRIVE          Applies to DOS public applications only.
  1539.                     It is used to specify the drive that is current when
  1540.                     the application runs. A value of * indicates that
  1541.                     the system should choose a drive letters
  1542.  
  1543.  WRKDIR_ALIAS_OR_DRV Specifies the directory that is made current when the
  1544.                     application runs. If the working directory is on the
  1545.                     local machine, it specifies the drive, where the
  1546.                     directory is located. If the working directory is remote,
  1547.                     it specifies an existing alias where the directory is
  1548.                     located
  1549.  
  1550.  WRKDIR_PATH_TO_DIR The remaining path to the working directory
  1551.  
  1552.  PROMPT             Prompt for parameters
  1553.  
  1554.  INTERFACE          The interface type
  1555.  
  1556.  APPTYPE            The application type
  1557.  
  1558.  RES_COUNT          The number of application resource list that follows.
  1559.                     A value of zero indicates that the application does not
  1560.                     require any redirected devices when it runs
  1561.  
  1562.  Restrictions:
  1563.  -------------
  1564.  If you want to reorder or suppress the appearance of some columns, use only
  1565.  the APPL.INI file.
  1566.  
  1567.  Do not rename the column names in the INI File.
  1568.  
  1569.  Note:
  1570.  -----
  1571.  If you suppress columns which are necessary to set an application, you will
  1572.  receive an error message during SETAPPL.
  1573.  
  1574.  
  1575.  ------------------------------------------------------------------------------
  1576.   GETSEL.CMD & SETSEL.CMD
  1577.  ------------------------------------------------------------------------------
  1578.  The GETSEL procedure create an ASCII file with the Applications & selectors
  1579.  like the following examples:
  1580.  
  1581.   OPT;USERS   ;L123;EXCEL;PMDRAW;OFFICE;
  1582.      ;RYKAERT ;    ;     ;  X   ;   X  ;
  1583.      ;OSCAR   ; X  ;  X  ;      ;   X  ;
  1584.      ;SHIMIZU ;    ;     ;  X   ;      ;
  1585.  
  1586.  This file gives you the information which users belong to which an application
  1587.  is selected.
  1588.  Each line represents a user id and each column an application id.
  1589.  
  1590.  If you look at a line, it consists of a user name at the beginning and for
  1591.  each application this UserID belongs to there will be a 'X' marked in the
  1592.  corresponding application column.
  1593.  
  1594.  Therefore if you read this file horizontally it will provide you with
  1595.  the information in what kind of application a user will see in his/her
  1596.  'Networkc Application' folder.
  1597.  
  1598.  If you want to add a UserID to an application, add an 'X' where the
  1599.  corresponding user id row and application id column are crossing.
  1600.  Mark the row with 'U' in the option column and process SETSEL.
  1601.  
  1602.  If you want to delete an application selection just overtype an existing 'X'
  1603.  with blank and proceed as above.
  1604.  
  1605.  The default input/output file is 'SELECTOR.CSV'
  1606.  
  1607.  
  1608.  
  1609. -------------------------------------------------------------------------------
  1610.  Description Of Additional Tools
  1611.  ------------------------------------------------------------------------------
  1612.   RXACL.CMD
  1613.  ------------------------------------------------------------------------------
  1614.  If you use the /Get parameter this procedure retrieves all access control
  1615.  lists defined on a certain server.
  1616.  To get all directory ACLs you have to set the /DIR parameter.
  1617.  To get all file related ACLs you have to set the /FILE parameter.
  1618.  The information will be stored in an ASCII file in the form of a
  1619.  spreadsheet like the following:
  1620.  
  1621.    ;\\ITSCSV01\C$\IBMLAN\DOSLAN\DOS;GUESTS;RG
  1622.    ;\\ITSCSV01\C$\IBMLAN\DOSLAN\DOS;USERS;RG
  1623.    ;\\ITSCSV01\C$\IBMLAN\DOSLAN\NET;GUESTS;RG
  1624.    ;\\ITSCSV01\C$\IBMLAN\DOSLAN\NET;USERS;RG
  1625.    ;\\ITSCSV01\C$\IBMLAN\REPL\IMPORT\SCRIPTS;ADMINS;RXG
  1626.    ;\\ITSCSV01\C$\IBMLAN\REPL\IMPORT\SCRIPTS;USERS;RXG
  1627.    ;\\ITSCSV01\C$\SPOOL\IBM4019X;ASSIGNEE;CPG
  1628.  
  1629.  
  1630.  Every line in this file represents an access control list:
  1631.  The empty space at the beginning gives you the ability to place an option
  1632.  like A = add, U = update or D = delete.
  1633.  
  1634.  The next entry is the full path of the resource where the ACL is defined on
  1635.  using the universal name convention (UNC).
  1636.  After that follows a combination of a ID (group ids and UserID ids) and
  1637.  the grants which are given to that particular id.
  1638.  Again the value G represents the grant to a group id and needs not to be
  1639.  specified.
  1640.  
  1641.  Restrictions:
  1642.  -------------
  1643.  This procedure does not provide a header information within the ASCII files.
  1644.  
  1645.  
  1646.  ------------------------------------------------------------------------------
  1647.   RXDASD.CMD
  1648.  ------------------------------------------------------------------------------
  1649.  Description:
  1650.  ------------
  1651.  The procedure retrieves (/GET) or sets (/SET) all DASD limit information
  1652.  defined on a certain server.
  1653.  The information will be stored in an ASCII file in the form of a spreadsheet
  1654.  like the following:
  1655.  
  1656.   OPT;RESOURCE_NAME       ;MAX     ;USE     ;THRESH;DELTA;
  1657.      ;F:\alain            ;100000  ;3       ;50    ;3    ;
  1658.      ;F:\hermann          ;200000  ;1860    ;60    ;4    ;
  1659.      ;F:\hermann2         ;400000  ;3       ;80    ;6    ;
  1660.  
  1661.  Each line represents a DASD limit resource.
  1662.  If you do not exclude some columns in the DASD.INI file, you will
  1663.  find following special columns in the ASCII file:
  1664.  
  1665.  Column Name        Description
  1666.  ------------------------------
  1667.  OPT                to set your options, allowed are
  1668.                     A = Add U = Update D = Delete
  1669.  
  1670.  RESOURCE_NAME      A string containing the directory path. The string
  1671.                     must be the directory path, beginning with the drive
  1672.                     letter and only ending with a backslashe when a root
  1673.                     directory is specified.
  1674.  
  1675.  MAX                The amount of disk space allotted to this directory
  1676.                     by directory limits.
  1677.                     Specified in KB, this field can be set from 1 to 67108863.
  1678.                     Note, however, that subsequent access to the directory
  1679.                     specified is functionally limited to the smaller of the
  1680.                     following:
  1681.                        - Any directory limits restrictions on any parent
  1682.                          directory
  1683.                        - The total free space on the drive
  1684.  
  1685.  USE                The amount (in KB) of disk space already occupied within the
  1686.                     specified directory resource.
  1687.                     This value cannot be set; it is only retrievable.
  1688.  
  1689.  THRESH             The initial alert threshold as a percentage of the total
  1690.                     directory limit space allotted, with values ranging
  1691.                     from 0 to 99.
  1692.                     Zero specifies that no threshold alert is to be generated,
  1693.                     and 99 specifies that an alert is generated when 99 percent
  1694.                     of the allotted directory limit for this directory has
  1695.                     been reached. Note that a minimum of 1 KB of disk space
  1696.                     must be allotted to a threshold; the value obtained by
  1697.                     multiplying the THRESH decimal-point value (where
  1698.                     5 percent is equal to 0.05) by MAX must be at least 1 KB.
  1699.  
  1700.                     This threshold setting generates only one alert when this
  1701.                     boundary is crossed. Subsequent alerts (generated
  1702.                     incrementally after this threshold has been reached
  1703.                     but before the entire limit is reached) are specified
  1704.                     according to the Delta parameter.
  1705.  
  1706.  DELTA              The increment in which alerts are to be generated after the
  1707.                     THRESH threshold has been crossed but before all of the
  1708.                     allotted disk space has been used. This parameter also
  1709.                     is specified as a percentage of the total allotted
  1710.                     directory limit space and can range from 0 upward,
  1711.                     as long as its value is less than 99 - THRESH.
  1712.                     Note that a minimum of 1 KB of disk space must be allotted
  1713.                     to an increment, the value obtained by multiplying the DELTA
  1714.                     decimal-point value (where 5 percent is equal to 0.05) by
  1715.                     MAX must be at least 1 KB.
  1716.  
  1717.  Comments:
  1718.  ---------
  1719.  If you plan to manage limits for directories on the server, you must order and
  1720.  install the appropriate OS/2 FIXPAKS.
  1721.  
  1722.  These are:
  1723.              OS/2* 2.10           PJ10428
  1724.              OS/2* 2.11           PJ13619
  1725.              OS/2* Version 3.0    No FIXPAK required for DASD Limits.
  1726.  
  1727.  Restrictions:
  1728.  -------------
  1729.  If you want to reorder or suppress the appearance of some columns,
  1730.  use only the DASD.INI file.
  1731.  
  1732.  Do not rename the column names in the INI File.
  1733.  
  1734.  Note:
  1735.  -----
  1736.  If you suppress columns which are necessary to set a DASD limit you will
  1737.  receive an error message during the RXDASD /SET.
  1738.  
  1739.  
  1740.  ------------------------------------------------------------------------------
  1741.   RXNET.CMD
  1742.  ------------------------------------------------------------------------------
  1743.  
  1744.  Description:
  1745.  ------------
  1746.  This program as some functions like the original NET.EXE and demonstrates
  1747.  how you can write REXX programs without using the NET.EXE commands and get
  1748.  similar or even better results with faster performance.
  1749.  
  1750.  Just type RXNET to get a description of the implemented parameters:
  1751.  
  1752.  Parameter   Function
  1753.  --------------------
  1754.  ALIAS
  1755.  FILE        gives you information about locked files
  1756.  GROUPS      similar to NET GROUPS
  1757.  SESSION     similar to NET Session
  1758.  SHARE       similar to NET SHARE
  1759.  START       gives you information about all started services
  1760.  USER        similar to NET USER
  1761.  
  1762.  Restrictions:
  1763.  -------------
  1764.  This program allows only browsing data.
  1765.  
  1766.  ------------------------------------------------------------------------------
  1767.   CHKASSGN.CMD
  1768.  ------------------------------------------------------------------------------
  1769.  It may happen that certain logon assignments exist even if the corresponding
  1770.  alias does not.
  1771.  To address this kind of problem, CHKASSGN checks all your assignments for this
  1772.  inconsistency and deletes it if you want to.
  1773.  
  1774.  Comments:
  1775.  ---------
  1776.  By default, it only checks for inconsistency.
  1777.  To delete them, you have to provide the /D parameter.
  1778.  
  1779.  
  1780.  ------------------------------------------------------------------------------
  1781.   Backup/Restore Of Your Domain Definitions
  1782.  ------------------------------------------------------------------------------
  1783.  
  1784.  To perform a complete backup of your domain definitions you may use LSMT.
  1785.  To backup the definitions it does not matter in which order you execute the
  1786.  programs.
  1787.  But the order does matter if you want to restore the information to a new or
  1788.  migrated server installation.
  1789.  
  1790.  You should proceed in following order:
  1791.  
  1792.   Call           To
  1793.  ---------------------------------------------
  1794.   SETSRVS.CMD    set the server characteristics
  1795.   SETUSERS.CMD   define all users (with initial passwords set)
  1796.   SETPWD.CMD     change initial passwords to the old passwords
  1797.   SETGRPS1.CMD   define all groups
  1798.   SETGRPS2.CMD   assign users to groups
  1799.   SETALIAS.CMD   define aliases
  1800.   SETAPPL.CMD    define public applications
  1801. | SETSEL.CMD     define applications selector
  1802.   SETACL.CMD     define access control lists for all aliases (with or without
  1803.                  apply)
  1804.   SETASSGN.CMD   set the logon assignments
  1805.   RXACL.CMD      set additional ACLs for each server
  1806.   RXDASD.CMD     set DASD limits for each server
  1807.  
  1808.  
  1809.  ------------------------------------------------------------------------------
  1810.   How to start the programs
  1811.  ------------------------------------------------------------------------------
  1812.  In this section we will describe how to start the LSMT programs and what
  1813.  parameters you may use.
  1814.  
  1815.  ----------------------------------------------------------------
  1816.   Common Start Parameters
  1817.  ----------------------------------------------------------------
  1818.  
  1819.  All programs are using a common set of parameters and some additional private
  1820.  parameters.
  1821.  In this section, we will describe only the commonly used parameters.
  1822.  Private parameters will be covered in the detailed description of each
  1823.  program.
  1824.  
  1825.  /SRV:Servername_of_DC
  1826.       You must provide the Computername of the primary domain controller
  1827.       of that domain where you want to retrieve information or apply changes.
  1828.       Example:
  1829.  
  1830.        GETUSER /SRV:REXXSRV
  1831.  
  1832.       where REXXSRV = name of the primary domain controller
  1833.  
  1834.  /OUT:Output_File
  1835.       This parameter is only used by the GET programs.
  1836.       Here, you can specify the name of the ASCII file which receives the
  1837.       retrieved information.
  1838.       Example:
  1839.  
  1840.        GETUSER /SRV:REXXSRV /OUT:d:\outfile.csv
  1841.  
  1842.  /INP:Input_File
  1843.       This parameter is only used by the SET programs .
  1844.       Here, you can specify the name of the ASCII file which contains the
  1845.       setting information.
  1846.       Example:
  1847.  
  1848.        GETUSER /SRV:REXXSRV /INP:d:\infile.csv
  1849.  
  1850.  /T
  1851.       Trace option.
  1852.       Set this option to see a more specific output.
  1853.  
  1854.  /M
  1855.       Mute option.
  1856.       This option is used to see a less specific output.
  1857.  
  1858.  /LOG:Log_File
  1859.       Specify another filename to log all information.
  1860.       Example:
  1861.  
  1862.        GETUSER /SRV:REXXSRV /LOG:d:\myfile.log
  1863.  
  1864.  /PIP:Name_of_the_Pipe
  1865.       If you use this parameter, you have to provide the name of a named pipe
  1866.       to which logging information is sent to.
  1867.       This named pipe may reside on the same workstation or on any other OS/2
  1868.       workstation within your LAN which has OS/2 LAN requester and peer
  1869.       services installed.
  1870.       Example:
  1871.  
  1872.        GETUSER /SRV:REXXSRV /PIP:\\PWS71251\PIPE\RXPIPE
  1873.  
  1874.       where PWS71251 is the NetBIOS name of the PC where the
  1875.       named pipe is originated and RXPIPE is the name of the pipe.
  1876.       The basic principles of pipes will be discussed in the section Pipes.
  1877.  
  1878.  If the programs are missing parameters or do not understand the one you
  1879.  provided, they will show you a help panel like following:
  1880.  
  1881.  Example:
  1882.  
  1883.      +-----------------------------------------------+
  1884.      |  Usage : SETUSERS /SRV:Servername_of_DC       |
  1885.      |                                               |
  1886.      |      [/INP:Input_File] [/T] [/M]              |
  1887.      |      [/LOG:Log_File] [/PIP:Name_of_the_Pipe]  |
  1888.      +-----------------------------------------------+
  1889.  
  1890.  
  1891.  ------------------------------------------------------------------------------
  1892.   Using the Drag & Drop on the OS/2 Warp WorkPlaceShell
  1893.  ------------------------------------------------------------------------------
  1894.   After creating all necessary objects on the OS/2 Warp WorkPlaceShell using
  1895.   the 'INSTALL' procedure, the Admin will be able to extract the data
  1896.   from the (Primary) Domain Controller (PR-DC) and read & interpret them
  1897.   by double click on it or using his navorit Editor, Text processor or
  1898.   Spreadsheet, just by dragging and dropping it on the original object of
  1899.   his/her application.
  1900.  
  1901.   For example, if you drag & drop the 'USERS.CSV' on the object '<T2> Editor',
  1902.   it will open automaticaly the editor 'T2.EXE', which has the same
  1903.   basefunctions as 'TEDIT.EXE' known after a regular Warp installation.
  1904.  
  1905.   After reviewing, updating, deleting or changing the data, import the data
  1906.   back to the PR-DC either by excecuting it on the command prompt,
  1907.   for example 'SETUSERS /SRV:DC_NAME' or just by Drag & Drop it on the
  1908.   '<Set> to DC' object.
  1909.  
  1910.   After answering the ComputerName of the PR-DC, a quick check will be done
  1911.   to assure that ComputerName is a valid PR-DC.
  1912.  
  1913.   If during the 'SETUSERS' a homedirectory has been specified on another
  1914.   machine then the PR-DC a warning message will remind the Admin to take
  1915.   futher action by dragging & dropping a temporary created file 'HOMEACL.CSV'
  1916.   back on the '<Set> to DC' object.
  1917.  
  1918.   A new updated file can be request by Drag & Drop one of the 'Output' files
  1919.   on the '<Get> to DC' object.
  1920.  
  1921.   By double clicking on '<Get> All definitions', you request all possible
  1922.   domain controllers data at once, except for 'SELECTOR.CSV' and 'USERS.PWD'.
  1923.  
  1924.   If you double click on the 'LSMT.LOG', more information will be
  1925.   shown about errors, information and warnings during one of the LSMT
  1926.   procedures as explained in the 'The LOG File' chapter above in this manual.
  1927.  
  1928.  
  1929.  ------------------------------------------------------------------------------
  1930.   Using LSMT to clone a user
  1931.  ------------------------------------------------------------------------------
  1932.   In this topic we would like to show how to clone a user from an already
  1933.   well defined user:
  1934.  
  1935.    - the 'template' user name is 'Jan Hammer'
  1936.    - the new user name to be cloned is 'Anne Jones' with a password 'BARBIE'
  1937.    - the name of the Primary Domain Controller is '\\DC1'
  1938.    - Jan starts a 'HELLO' script file while loging on
  1939.    - Jan is member of a group 'HOME'
  1940.    - Jan has a homedirectory driveletter 'Z:' from a server '\\FS2\D$\HOMEDIR\JAN'
  1941.    - Jan has logon assignments 'H:' to an alias 'HOMEAPPL'
  1942.    - Jan got an application selected to 'HOMEWORK'
  1943.  
  1944.   1. Command line driven:
  1945.   -----------------------
  1946.    (1) add Anne as a new user:
  1947.  
  1948.      NET ADMIN \\DC1 /C NET USER ANNE BARBIE /USERCOMMENT:"ANNE_JONES"
  1949.          /HOMEDIR:Z:\FS2\D$\HOMEDIR\ANNE /SCRIPT:HELLO /ASSIGN H:HOMEAPPL /ADD
  1950.  
  1951.      Remark 1: use an underscore '_' character in the usercomment option,
  1952.               (if you want to specify a blank use the '[ALT 255]' trick)
  1953.             2: the '/ASSIGN' is not supported on Lan Server 3.0
  1954.  
  1955.    (2) make a directory on the server where resides Anne's Home directory
  1956.  
  1957.      MD \\FS2\D$\HOMEDIR\ANNE
  1958.  
  1959.    (3) add Access Control Profiles to the Anne's Home directory
  1960.  
  1961.      NET ADMIN \\FS2 /C NET ACCESS D:\HOMEDIR\ANNE USERS:N ANNE:RWCXDAP /ADD
  1962.  
  1963.      Remark: if you get an error NET2221, try the operation later
  1964.              due to the latency of the Netlogon replicating
  1965.  
  1966.    (4) add Anne to the group 'HOME':
  1967.  
  1968.      NET ADMIN \\DC1 /C NET GROUP HOME ANNE /ADD
  1969.  
  1970.    (5) select the 'HOMEWORK' application to Anne
  1971.  
  1972.      NET ADMIN \\DC1 /C NET USER ANNE /ASSIGN PUBLIC:HOMEWORKS
  1973.  
  1974.      Remark: the '/ASSIGN' option is not supported on Lan Server 3.0
  1975.  
  1976.   2. Using LSMT:
  1977.   --------------
  1978.    (1) get all users
  1979.  
  1980.        GETUSERS /SRV:DC1 /M
  1981.  
  1982.    (2) get all groups and they members
  1983.  
  1984.        GETGRPS2 /SRV:DC1 /M
  1985.  
  1986.    (3) get all logonassignments
  1987.  
  1988.        GETASSGN /SRV:DC1 /M /GROUP
  1989.  
  1990.    (4) get all application selectors
  1991.  
  1992.        GETSEL /SRV:DC1 /M
  1993.  
  1994.    (5) edit 'USERS.CSV' and look at bitmap 'USERS.BMP'
  1995.  
  1996.        Take the whole line with Jan's definitions and copy it to next line.
  1997.        Overwrite 'JAN' to 'ANNE', '****' to Anne's password etc...
  1998.        Put an 'A' in the 'OPT' column
  1999.  
  2000.    (6) edit 'GROUPS2.CSV' and look at bitmap 'GROUPS2.BMP'
  2001.  
  2002.        Put an 'A' in the 'OPT' and a 'X' in the 'HOME' column
  2003.  
  2004.    (7) edit 'ASSGN.CSV' and look at bitmap 'ASSGN.BMP'
  2005.  
  2006.        Put an 'A' in the 'OPT' and a 'H' in the 'HOMEAPPL' column
  2007.  
  2008.    (8) edit 'SELECTOR.CSV' and look at bitmap 'SELECTOR.BMP'
  2009.  
  2010.        Put an 'A' in the 'OPT' and a 'X' in the 'HOMEWORKS' column
  2011.  
  2012.    (9) set Anne into the User Database
  2013.  
  2014.        SETUSERS /SRV:DC1 /M
  2015.  
  2016.    (10) set the Access Control Profiles for the Anne's Home directory
  2017.  
  2018.        RXACL /SRV:DC1 /SET /INP:HOMEACL.CSV
  2019.  
  2020.    (11) set Anne into the Groups-Member Database
  2021.  
  2022.        SETGRPS2 /SRV:DC1 /M
  2023.  
  2024.    (12) Give Anne her Logon Assignments
  2025.  
  2026.        SETASSGN /SRV:DC1 /M
  2027.  
  2028.    (13) Select Anne's applications
  2029.  
  2030.        SETSEL /SRV:DC1 /M
  2031.  
  2032.    (14) Look at the 'LSMT.LOG' for audit, warnings or possible errors
  2033.  
  2034.        Look at bitmap 'LSMTLOG.BMP'
  2035.  
  2036.   3. Which API's were used ?
  2037.   --------------------------
  2038.    (1) get all users
  2039.  
  2040.        NetEnumerate(NETUSER, 'USERID', '\\'SRVNAME)
  2041.        NetGetInfo(NETUSER, 'USERINFO', '\\'SRVNAME, USERID)
  2042.  
  2043.    (2) get all groups and they members
  2044.  
  2045.        NetEnumerate(NETGROUP, 'GROUPS', '\\'SRVNAME)
  2046.        NetGetInfo(NETAPP, 'MEMBER', '\\'SRVNAME, USERID)
  2047.  
  2048.    (3) get all logonassignments
  2049.  
  2050.        NetEnumerate(NETGROUP, 'GroupInfo', '\\'SRVNAME)
  2051.        NetGetInfo(NETGROUPUSERS, 'USERID', '\\'SRVNAME, GroupInfo.i)
  2052.        NetEnumerate(NETALIAS, 'ALIASFiles' , '\\'SRVNAME,1)
  2053.        NetEnumerate(NETALIAS, 'ALIASPrint' , '\\'SRVNAME,2)
  2054.        NetEnumerate(NETALIAS, 'ALIASSerial', '\\'SRVNAME,4)
  2055.        NetGetInfo(NETLOGONASN, 'LASSINFO', '\\'SRVNAME, USERID)
  2056.  
  2057.    (4) get all application selectors
  2058.  
  2059.        NetEnumerate(NETAPP, 'APPLNAME', '\\'SRVNAME)
  2060.        NetEnumerate(NETUSER, 'USERS', '\\'SRVNAME)
  2061.        NetGetInfo(NETAPPSEL, 'ApplSelInfo', '\\'SRVNAME, USERID)
  2062.  
  2063.    (9) set Anne into the User Database
  2064.  
  2065.        NetAdd(NETUSER2, 'USERINFO', '\\'SRVNAME)
  2066.        NetGetInfo(NETGROUP, 'ServerModalInfo', '\\'NewServerName)
  2067.        NetGetInfo(NETACCESS, 'Access', '\\'NewServerName, LocalDrive)
  2068.        NetGetInfo(NETUSER, 'UserInfo', '\\'NewServerName, UserInfo.Name)
  2069.  
  2070.    (10) set the Access Control Profiles for the Anne's Home directory
  2071.  
  2072.        NetAdd(NETACCESS, 'ACL', '\\'SRVNAME, HOMEDIR)
  2073.  
  2074.    (11) set Anne into the Groups-Member Database
  2075.  
  2076.       NetGetInfo(NETAPP, 'USERGROUPS', '\\'SRVNAME, USERID)
  2077.       NetAdd(NETGROUPSUSERS, '\\'SRVNAME, GROUP, USERID)
  2078.       NetDelete(NETGROUPSUSERS, '\\'SRVNAME, GROUP, USERID)
  2079.  
  2080.    (12) Give Anne her Logon Assignments
  2081.  
  2082.       NetGetInfo(NETLOGONASN, 'OldAssgn', '\\'SRVNAME, UserID)
  2083.       NetDelete(NETLOGONASN, '\\'SRVNAME, UserID)
  2084.       NetAdd(NETLOGONASN, '\\'SRVNAME, AliasName, Assign.i.device,,UserID)
  2085.  
  2086.    (13) Select Anne's applications
  2087.  
  2088.       NetGetInfo(NETAPP, 'ApplInfo', '\\'SRVNAME, APPL)
  2089.       NetGetInfo(NETAPPSEL, 'ApplSelInfo', '\\'SRVNAME, USERID)
  2090.       NetAdd(NETAPPSEL, '\\'SRVNAME, APPL, USERID, ApplInfo.AppType)
  2091.       NetDelete(NETAPPSEL, '\\'SRVNAME, USERID, APPL)
  2092.  
  2093.