home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / lsmt213c.zip / sethome.cmd < prev    next >
OS/2 REXX Batch file  |  1998-05-04  |  4KB  |  115 lines

  1. /*---------------------------------------------------------------------------*\
  2. |  Set HomeDir Access Control Profiles created after 'SETUSERS.CMD'           |
  3. |                                             (C) Alain Rykaert - MAY96-MAY98 |
  4. \*---------------------------------------------------------------------------*/
  5.     Version = '1.03'
  6.     Say '* SetHome Version:' Version
  7.  
  8.     Parse Arg Option
  9.  
  10.     Call Init                    /* Initialisation of DLL's and other stuff*/
  11.     Call ChkOpt                                            /* Check Options*/
  12.  
  13.     Call ChkFile 'Popup.Exe'               /* Check for Message Box program*/
  14.     Call ChkFile InputFile                      /* Check if this file exist*/
  15.  
  16.     Call Chk4Users InputFile/* Check if the defined User exists on a server*/
  17.                                               /* if not, put UserCheck to 1*/
  18.     If UserCheck = 0
  19.       Then Do
  20.              RC = RXACL('/SET /SRV:'ServerName '/INP:'InputFile '/LOG:'LogFile '/M')
  21.              Say '* ReturnCode =' RC
  22.              If RC = 65024                              /* succesfully FE00*/
  23.                Then Call SysFileDelete(InputFile)
  24.                Else 'start popup "Verify the HomeACL.CSV file" "SetHome Message"'
  25.            End
  26.       Else 'Start Popup "Error NET2221, try again later" "Check 4 user Message"'
  27.  
  28.     Exit
  29.  
  30.  CHK4USERS:/* ---------------------------------------------------------------*/
  31.  
  32.     UserCheck = 0
  33.  
  34.     Parse Arg InputFile
  35.  
  36.     Do While Lines(InputFile)
  37.       LLine = LineIn(InputFile)
  38.       Parse Upper Value LLine With . ';\\' ServerName '\' . ';' UserID ';' .
  39.  
  40.       Say '* Checking for' UserID 'on' ServerName '...'
  41.       Parse Value SysCurPos() With Row Col
  42.       Call SysCurPos Row -1, 24 + Length(UserID) + Length(ServerName)
  43.  
  44.       RC = NetGetInfo(280, 'UserInfo', '\\'ServerName, UserID)
  45.       If RC = 0
  46.         Then Say 'OK'
  47.         Else Do
  48.                Say 'Not found'
  49.                UserCheck = 1
  50.              End
  51.     End
  52.  
  53.     Call Stream InputFile, 'C', 'Close'
  54.  
  55.     Return
  56.  
  57.  INIT:/* --------------------------------------------------------------------*/
  58.  
  59.     Call RgUtil   '/m'                                    /* Rexx Utilities*/
  60.     Call RgLSRXUT '/m'                             /* Lan Server Rexx Utils*/
  61.  
  62.    '@echo off'
  63.     ESC = '1B'x
  64.  
  65.     Return
  66.  
  67.  CHKOPT:/* ------------------------------------------------------------------*/
  68.  
  69.     SRVNAME = ''
  70.     INPF    = 'HOMEACL.CSV'
  71.     LOGF    = 'LSMT.LOG'
  72.     MUTE    = 0
  73.  
  74.     Do while Option <> ''
  75.       Parse Upper Value Option With Argument ' ' Option
  76.       Select
  77.         When Left(Argument,5) = '/SRV:' Then ServerName = Substr(Argument,6)
  78.         When Left(Argument,5) = '/INP:' Then InputFile  = Substr(Argument,6)
  79.         When Left(Argument,5) = '/LOG:' Then LogFile    = Substr(Argument,6)
  80.         When Left(Argument,2) = '/M'    Then Mute       = 1
  81.         Otherwise Nop
  82.       End
  83.     End
  84.  
  85.     If ServerName = '' | FileName = '' | LogFile = ''
  86.       Then Do
  87.             'Start Popup "Invalid parameters" "SetHome Message"'
  88.              Exit
  89.            End
  90.       Else Nop
  91.  
  92.     Say '* ServerName' ServerName
  93.     Say '* InputFile ' InputFile
  94.     Say '* LogFile   ' LogFile
  95.     Say '* Mute      ' Mute
  96.  
  97.     Return
  98.  
  99.  CHKFILE:/* -----------------------------------------------------------------*/
  100.  
  101.     Parse Arg FileToCheck
  102.  
  103.     Say '* Checking for' FileToCheck
  104.  
  105.     If Stream(FileToCheck,'C','Query Exists') = ''
  106.       Then Do
  107.              Say '! Error: file' FileToCheck 'not found' '07'x
  108.              Exit
  109.            End
  110.       Else Nop
  111.  
  112.     Return
  113.  
  114.  
  115.