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

  1. /*---------------------------------------------------------------------------*\
  2. |   Check Password replication                (C) Alain Rykaert - APR98-APR98 |
  3. \*---------------------------------------------------------------------------*/
  4.     Version = '1.01'             /* thanks to jacques from morgan euroclear*/
  5.    '@cls'
  6.     Say '* LSNLCHCK Version' Version
  7.  
  8.     Call Init                                 /* init dll's and other stuff*/
  9.  
  10.     LogFileName = 'LSNLCHK.LOG'                          /* Output filename*/
  11.     Say '* Log Filename:' LogFileName
  12.  
  13.     TempFile = LSRDrive'\ibmlan\getroute.txt'             /* temporary file*/
  14.  
  15.     Parse Upper Arg DCName MacAddress
  16.  
  17.     If DCName = ''
  18.       Then Do
  19.              Say '*'
  20.              Say '* Get LAN Server routing configuration'
  21.              Say '*'
  22.              Say '* Usage: GETROUTE {DCName} {Destination Address}'
  23.              Say '*'
  24.              Say '* Sample: GETROUTE \\BEDDC01 400013203745'
  25.              Say '*'
  26.              Exit
  27.            End
  28.       Else Nop
  29.  
  30.     DCName = Strip(DCName,'L','\')
  31.  
  32.     Say '* Server Name:' '\\'DCName
  33.  
  34.     RC = NetGetInfo(370, 'ServerModalInfo', '\\'DCName)  /* get server role*/
  35.     If RC = 0
  36.       Then Do
  37.              ServerRole = ServerModalInfo.Role
  38.              If WordPos('Primary', ServerRole) > 0     /* check server role*/
  39.                Then Nop
  40.                Else Do
  41.                       Say '! This is not a Primary Domain Controller' '07'x
  42.                       Exit
  43.                     End
  44.            End
  45.       Else Call ChkError RC
  46.  
  47.     RC = NetGetInfo(340, 'Server', '\\'DCName, 'Servers')/* get all servers*/
  48.     If RC = 0
  49.       Then Do
  50.              Call RxStemSort 'Server'
  51.              Say '* Total defined servers:' Server.0
  52.              Say '* Scanning active servers...'
  53.              Call SysCurState Off
  54.              Parse Value SysCurPos() With Row Col
  55.              j = 0
  56.              Do i = 1 to Server.0           /* get only the 'alive' servers*/
  57.                Call SysCurPos Row -1, 28
  58.                Say ESC'[K' i Server.i
  59.            /*  If Stream('\\'Server.i'\ibmlan$\ibmlan.ini', 'C','Query Exists') <> '' */
  60.                If NetGetInfo(370, 'ServerModalInfo', '\\'Server.i) = 0
  61.                  Then Do
  62.                         j = j + 1
  63.                         ServerName.j = Server.i
  64.                       End
  65.                  Else Nop
  66.              End
  67.            End
  68.       Else Call ChkError RC
  69.  
  70.     ServerName.0 = j                             /* total of active servers*/
  71.  
  72.     Do i = 1 to ServerName.0
  73.       IniFileName = '\\'ServerName.i'\ibmlan$\accounts\net.acc'
  74.       Say '* Servername:' Left(ServerName.i,9),
  75.              Stream(IniFileName, 'C', 'Query DateTime'),
  76.              Stream(IniFileName, 'C', 'Query Size')
  77.     End
  78.  
  79.     Say
  80.     Say '* Total Time:' Trunc(Time('E'),2)
  81.  
  82.     Exit
  83.  
  84.  INIT:/* --------------------------------------------------------------------*/
  85.  
  86.    '@echo off'
  87.     BootDrive = Left(Value('Comspec',,'OS2Environment'),2)
  88.  
  89.     ESC = '1B'x
  90.     Redir = '>nul'
  91.  
  92.     If RxFuncQuery('SysLoadFuncs')
  93.       Then Do
  94.              Call RxFuncAdd SysLoadFuncs, RexxUtil, SysLoadFuncs
  95.              Call SysLoadFuncs
  96.            End
  97.       Else Nop
  98.  
  99.     LSRDrive = ''                      /* Check for Lan Server Drive Letter*/
  100.     PPath = Translate(Value('DPATH',,'OS2Environment'))
  101.     x = Pos('\IBMLAN\NETPROG;', PPath) -2
  102.     If x > 0
  103.       Then LSRDrive = SubStr(PPath, x, 2)
  104.       Else Do
  105.              Say '* Could not determine the Lan Requester path'
  106.              Exit
  107.            End
  108.  
  109.     Call ChkFile LSRDrive'\ibmlan\netlib\lsrxut.dll'
  110.     If RxFuncQuery('LoadLSRXUTFuncs')
  111.       Then Do
  112.              Call RxFuncAdd LoadLsRxutFuncs, LSRXUT, LoadLsRxutFuncs
  113.              Call LoadLsRxutFuncs
  114.            End
  115.       Else Nop
  116.  
  117.     Call ChkFile BootDrive'\os2\dll\rxutils.dll'
  118.     If RxFuncQuery('RxLoadFuncs')
  119.       Then Do
  120.              Call RxFuncAdd RxLoadFuncs, RXUTILS, RxLoadFuncs
  121.              Call RxLoadFuncs
  122.            End
  123.       Else Nop
  124.  
  125.     Return
  126.  
  127.  CHKERROR:/* ----------------------------------------------------------------*/
  128.  
  129.     Parse Arg RCode
  130.  
  131.     Say '* Error:' RCode
  132.     Exit X2D('1600')
  133.  
  134.     Return
  135.  
  136.  CHKFILE:/* -----------------------------------------------------------------*/
  137.  
  138.     Parse Arg File_To_Check
  139.  
  140.     If Stream(File_To_Check, 'C', 'Query Exists') = ''
  141.       Then Do
  142.              Say '! File not found:' File_To_Check
  143.              Exit
  144.            End
  145.       Else Nop
  146.  
  147.     Return
  148.  
  149.  LOGIT:/* ------------------------------------------------------------------*/
  150.  
  151.     Parse Arg Log_Text
  152.  
  153.     If LineOut(LogFileName, Log_Text) = 0
  154.       Then Call Stream LogFileName, 'C', 'Close'
  155.       Else Say '! Error while writing:' LogFileName '07'x
  156.  
  157.     Return
  158.  
  159.  OS2PING:/* ----------------------------------------------------------------*/
  160.  
  161.     Parse Arg Address
  162.  
  163.    '@os2ping /a='Address '/r /w=1 2>nul | Find "(" >' TempFile
  164.     If RC = 0                          /* MAC not found                    */
  165.       Then Do
  166.              MCheck = 0
  167.              Route = LineIn(TempFile)
  168.              Call Stream TempFile, 'C', 'Close'
  169.            End
  170.       Else MCheck = 1
  171.  
  172.     Return
  173.  
  174.