WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

Novell Netware
plus
plus
plus
plus
plus
plus
plus
plus
plus
plus

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

Netware Configuration Extenders Explained

Keywords: 	 netware configuration and extenders explained

Question:

I am trying to use a script to copy files from my SMS server to a pc on my WAN. (The script is set up to copy to c:, then to f:.) The files copy to the c: drive fine, but will not copy to the Netware network drive, unless the script is executed locally. I have found a Netware extender, but it is Novell, and I cannot install it on my SMS server. Is there a Netware for Windows NT extender available?

At first, I got an "error copying file" message, but after adding a file delimiter, I received no error message, and the file copied to c: but not f:. I received no successful program completion message in the log file with the "error copy" message, but after adding the delimiter, the log registered a successful program completion, yet the file still did not copy to f:.It is a system/user account logged into the pc, but my SMS server does not have the necessary Netware for Windows rights for the mapped drive. If I can add a Netware for Windows extender to my script, I can log in through the script, but I don't know which extender to use.

It is a simple script, and I have copied it below. I have replaced sensitive company information with '#'. The extender I have listed is just a random one I used, most likely not the correct one.

AddExtender("wwwnt32i.dll") ; script
;
cname=environment("computername")
MyServer=strcat("\\##",strsub(cname,1,4))
copypath=strcat("\\###sms\######\",scriptname,"\source\#####.###")

FileCopy(copypath,"c:\",@False)
copypath=strcat("\\###sms\#####\",scriptname,"\source\#####.###")

FileCopy(copypath,"c:\",@False)
copypath=strcat("\\###sms\#####\",scriptname,"\source\#####.nsf")

FileCopy(copypath,"c:\notes\data\replic",@False)

;UserID="Supervisor"
;n3Attach(MyServer, UserID, "#####")
;MapDir=strcat(MyServer,"\sys")
;n3Map(MyServer, "F:")
;FileCopy("c:\notes\data\replic\#####.nsf f:\notes\data\replic",@False)

;n3MapDelete("F:")
;if n3GetMapped(MyServer)=="" then n3Detach(MyServer)

Answer:

There seems to be some confusion on your part about what the NetWare extenders do and how they work.

NetWare servers run their own operating system (e.g. NetWare).

Your SMS server is a WinNT/Win2K system running the Microsoft System Management Server software. You can execute WinBatch scripts on this WinNT/Win2K server. Because SMS is running on a WinNT/Win2K system, it is possible to install either the Novell Client for WinNT/Win2K or the Microsoft Client for NetWare networks. Please note that the various NetWare extenders (n3, n4, and NetWare [still in beta]) all require the Novell Client to be installed and they do not work with the Microsoft Client for NetWare networks.

Your desktop PCs can run Win9x or WinNT/Win2K. Again, you can install the appropriate client software from Novell (either Client32 for Win9x systems or else the Novell Client for WinNT/Win2K) or you can install the Microsoft Client for NetWare networks. Again, the various NetWare extenders do not work with Microsoft's client and they require that client software provided by Novell is installed for them to work properly.

The various NetWare extenders are as follows:

The NetWare 3.x extender is named "wwn3x32i.dll" and all of the functions it provides have names that start with "n3". This extender is intended for use with older NetWare 3.x servers. More specifically, it only works with NetWare bindery mode and is unaware of NDS. The "n3" extender can perform operations on NetWare 4.x & 5.x servers that are using the IPX protocol and have bindery emulation enabled. In these cases, any objects located in the NDS contexts that are configured in the server's bindery context can be accessed as bindery objects.

The NetWare 4.x extender is named "wwn4x32i.dll" and all of the functions it provides have names that start with "n4". This extender is intended for use with NetWare 4.x [and also 5.x] servers. More specifically, it is intended to work with NDS servers. Some of the functions in this extender are not 100% up-to-date w/respect to how they actually perform their tasks and thus there are some functions that work identical to their siblings in the "n3" extender.

All of the functions in the NetWareX extender have names that start with "nw". This extender was developed to provide support for both bindery and NDS NetWare servers. Internally, the extender uses the NetWare Client API functions that are appropriate for the type of NetWare server [Bindery or NDS] that is being managed. Significant new features are being added to allow better information gathering and control of NetWare servers as well as new functions to provide better control over NDS objects [modify and create objects].

The "n3" and "n4" extenders can authenticate to bindery servers and NDS, respectively, but they cannot execute login scripts when authenticating. The NetWareX extender is not complete yet and it does not have the functions that will allow it to login to a bindery server or NDS. However, when it does get those functions it will be able to execute login scripts.

Now, it looks like what you are doing is setting up some sort of workstation configuration / software distribution through the SMS server that will result in having a compiled WinBatch script executed on the workstations [via the SMS client]. On Win9x, the SMS client runs as a hidden application that has full access to the desktop and to any resources that the currently logged on user can access. On WinNT/Win2K, the SMS client runs as a service, and I think that by default it might be running in the context of a specific service user account. This means that the SMS client service on WinNT/Win2K will have access to network resources, but it still won't have access to the network drive letters that the currently logged on user has. If the SMS client service is instead configured to run as the local system account then this means that the SMS client on WinNT/Win2K will not have access to network resources such as drive letters. All services on NT/2K run in their own separate security contexts and thus they do not ever access network resources while masquerading as the currently logged on user, unless they are trusted services and are explicitly programmed to do this type of masquerading. This means that if the user is logged on to the local NT/2K system [and possibly a NT/2K domain] as well as being logged in to NDS [or a single bindery NetWare server], the services on that NT/2K system cannot access resources on NetWare servers unless each service authenticates separately to NDS [or a bindery NetWare server].

So, after this lengthy explanation and taking a look at your script, I have a few recommendations.

  1. Load the correct NetWare extender for the type of NetWare servers that you are using.
  2. Use the correct functions based on the particular type of NetWare extender that you have loaded. For example, your script loads the WWWNT32I.DLL extender, but it tries to use the "n3" functions. This won't work. The extender that your script is loading is for Win32 network functions (e.g. NT LAN Manager functions). Due to the way that the Novell Client integrates as part of the multiple network provider services on Win32 systems, the Win32 network functions [e.g. w95*(), wnt*()] may be able to connect a drive letter to a NetWare server, but they are not the most appropriate functions to use for working with a NetWare server.
  3. Make sure that the SMS client is configured to run as a service account instead of as a the local system account.
  4. Have your script login to NDS or to a bindery server. Also have your script map any necessary drive letters or just use UNC paths to refer to the NetWare servers and their volumes during file manipulation operations.
  5. Also, please note that the NetWareX extender consists of two different extender DLLs. One of them, "WWNWU34I.DLL", provides user functions, while the other one, "WWNWA34I.DLL", provides administrator functions. Both of these extender DLLs use a shared file named "WWNWX34I.DLL" that contains code that is common to both the extenders. In a future release of the NetWareX extender, both of these separate extenders will be combined into a single "WWNWX34I.DLL" extender.

Article ID:   W14893
File Created: 2001:11:08:12:40:52
Last Updated: 2001:11:08:12:40:52