NWUTIL Netware Utilities version Summer 1993

Introduction

The first NWUTILs were written for BP Oil in Brussels Summer 1990. The first was LISTGRP. There  was a need for small utilities doing simple tasks such as checking on group membership, directory existence, search, search/replace, verify server attachment, queue existence  etc. They were both used as Batch File enhancers and Command Line utilities. LISTGRP was followed by GETNAME and GETID to quickly get a ObjectID for a given QueueNAme and reverse: get a ObjectName for a given ObjectID. NWUTILs utilities are used in Brussels, Antwerp and Amsterdam batch files. On Compuserve they have been downloaded more than 1000 times. NWUTIL utilities are freeware and downloadable from the Public Domain section of Compuserve's Netwire.

One important thing to remember when using NWUTIL utilities is that they all work on the Default Server. For example, if you want to display volumes on server FSA, map a drive letter to FSA and switch to that drive. Then run GETVOLS (or VOLINF).

All programs are written in Pascal 5.5 by G. Davidse using several third party/public domain libraries.


GETID gets ObjectID for given Object Name

	Usage: GetId ObjectName

	Returns the ObjectId (hex and decimal) and type of ObjectName
 
	 1       User
	 2       User Group
	 3       Print Queue
	 4       File Server
	 5       Job Server
	 6       Gateway
	 7       Print Server
	 8       Archive Queue



GETNAME gets ObjectName for given ObjectID

	Usage: GetName ObjectId
	
	where Object = 8 digit ObjectId








GETRIGHT gets and verifies netware access rights

	Usage: GETRIGHT VOLUME:PATH

Returns errorlevel 0 if the workstation has RWOCDSM or RWOCDPSM rights to  VOLUME:PATH. Returns errorlevel 1 if  not. Use Netware volume names, not DOS  filenamesR=Read, W=Write, O=Open, C=Create, D=Delete, P=Parental, S=Search, M=Modify



GETVOLS display all Volumes numerical and semi graphically, for example:

	ACA_NOV_ONL003\SYS      Cap 200    Free 160   U 40 Mb ........ 80% 
	ACA_NOV_ONL003\VOL1     Cap 1024   Free 627   U 397 Mb ....... 61% 
	ACA_NOV_ONL003\VOL2     Cap 350    Free 233   U 117 Mb ....... 67% 



GRPLIST lists all User Groups sorted by GroupName 




IFMEMBER checks on group membership

	Usage: IFMEMBER UserName GroupName

	Returns errorlevel 1 if UserName is member of GroupName, otherwise 0



INIEDIT edits INI files

	Usage: INIEDIT INIFILE [Section Name] {Field Name} Field Value

	where INIFILE	= filename of INI file
	[Section Name]	= [section] in INI file (spaces are allowed)
	{Field Name}		= field in [section] of INI file (spaces are allowed)

NB. This program creates a .BAK file for INIFILE



KADERC display text centralised in a box using ANSI color sequences

	Usage: KADERC param1 [param2] [param3] [param4]

	where param1 is the file to be displayed
	max line length=75
	param2-param4  ANSI color sequence: leave out the escape character

	param2=text color
	param3=frame color
	param4=header color -first line-




LISTGRP produces a sorted list of userids

	Usage: LISTGRP GroupName

	displays a sorted list of all users in group GroupName  limitation: max 1000 users and 100  	groups, GroupName=ALL displays all Groups (sorted on Group/Userid)



NWLOADED returns the following ErrorLevels: 0 if Netware NOT Loaded , 1 if Netware 	Loaded but NOT Logged on , 2 if Netware Loaded and Logged on



PSCONFIG displays total Print Server configuration

	Usage: PSCONFIG PrintServerName

PSCONFIG displays the total configuration of the Print Server specified by the  first  parameter PrintServerName on the CURRENT file server. This includes the config of all  the printers and the Print Queues to be serviced. You can use this utility to easily  compare your print servers accross your network with eg: PSCONFIG PSERVER1  >PRN. Note: you must have sufficient rights to the SYS:SYSTEM directory



SEARCH performs search in binary and text files

	Usage: SEARCH FileIn String

	where FileIn= input file, String = search pattern

	SEARCH returns errorlevel 1 if String exists returns errorlevel 0 if String does not exist
 
	Note: SEARCH supports "pascal like" strings such as "xxx#999yyy", where 999 is the  	THREE digit decimal representation of the character eg. qqABCxx"="qq#065#066#067xx" 
	

SR2 perform search/replace operation in binary and text files

	Usage: SR2 FileIn String1 [String2]

	where FileIn  = input file,  String1 = search pattern, String2 = replacement pattern

SR2 replaces all occurences of String1 with String2 in a case sensitive way. Search  pattern will be deleted if  replacement pattern is not specified.  SR2 supports "pascal  like" strings like "xxx#999yyy", where 999 is a THREE digit decimal representation of the character eg. "qqABCxx" = "qq#065#066#067xx" 



TIMER stores the current time in the DOS environment. next time TIMER calculates the 	difference between the current the and the time stored in the DOS environment; TIMER 	thus works as a stopwatch.: Current time: 12:27:07:71, Time difference: :07:15:17



UIG lists all groups a user is in

	Usage: UIG UserId



VERIFDIR verifies directory existence

	Usage: VERIFDIR [d:][path]

       Returns errorlevel 0 if the directory exists or 3 if it does not exist 



VERIFQUE verifies Print Queue existence

	Usage: VERIFQUE QueueName

	Returns errorlevel 0 if the Print Queue with QueueName exists on the current server, 1 if 	not existing




VERIFSRV verifies server attachment

	Usage: VERIFSRV ServerName

	Returns errorlevel 0 if the server is attached or 1 if it is not attached





VOLINF displays volume space by Volume (GETVOLS lists all volumes)

	Usage: VOLINF VolumeName

	where VolumeName=Name of a valid Netware Volume on the current server



WHOIS displays User's Full Name

	Usage: WHOIS UserId



WSBOOT

	Usage: WSBOOT TABLE

	structure of TABLE: position 1-12  Ethernet address

	if Ethernet address is found in TABLE return Errorlevel 0 and create following variables:

	%PRG%		positions 15-17
	%BATCH%	positions 19-26
	%P1%   		positions 28-42
	%P2%   		positions 44-58
	%P3%   		positions 60-74
	%P4%   		positions 76-90

	if Ethernet address is NOT found in TABLE return Errorlevel 1 and clear all above 	variables


Gerrit Davidse, Spring 1993.

Netware Utilities: NWUTIL, BP Benelux		Page {PAGE|1}


