home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / lsmt213c.zip / qsrvrs.cmd < prev    next >
OS/2 REXX Batch file  |  1999-08-31  |  9KB  |  240 lines

  1. /*---------------------------------------------------------------------------*\
  2. |   Query Server info from all LAN Servers into the Domain                    |
  3. |                                             (C) Alain Rykaert - JUN96-AUG99 |
  4. \*---------------------------------------------------------------------------*/
  5.     Version = '4.06'
  6.     Say '* QSRVRS Version:' Version
  7.  
  8.     Parse Upper Arg DCName
  9.  
  10.     Call Init                    /* Initialisation of DLL's and other stuff*/
  11.  
  12.     TempFile = LSRDrive'\ibmlan\qsrvrs.tmp'               /* Temporary file*/
  13.  
  14.     If DCName = ''
  15.       Then Do
  16.              Say '*'
  17.              Say '* Query all servers'
  18.              Say '*'
  19.              Say '* Usage: QSRVRS {ServerName}'
  20.              Say '*'
  21.              Say '* Sample: QSRVRS \\DC01'
  22.              Say '*'
  23.              Exit
  24.            End
  25.       Else Nop
  26.  
  27.     RC = NetGetInfo(370, 'ServerModalInfo', '\\'DCName)
  28.     If RC = 0
  29.       Then Do
  30.              ServerRole = ServerModalInfo.Role
  31.              If WordPos('Primary', ServerRole) > 0     /* check server role*/
  32.                Then Nop
  33.                Else Do
  34.                       Say '! This is not a Primary Domain Controller' '07'x
  35.                       Exit
  36.                     End
  37.            End
  38.       Else Call ChkError RC
  39.  
  40.  /* Get the Domain name from the DC-PR */
  41.     Call SysFileSearch 'DOMAIN =', '\\'DCName'\ibmlan$\ibmlan.ini', 'File.'
  42.     If File.0 > 0
  43.       Then Do i = 1 to File.0
  44.              If Pos(';', File.i) > 0
  45.                Then Nop
  46.                Else Parse Upper Value File.i With . '=' DomainName .
  47.            End
  48.        Else Do
  49.               Say '! Unable to determine the Domain name' '07'x
  50.               Say '! from the Primary Domain Controller' DCName
  51.               Say '  (or not logon as an Administrator)'
  52.               Say '* Press any key to Exit'
  53.               Pull
  54.               Exit
  55.            End
  56.     Say '> The name of the Domain is:' DomainName
  57.  
  58.    'if not exist' Directory()'\'DomainName 'md' Directory()'\'DomainName
  59.     Call MakeObjects                         /* make a folder of the domain*/
  60.  
  61.     Say '* Done. Press any key to Exit'
  62.     Pull
  63.  
  64.     Exit
  65.  
  66.  INIT:/* --------------------------------------------------------------------*/
  67.  
  68.    '@echo off'
  69.  
  70.     BootDrive = Left(Value('Comspec',,'OS2Environment'),2)
  71.  
  72.     Redir = '>nul'
  73.  
  74.     If RxFuncQuery('SysLoadFuncs')
  75.       Then Do
  76.              Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
  77.              Call SysLoadFuncs
  78.            End
  79.       Else Nop
  80.  
  81.     LSRDrive = Left(SysSearchPath('PATH', 'NET.EXE'), 2)    /* IBMLAN Drive*/
  82.     If LSRDrive <> ''
  83.       Then Nop
  84.       Else Do
  85.              Say '! Could not determine the Lan Requester path' '07'x
  86.              Exit X2D('1604')
  87.            End
  88.  
  89.     Call ChkFile LSRDrive'\ibmlan\netlib\lsrxut.dll'
  90.     If RxFuncQuery('LoadLSRXUTFuncs')
  91.       Then Do
  92.              Call RxFuncAdd 'LoadLsRxutFuncs', 'LSRXUT', 'LoadLsRxutFuncs'
  93.              Call LoadLsRxutFuncs
  94.            End
  95.       Else Nop
  96.  
  97.     Return
  98.  
  99.  CHKFILE:/* -----------------------------------------------------------------*/
  100.  
  101.     Parse Arg File
  102.  
  103.     If Stream(File, 'C', 'Query Exists') = ''
  104.     Then Do
  105.            Say '! File not found:' File '07'x
  106.            Say '* Press any key to Exit'
  107.            Exit
  108.         End
  109.     Else Nop
  110.  
  111.     Return
  112.  
  113.  MAKEOBJECTS:/* -------------------------------------------------------------*/
  114.  
  115.     Class    = 'WPFolder'
  116.     Title    =  DomainName
  117.     Location = '<LSMT_SERVERS>'
  118.     Setup    = 'OBJECTID=<LSMT_SERVERS_'DomainName'>;' ||,
  119.                'ICONVIEW=FLOWED;'                      ||,
  120.                'ICONVIEWPOS=40,20,55,65;'              ||,
  121.                'ICONFONT=10.System VIO;'               ||,
  122.                'ICONFILE='Directory()'\domain.ico;'    ||,
  123.                'ALWAYSSORT=Yes'
  124.     Update   = 'Update'
  125.     Call CreateObj
  126.  
  127.     Class    = 'WPProgram'
  128.     Title    = '#Refresh all^ Server folders'
  129.     Location = '<LSMT_SERVERS_'DomainName'>'
  130.     Setup    = 'OBJECTID=<LSMT_SERVERS_'DomainName'_'ServerName'_REFRESH>;' ||,
  131.                'ICONFILE='Directory()'\tsadmin.ico;'                        ||,
  132.                'PROGTYPE=vio;'                                              ||,
  133.                'EXENAME='Directory()'\refresh.cmd;'                         ||,
  134.                'PARAMETERS=[Enter the name of a PR-DC]'
  135.     Update   = 'Update'
  136.     Call CreateObj
  137.  
  138.     Class    = 'WPProgram'
  139.     Title    = '*Hardware^ Get'
  140.     Location = '<LSMT_SERVERS_'DomainName'>'
  141.     Setup    = 'OBJECTID=<LSMT_SERVERS_'DomainName'_GET_LSGETHW>;' ||,
  142.                'ICONFILE='Directory()'\qsystem.ico;'               ||,
  143.                'EXENAME='Directory()'\lsgethw.cmd;'                ||,
  144.                'PARAMETERS=[Enter the name of a PR-DC]' Directory()'\'DomainName'\lsgethw.csv'
  145.     Update   = 'Update'
  146.     Call CreateObj
  147.  
  148.     Class    = 'WPProgram'
  149.     Title    = '*Hardware^ Edit'
  150.     Location = '<LSMT_SERVERS_'DomainName'>'
  151.     Setup    = 'OBJECTID=<LSMT_SERVERS_'DomainName'_EDIT_LSGETHW>;' ||,
  152.                'ICONFILE='Directory()'\qsystem.ico;'                ||,
  153.                'PROGTYPE=pm.exe;'                                   ||,
  154.                'EXENAME=e.exe;'                                     ||,
  155.                'PARAMETERS='Directory()'\'DomainName'\lsgethw.csv'
  156.     Update   = 'Update'
  157.     Call CreateObj
  158.  
  159.     Class    = 'WPProgram'
  160.     Title    = '*Syslevel^ Get'
  161.     Location = '<LSMT_SERVERS_'DomainName'>'
  162.     Setup    = 'OBJECTID=<LSMT_SERVERS_'DomainName'_GET_LSSYSLVL>;' ||,
  163.                'ICONFILE='Directory()'\ddnsscfo.ico;'               ||,
  164.                'PROGTYPE=windowablevio;'                            ||,
  165.                'EXENAME='Directory()'\lssyslvl.cmd;'                ||,
  166.                'PARAMETERS=[Enter the name of a PR-DC]' Directory()'\'DomainName'\lssyslvl.csv'
  167.     Update   = 'Update'
  168.     Call CreateObj
  169.  
  170.     Class    = 'WPProgram'
  171.     Title    = '*Syslevel^ Edit'
  172.     Location = '<LSMT_SERVERS_'DomainName'>'
  173.     Setup    = 'OBJECTID=<LSMT_SERVERS_'DomainName'_EDIT_LSSYSLVL>;' ||,
  174.                'ICONFILE='Directory()'\ddnsscfo.ico;'                ||,
  175.                'PROGTYPE=pm.exe;'                                    ||,
  176.                'EXENAME=e.exe;'                                      ||,
  177.                'PARAMETERS='Directory()'\'DomainName'\lssyslvl.csv'
  178.     Update   = 'Update'
  179.     Call CreateObj
  180.  
  181.     Class    = 'WPProgram'
  182.     Title    = '*LS Parameters^ Get'
  183.     Location = '<LSMT_SERVERS_'DomainName'>'
  184.     Setup    = 'OBJECTID=<LSMT_SERVERS_'DomainName'_GET_LSBROWSE>;' ||,
  185.                'ICONFILE='Directory()'\svcreq.ico;'                 ||,
  186.                'PROGTYPE=windowablevio;'                            ||,
  187.                'EXENAME='Directory()'\lsbrowse.cmd;'                ||,
  188.                'PARAMETERS=[Enter the name of a PR-DC]' Directory()'\'DomainName'\lsbrowse.csv'
  189.     Update   = 'Update'
  190.     Call CreateObj
  191.  
  192.     Class    = 'WPProgram'
  193.     Title    = '*LS Parameters^ Edit'
  194.     Location = '<LSMT_SERVERS_'DomainName'>'
  195.     Setup    = 'OBJECTID=<LSMT_SERVERS_'DomainName'_EDIT_LSBROWSE>;' ||,
  196.                'ICONFILE='Directory()'\svcreq.ico;'                  ||,
  197.                'PROGTYPE=pm.exe;'                                    ||,
  198.                'EXENAME=e.exe;'                                      ||,
  199.                'PARAMETERS='Directory()'\'DomainName'\lsbrowse.csv'
  200.     Update   = 'Update'
  201.     Call CreateObj
  202.  
  203.     Class    = 'WPProgram'
  204.     Title    = '*Configuration^ Get'
  205.     Location = '<LSMT_SERVERS_'DomainName'>'
  206.     Setup    = 'OBJECTID=<LSMT_SERVERS_'DomainName'_GET_LSCONFIG>;' ||,
  207.                'ICONFILE='Directory()'\compsys.ico;'                ||,
  208.                'PROGTYPE=windowablevio;'                            ||,
  209.                'EXENAME='Directory()'\lsconfig.cmd;'                ||,
  210.                'PARAMETERS=[Enter the name of a PR-DC]' Directory()'\'DomainName'\lsconfig.csv'
  211.     Update   = 'Update'
  212.     Call CreateObj
  213.  
  214.     Class    = 'WPProgram'
  215.     Title    = '*Configuration^ Edit'
  216.     Location = '<LSMT_SERVERS_'DomainName'>'
  217.     Setup    = 'OBJECTID=<LSMT_SERVERS_'DomainName'_EDIT_LSCONFIG>;' ||,
  218.                'ICONFILE='Directory()'\compsys.ico;'                 ||,
  219.                'PROGTYPE=pm.exe;'                                    ||,
  220.                'EXENAME=e.exe;'                                      ||,
  221.                'PARAMETERS='Directory()'\'DomainName'\lsconfig.csv'
  222.     Update   = 'Update'
  223.     Call CreateObj
  224.  
  225.     Return
  226.  
  227.  CREATEOBJ:/* ---------------------------------------------------------------*/
  228.  
  229.     Say '> Creating Object:' Title
  230.  
  231.     If SysCreateObject(Class, Title, Location, Setup, Update) = 1
  232.       Then Nop
  233.       Else Say '! Error: while creating Object' Title '07'x
  234.  
  235.     Parse Value Setup With 'OBJECTID=' ObjectID ';' .
  236.     Call SysSetObjectData ObjectID, 'Title='Title
  237.  
  238.     Return
  239.  
  240.