Module: | NDS.NLM |
Purpose: | Add an AFP Server object. |
Syntax: | <lSuccess> = NDS:Add:AFPserver(<sServerName>) |
Description: | Adds an object of the AFP Server type with the common name <sServerName> to the current context. |
Outputs: | Logical |
Note: | The AFP Server class identifies objects that are classified to provide AFP services. AFP Server is an effective object class. |
See Also: | ** |
Example: | Success = NDS:Add:AfpServer("CN=AFPServer1")
If (!Success) Print("Error adding AFP Server") Endif |
Go to Table of Contents
NDS:Add:Alias
Module: | NDS.NLM |
Purpose: | Adds an Alias object. |
Syntax: | <lSuccess> = NDS:Add:Alias(<sAlias>,<sObject>) |
Description: | Adds the object <sAlias> of the Alias type for the object <sObject> to the current context. |
Outputs: | Logical |
Note: | An alias is a name containing at least one RDN that is an alias entry. Aliases permit Directory entries to have multiple immediate superiors and consequently provide a basis for alternative names.
Just as the distinguished name of an object expresses the object's relationship to some hierarchy of objects, an alias typically expresses an alternative relationship to a different hierarchy of objects. An object in the Directory tree may have zero or more aliases. It follows that several alias entries may point to the same object entry. Only object entries can have aliases. Aliases of aliases are not permitted. An object entry does not have to be a leaf entry to have an alias. Alias entries, however, cannot have subordinates and are always leaf entries. The Directory uses the Aliased Object Name attribute in an alias entry to identify and to find the corresponding object entry. The object class Alias does not specify naming attributes for alias entries, nor does the class define where in the Directory tree alias entries may be contained. The Directory enforces the naming and containment rules mandated by the base class of the object to which the alias points. |
See Also: | NDS:Alias |
Example: | Success = NDS:Add:Alias("Bob","Robert") If (!Success) Print("Error adding Alias") Endif |
Go to Table of Contents
NDS:Add:BinderyObject
Module: | NDS.NLM |
Purpose: | Adds a bindery object. |
Syntax: | <lSuccess> = NDS:Add:BinderyObject (<sObjectName>,<iRestriction>,<sBinderyType>) |
Description: | Adds the object <sObjectName> of the Bindery Object type <sBinderyType> with the restrictions <iRestriction> to the current context. |
Outputs: | Logical |
Note: | This function is generally used by NDS to mutate a bindery object to a NDS object. For more detailed information on the restrictions call Novell at 1-800-REDWORD. |
See Also: | ** |
Example: | Success = NDS:Add:BinderyObject("Tim",Restriction,BinderyType)
If (!Success) Print("Error adding Bindery Object") Endif |
Go to Table of Contents
NDS:Add:BinderyQueue
Module: | NDS.NLM | ||||||||
Purpose: | Adds a Bindery Queue Object. | ||||||||
Syntax: | <lSuccess> = NDS:Add:BinderyQueue (<sCommonName>,<sBinderyType>,<sQueueDirPath>) | ||||||||
Description: | Adds the object <sObjectName> of the Bindery Queue type <sBinderyType> and in the directory <sQueueDirPath> to the current context. The following is a list of bindery types:
| ||||||||
Outputs: | Logical | ||||||||
Note: | Bindery Queue - Represents an object that has been created by the Bindery Emulator to emulate a user-defined queue object. | ||||||||
See Also: | ** | ||||||||
Example: | Success = NDS:Add:BinderyQueue("CN=Que1","3","SYS:\Que1")
If (!Success) Print("Error adding Bindery Object") Endif |
Go to Table of Contents
NDS:Add:Computer
Module: | NDS.NLM |
Purpose: | Adds a Computer object. |
Syntax: | <lSuccess> = NDS:Add:Computer(<sComputerName>) |
Description: | Adds the object <sComputerName> of the Computer type to the current context. |
Outputs: | Logical |
Note: | Computer - Represents both computers that host NetWare servers and computers used as client workstations. |
See Also: | ** |
Example: | Success = NDS:Add:Computer("CN=Server1")
If (!Success) Print("Error adding Server Object") Endif |
Go to Table of Contents
NDS:Add:Country
Module: | NDS.NLM |
Purpose: | Adds a Country object. |
Syntax: | <lSuccess> = NDS:Add:Country(<sCountryName>) |
Description: | Adds the object <sCountryName> of the Country type to the current context. |
Outputs: | Logical |
Note: | The Country class is used to define country entries in the Directory tree. Countries usually appear as immediate subordinates of the root. Country is an effective class. The names are specified in ISO3166. |
See Also: | ** |
Example: | Success = NDS:Add:Country("C=US")
If (!Success) Print("Error adding Server Object") Endif |
Go to Table of Contents
NDS:Add:DirectoryMap
Module: | NDS.NLM |
Purpose: | Adds a Directory Map object. |
Syntax: | <lSuccess> = NDS:Add:Directorymap (<sMapName>,<sHostServer>) |
Description: | Adds a Directory Map object <sMapName> to the current context and sets the server name for the path to <sHostServer>. |
Outputs: | Logical |
Note: | Directory Map - Represents the physical name of a file system directory path. |
See Also: | ** |
Example: | Success = NDS:Add:Directorymap("CN=ToDos","Server1")
If (!Success) Print("Error adding Directory Map Object") Endif |
Go to Table of Contents
NDS:Add:ExtEntity
Module: | NDS.NLM |
Purpose: | Adds a External Entity object. |
Syntax: | <lSuccess> = NDS:Add:Extentity(<sEntityName>) |
Description: | Adds an object <sEntityName> of the External Entity type to the current context. |
Outputs: | Logical |
Note: | External Entity - Represents a non-native NDS object. This object can be used by services that need to store information about entities outside of the Directory. For example, a messaging service that can send messages to E-mail users outside of the Directory needs to store address information about those E-mail users. |
See Also: | ** |
Example: | Success = NDS:Add:Extentity("CN=MailBox")
If (!Success) Print("Error adding External Entity Object") Endif |
Go to Table of Contents
NDS:Add:Group
Module: | NDS.NLM |
Purpose: | Adds a Group object. |
Syntax: | <lSuccess> = NDS:Add:Group(<sGroupName>) |
Description: | Adds a Group type object <sGroupName> to the current context. |
Outputs: | Logical |
Note: | Group - Defines values representing an unordered set of names. The names themselves can represent individual objects or other groups of names. |
See Also: | ** |
Example: | Success = NDS:add:Group("CN=NewGroup")
If (!Success) Print("Error adding Group Object") Endif |
Go to Table of Contents
NDS:Add:List
Module: | NDS.NLM |
Purpose: | Adds a List object. |
Syntax: | <lSuccess> = NDS:Add:List(<sListName>) |
Description: | Adds the object <sListName> of the List type to the current context. |
Outputs: | Logical |
Note: | List - Represents an unordered set of names. |
See Also: | ** |
Example: | Success = NDS:Add:List("CN=Cars")
If (!Success) Print("Error adding List Object") Endif |
Go to Table of Contents
NDS:Add:Locality
Module: | NDS.NLM | ||||||
Purpose: | Adds a Locality object. | ||||||
Syntax: | <lSuccess> = NDS:Add:Locality(<sLocalityName>,<iNameType>)
Adds the object <sLocalityName> of the Locality type <iNAmeType>. The values for <iNameType> are:
| ||||||
Outputs: | Logical | ||||||
Note: | Locality - Defines geographic locations in the Directory tree. | ||||||
See Also: | ** | ||||||
Example: | Success = NDS:Add:Locality("L=Provo",0)
If (!Success) Print("Error adding Locality Object") Endif |
Go to Table of Contents
NDS:Add:MessageRoutingGrp
Module: | NDS.NLM |
Purpose: | Adds a Message Routing Group object. |
Syntax: | <lSuccess> = NDS:Add:Messageroutinggrp(<sMessGrpName>) |
Description: | Adds the object <sMessGrpName> of the Message Routing Group type. |
Outputs: | Logical |
Note: | Message Routing Group - Represents a group (or cluster) of messaging servers that have direct connectivity for transferring messages between any two of them. |
See Also: | ** |
Example: | Success = NDS:Add: Messageroutinggrp("CN=MessGrp1")
If (!Success) Print("Error adding Message routing group Object") Endif |
Go to Table of Contents
NDS:Add:MessageServer
Module: | NDS.NLM |
Purpose: | Adds a Message Server object. |
Syntax: | <lSuccess> = NDS:Add:MessageServer(sServerName>) |
Description: | Adds the object <sServerName> of the Messaging Server type. |
Outputs: | Logical |
Note: | Messaging Server - Represents messaging servers (such as NetWare MHS servers) |
See Also: | ** |
Example: | Success = NDS:Add:MessageServer("CN=MessServ1")
If (!Success) Print("Error adding Bindery Object") Endif |
Go to Table of Contents
NDS:Add:NCPServer
Module: | NDS.NLM |
Purpose: | Adds a NCP Server object. |
Syntax: | <lSuccess> = NDS:Add:NCPServer(<sServerName>) |
Description: | Adds a NCP Server type object <sServerName>. |
Outputs: | Logical |
Note: | NCP Server - Represents servers that provide NCP transport and session services. |
See Also: | ** |
Example: | Success = NDS:Add: NCPServer("CN=NCPServ1")
If (!Success) Print("Error adding NCP Server Object") Endif |
Go to Table of Contents
NDS:Add:Org
Module: | NDS.NLM |
Purpose: | Adds a Organization object. |
Syntax: | <lSuccess> = NDS:Add:Org(<sOrgName>) |
Description: | Adds the object <sOrgName> of the Organization type. |
Outputs: | Logical |
Note: | Organization - Defines organization objects in the Directory tree. |
See Also: | ** |
Example: | Success = NDS:Add:Org("O=Org1")
If (!Success) Print("Error adding Organization Object") Endif |
Go to Table of Contents
NDS:Add:OrgRole
Module: | NDS.NLM |
Purpose: | Adds a Organizational Role object. |
Syntax: | <lSuccess> = NDS:Add:OrgRole(<sOrgRoleName>) |
Description: | Adds the object <sOrgRoleName> of the Organizational Role type. |
Note: | Organizational Role - Defines a position or role within an organization. |
Outputs: | Logical |
See Also: | ** |
Example: | Success = NDS:Add:OrgRole("CN=OrgRole1")
If (!Success) Print("Error adding Organization Role Object") Endif |
Go to Table of Contents
NDS:Add:OrgUnit
Module: | NDS.NLM |
Purpose: | Adds a Organizational Unit object. |
Syntax: | <lSuccess> = NDS:Add:OrgUnit(<sOrgUnitName>) |
Description: | Adds the object <sOrgUnitName> of the Organizational Unit type. |
Outputs: | Logical |
Note: | Organizational Unit - Defines objects representing subdivisions of organizations. |
See Also: | ** |
Example: | Success = NDS:Add:OrgUnit("OU=OrgUnit1")
If (!Success) Print("Error adding Organization Unit Object") Endif |
Go to Table of Contents
NDS:Add:PrintServer
Module: | NDS.NLM |
Purpose: | Adds a Print Server object. |
Syntax: | <lSuccess> = NDS:Add:PrintServer(<sServerName>) |
Description: | Adds the object <sServerName> of the Print Server type. |
Outputs: | Logical |
Note: | Print Server - Represents NetWare print servers. |
See Also: | ** |
Example: | Success = NDS:Add:PrintServer("CN=Pserver1")
If (!Success) Print("Error adding Organization Object") Endif |
Go to Table of Contents
NDS:Add:Printer
Module: | NDS.NLM |
Purpose: | Adds a Printer object. |
Syntax: | <lSuccess> = NDS:Add:Printer(<sPrinterName>) |
Description: | Adds the object <sPrinterName> of the Printer type. |
Outputs: | Logical |
Note: | Printer - Represents printers in the Directory tree. A printer object points to the queues to which it is attached. |
See Also: | ** |
Example: | Success = NDS:Add:Printer("CN=LJ3")
If (!Success) Print("Error adding Printer Object") Endif |
Go to Table of Contents
NDS:Add:Profile
Module: | NDS.NLM |
Purpose: | Adds a Profile object. |
Syntax: | <lSuccess> = NDS:Add:Profile(<sProfileName>,<sLoginScript>) |
Description: | Adds a Profile type object <sProfileName> with the login script <sLoginScript>. |
Outputs: | Logical |
Note: | Profile - Specifies a shared login configuration. |
See Also: | ** |
Example: | Script = "map f:=sys:user"+Data:Chr(13)+Data:Char(10)
Script = Script + "map n:=sys:nml"+Data:Chr(13)+Data:Char(10) Success = NDS:Add:Profile("CN=Profile1",Script) If (!Success) Print("Error adding Profile Object") Endif |
Go to Table of Contents
NDS:Add:Queue
Module: | NDS.NLM |
Purpose: | Adds a Queue object. |
Syntax: | <lSuccess> = NDS:Add:Queue (<sQueueName>,<sQueueDirPath>) |
Description: | Adds the object <sQueueName> of the Queue type with the directory path <sQueueDirPath>. |
Outputs: | Logical |
Note: | Queue - Represents batch processing queues available in the NetWare NCP environment. |
See Also: | ** |
Example: | Success = NDS:Add:Queue("CN=LJ3 Queue","SYS:Queue")
If (!Success) Print("Error adding Queue Object") Endif |
Go to Table of Contents
NDS:Add:User
Module: | NDS.NLM |
Purpose: | Adds a User object. |
Syntax: | <lSuccess> = NDS:Add:User(<sCommonName>,<sSurname>) |
Description: | Adds the object <sUserName> of the User type with the surname <sSurname>. |
Outputs: | Logical |
Note: | User - Represents users of network services. |
See Also: | ** |
Example: | Success = NDS:Add:User("Bob","Dobbs")
If (!Success) Print("Error adding User Object") Endif |
Go to Table of Contents
NDS:Add:Volume
Module: | NDS.NLM |
Purpose: | Adds a Volume object. |
Syntax: | <lSuccess> = NDS:Add:Volume (<sCommonName>,<sHostServer>) |
Description: | Adds a Volume type object <sVolumeName> Volume type on the server <sHostServer>. |
Outputs: | Logical |
See Also: | ** |
Example: | Success = NDS:Add:Volume("Org1","Server1")
If (!Success) Print("Error adding Volume Object") Endif |
Go to Table of Contents
NDS:Alias
Module: | NDS.NLM |
Purpose: | Determines if a name is an alias. |
Syntax: | <lYesNo> = NDS:Alias |
Description: | This function checks to see if an object is an alais. The object must first be located using NDS:Locate, NDS:Container:Locate, or NDS:Search.Then the object has to be selected as the current object using NDS:First or NDS:Next. If the object is an alais for another object the function returns TRUE; otherwise FALSE is returned. |
Outputs: | Logical |
See Also: | NDS:Add:Alias, NDS:Container:Locate, NDS:First, NDS:Locate, NDS:Next, NDS:Search |
Example: | Count = NDS:Locate("[Root]")
Name = NDS:First Counter = 1 Do While (Counter <= Count) IF (NDS:Alias) Print(Name," is an alais"); NewLine Else Print(Name," is not an alais"); NewLine Endif Name = NDS:Next Counter = Counter + 1 EndDo |
Go to Table of Contents
NDS:Attribute:First
Module: | NDS.NLM |
Purpose: | Gets the First attribute name. |
Syntax: | <sAttrName> = NDS:Attribute:First |
Description: | Retrieve the first attribute for the object located by NDS:Attribute:Locate. |
Outputs: | String |
See Also: | NDS:Attribute:Locate, NDS:Attribute:Next |
Example: | See NDS:Attribute:Locate |
Go to Table of Contents
NDS:Attribute:Info
Module: | NDS.NLM | ||||||||||||||||||||||||
Purpose: | Gets the attribute information. | ||||||||||||||||||||||||
Syntax: | <sAttrInfo> = NDS:Attribute:Info | ||||||||||||||||||||||||
Description: | Returns a string of characters indicating the constraints of the attribute retrieved by NDS:Attribute:First or NDS:Attribute:Next for the object found by NDS:Attribute:Locate.
| ||||||||||||||||||||||||
Outputs: | String | ||||||||||||||||||||||||
See Also: | ** | ||||||||||||||||||||||||
Example: | Count = NDS:Attribute:Locate("User1","Surname")
Info = NDS:Attribute:Info AttrName = NDS:Attribute:First Print(Info);Newline |
Go to Table of Contents
NDS:Attribute:Locate
Module: | NDS.NLM |
Purpose: | Locates an Object and its attributes. |
Syntax: | <iCount> = NDS:Attribute:Locate (<sObjName>[,<sAttrName>]) |
Description: | Locates the object <sObjName> and the attributes requested. If the attribute name <sAttrName> is not specified then all attributes of the object are located and the count of them is returned. If an attribute name is specified then that attribute, if it exists, is located and a count of one (1) is returned. |
Outputs: | Integer |
Note: | Attributes may have more than one value assigned to them. |
See Also: | NDS:Attribute:First, NDS:Attribute:Next |
Example: | TgtObj = "TEST"
AttrCount = 0 ValCount = 0 CurrVal = 0 AttrCount = NDS:Attribute:Locate(TgtObj) Error = Err If Error = 0 AttrName = NDS:Attribute:First Error = Err CurrAttr = 1 Do While (CurrAttr <= AttrCount) If Error = 0 ValCount = NDS:Attribute:value:count Error = Err If Error = 0 CurrVal = 0 Do While (CurrVal < ValCount) Value = NDS:Attribute:value Error = Err If Error = 0 Print("Value ",Data:String(CurrVal)," : ",Value);Newline Else Win:Popup("Error: "+DATA:String(Error)) EndIf CurrVal = CurrVal + 1 EndDo Else Win:popup("Error (" + DATA:String(Error) + ") reading value count") EndIf Else WIN:Popup(CurrAttr + ":Error (" + DATA:String(Error) + ") reading attribute") EndIf AttrName = NDS:Attribute:Next Error = Err CurrAttr = CurrAttr + 1 EndDo Else WIN:Popup("ERROR: (" + DATA:String(Error) + ") getting attributes for " + TgtObj) EndIf |
Go to Table of Contents
NDS:Attribute:Next
Module: | NDS.NLM |
Purpose: | Gets the next attribute name. |
Syntax: | <sAttrName> = NDS:Attribute:Next |
Description: | Retrieves the next attribute name from the object located with NDS:Attribute:Locate after NDS:Attribute:First has been used. If all the attributes have been accessed NULL is returned and Err is set. |
Outputs: | String |
See Also: | NDS:Attribute:First, NDS:Attribute:Locate |
Example: | See NDS:Attribute:Locate |
Go to Table of Contents
NDS:Attribute:Size
Module: | NDS.NLM |
Purpose: | Gets the size of an objects attribute. |
Syntax: | <iAttrSize> = NDS:Attribute:Size |
Description: | If the attribute is a string it returns the maximum allowed size of the string, Otherwise, it returns -1. Before using this function NDS:Attribute:Locate must be used to locate the object and NDS:Attribute:First or NDS:Attribute:Next must be used to locate the attribute. |
Outputs: | Integer |
See Also: | NDS:Attribute:First, NDS:Attribute:Locate, NDS:Attribute:Next |
Example: | Count = NDS:Attribute:Locate("User1","Surname")
AttrName = NDS:Attribute:First Size = NDS:Attribute:Size Print("The Surname can be ",Data:String(Size), "Long");Newline |
Go to Table of Contents
NDS:Attribute:True:Type
Module: | NDS.NLM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Purpose: | Returns the NDS type of an attribute. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Syntax: | <sAttrType> = NDS:Attribute:True:Type | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description: | Returns the NDS syntax id (type) of the currently located object attribute. Before using this function NDS:Attribute:Locate must be used to locate the object and NDS:Attribute:First or NDS:Attribute:Next must be used to locate the attribute. The following table shows the meaning of each code returned by the NDS:Attribute:True:Type command.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Outputs: | String | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
See Also: | NDS:Attribute:Type | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example: | Count = NDS:Attribute:Locate("User1","Surname")
AttrName = NDS:Attribute:First Type = NDS:Attribute:True:Type Print("The NDS type of attr ",AttrName," is ",Type);Newline |
Go to Table of Contents
NDS:Attribute:Type
Module: | NDS.NLM | ||||||||||||||
Purpose: | Returns the NetBasic type of an attribute. | ||||||||||||||
Syntax: | <iAttrType> = NDS:Attribute:Type | ||||||||||||||
Description: | Returns the Mangeware type of the currently located object attribute. Before using this function NDS:Attribute:Locate must be used to locate the object and NDS:Attribute:First or NDS:Attribute:Next must be used to locate an attribute. The following table shows the meaning of each code returned by the NDS:Attribute:Type command.
| ||||||||||||||
Outputs: | Integer | ||||||||||||||
See Also: | NDS:Attribute:True:Type | ||||||||||||||
Example: | Count = NDS:Attribute:Locate("User1","Surname")
AttrName = NDS:Attribute:First Type = NDS:Attribute:Type Print("The manageware type of attr ",AttrName," is ",Type);Newline |
Go to Table of Contents
NDS:Attribute:Value
Module: | NDS.NLM |
Purpose: | Gets the cuurrent value of an object attribute. |
Syntax: | AttrValue> = NDS:Attribute:Value |
Description: | Returns the value of the attribute located by NDS:Attribute:First or NDS:Attribute:Next after NDS:Attribute:Locate has been used to located an object. If the attribute is a multi-valued attribute use the NDS:Attribute:Value:Count function to determine the number of values, then successive calls to NDS:Attribute:Value to read some or all the values of a multi-valued attribute. |
Outputs: | Any
NDS:Attribute:Value:Add, NDS:Attribute:Value:Change, NDS:Attribute:Value:Count, NDS:Attribute:Value:Delete |
See Also: | ** |
Example: | See NDS:Attribute:Locate |
Go to Table of Contents
NDS:Attribute:Value:Add
Module: | NDS.NLM |
Purpose: | Add new value to an object attribute. |
Syntax: | <lSuccess> = NDS:Attribute:Value:Add (<sObjName>,<sAttrName>,AttrValue>) |
Description: | Adds the value AttrValue> to an attribute <sAttrName> in the object <sObjName>. If the attribute is single value and it is already defined an error is set in the Err. If the attribute is a multi-valued attribute the value <xAttrValue> will be searched for if it does not exist it will be added, if it does an error will be returned. |
Outputs: | Logical |
See Also: | NDS:Attribute:Value, NDS:Attribute:Value:Change, NDS:Attribute:Value:Count, NDS:Attribute:Value:Delete |
Example: | Object = "User1"
Attribute = "Given Name" Value = "Bob" IF (NDS:Attribute:Value:Add(Object,Attribute,Value)) Print("Attribute Added");Newline Else Print("Attribute not Added");Newline Endif |
Go to Table of Contents
NDS:Attribute:Value:Change
Module: | NDS.NLM |
Purpose: | Changes the value of an existing object attribute. |
Syntax: | <lSuccess> = NDS:Attribute:Value:Change (<sObjName>,<sAttrName>,NewValue>[,<xOldValue>]) |
Description: | Changes the value of an attribute <sAttrName> for the object <sObjName> to the value in Value>. If an attribute is a single-valued attribute then the attribute's value is changed. If the attribute is multi-valued then <xOldValue> must be included if it is not Err is set. |
Outputs: | Logical |
See Also: | NDS:Attribute:Value, NDS:Attribute:Value:Add, NDS:Attribute:Value:Count, NDS:Attribute:Value:Delete |
Example: | IF (NDS:Attribute:Value:Change("User1","Surname","Smith"))
Print("Attribute Added");Newline Else Print("Attribute not Added");Newline Endif |
Go to Table of Contents
NDS:Attribute:Value:Count
Module: | NDS.NLM |
Purpose: | Gets the number of values in an object attribute. |
Syntax: | <iCount> = NDS:Attribute:Value:Count |
Description: | Return the number of values associated with the object attribute that was located using NDS:Attribute:First or NDS:Attribute:Next. |
Outputs: | Integer |
See Also: | NDS:Attribute:Value, NDS:Attribute:Value:Add, NDS:Attribute:Value:Change, NDS:Attribute:Value:Delete |
Example: | See NDS:Attribute:Locate |
Go to Table of Contents
NDS:Attribute:Value:Delete
Module: | NDS.NLM |
Purpose: | Deletes a value from object attribute. |
Syntax: | <lSuccess> = NDS:Attribute:Value:Delete (<sObjName>,<sAttrName>[,AttrValue>]) |
Description: | If the attribute <sAttrName> is a single valued attribute the present value of the attribute will be deleted. If the attribute is a multi-valued attribute and the optional parameter is not passed all values for the attribute will be deleted. If the optional parameter is included and the attribute is a multi-valued attribute then the value will be searched for in attribute. If it is detected that value is deleted, if it is not Err is set. |
Outputs: | Logical |
See Also: | NDS:Attribute:Value, NDS:Attribute:Value:Add, NDS:Attribute:Value:Change, NDS:Attribute:Value:Delete |
Example: | IF (NDS:Attribute:Value:Delete("User1","Given Name"))
Print("Attribute Deleted");Newline Else Print("Attribute not Deleted");Newline Endif |
Go to Table of Contents
NDS:Base:Class
Module: | NDS.NLM |
Purpose: | Gets the base class of an object. |
Syntax: | <sClassName> = NDS:Base:Class |
Description: | Returns a string containing the base class name of the object located by using NDS:First or NDS:Next. |
Outputs: | String |
Note: | A class used to create an object is referred to as the object's base class. |
See Also: | NDS:Container:Locate, NDS:First, NDS:Locate, NDS:Next, NDS:Search |
Example: | Count = NDS:Locate(".O=Org1")
ObjName = NDS:First BaseClass = NDS:Base:Class Print("The Base Class of ",ObjName," is ",BaseClass); NewLine |
Go to Table of Contents
NDS:Child:Count
Module: | NDS.NLM |
Syntax: | <iCount> = NDS:Child:Count |
Description: | Returns the number of subordinate objects for the object located using NDS:First or NDS:Next. Leaf nodes have 0 children. |
Outputs: | Integer |
See Also: | NDS:Container:Locate, NDS:First, NDS:Locate, NDS:Next, NDS:Search |
Example: | Count = NDS:Locate("[Root]")
ObjName = NDS:First Cnt = NDS:Child:Count Print("The Child Count of ",ObjName," is ",Cnt); NewLine |
Go to Table of Contents
NDS:Container
Module: | NDS.NLM |
Purpose: | Deterrmine if an object is a container. |
Syntax: | <lYesNo> = NDS:Container |
Description: | This function checks to see if an object is an container. The object must first be located using NDS:Locate, NDS:Container:Locate, or NDS:Search.Then the object has to be selected as the current object using NDS:First or NDS:Next. If the object is a container the function returns TRUE; otherwise FALSE is returned. |
Outputs: | Logical |
Note: | Objects can be organized so that they can contain or group other objects. The grouping objects are called container objects. |
See Also: | NDS:Container:Locate, NDS:First, NDS:Locate, NDS:Next, NDS:Search |
Example: | Count = NDS:Locate("[Root]")
ObjName = NDS:First If (NDS:Container) Print("Object ",ObjName," is a container"); NewLine Endif |
Go to Table of Contents
NDS:Container:Locate
Module: | NDS.NLM |
Syntax: | <iCount> = NDS:Container:Locate(<sRootObj>) |
Description: | Locates the names of the container objects that are immediately subordinate to the specified object and returns the number found. The names are accessed with the NDS:First and NDS:Next functions. |
Outputs: | Integer |
See Also: | NDS:First, NDS:Next |
Example: | Count = NDS:Container:Locate("[Root]")
Print(NDS:First); NewLine Do While (Count > 0) Print(NDS:Next); NewLine EndDo |
Go to Table of Contents
NDS:Context:Path
Module: | NDS.NLM |
Purpose: | Gets the current context path. |
Syntax: | <sPathName> = NDS:Context:Path |
Description: | Returns the context path name for the current session. |
Outputs: | String |
See Also: | NDS:Context:Path:Change |
Example: | Print("Current context = ",NDS:Context:Path); NewLine |
Go to Table of Contents
NDS:Context:Path:Change
Module: | NDS.NLM |
Purpose: | Change current context. |
Syntax: | <sOldPath> = NDS:Context:Path:Change(<sNewPath>) |
Description: | Changes the context path from <sOldPath> to <sNewPath> for the current session.This function returns the old context path. |
Outputs: | String |
See Also: | NDS:Context:Path |
Example: | NDS:Context:Path:Change("[Root]")
Print("Current context = ",NDS:Context:Path); NewLine |
Go to Table of Contents
NDS:Context:DSServer
Module: | NDS.NLM |
Purpose: | Gets the last server name that processed the NDS call. |
Syntax: | <sCurrServer> = NDS:Context:DSServer |
Description: | Returns the distinguished name of the last server to process a call to directory services. |
Outputs: | String |
See Also: | ** |
Example: | CurrServer = NDS:Context:DSServer() |
Go to Table of Contents
NDS:Date:Modified
Module: | NDS.NLM |
Purpose: | Gets the date of the last time an object was modified. |
Syntax: | <iModTime> = NDS:Date:Modified |
Description: | Returns the last modified date of an object in UTF format. The object must first be located using NDS:Locate, NDS:Container:Locate, or NDS:Search.Then the object has to be selected as the current object using NDS:First or NDS:Next. |
Outputs: | Integer |
See Also: | NDS:Container:Locate, NDS:First, NDS:Locate, NDS:Next, NDS:Search |
Example: | Count = NDS:Container:Locate("[Root]")
ObjName = NDS:First Dateobj = Date:Object(NDS:Date:Modified) Print("Object ",ObjName," was last modified on ") Print(DateObj.Date," ",DateObj.Time);Newline |
Go to Table of Contents
NDS:Delete
Module: | NDS.NLM |
Purpose: | Deletes an object. |
Syntax: | <lSuccess> = NDS:Delete(<sObjName>) |
Description: | Deletes the object <sObjName> of any type. If the Deletion was successful TRUE is returned, otherwise FALSE is returned. |
Outputs: | Logical |
See Also: | ** |
Example: | If (NDS:Delete("Test4"))
Print("Object deleted"); NewLine Else Print("Object not deleted"); NewLine EndIf |
Go to Table of Contents
NDS:First
Module: | NDS.NLM |
Purpose: | Locates the first object. |
Syntax: | <sObjName> = NDS:First |
Description: | Retrieve the first object name from objects located by NDS:Locate, NDS:Containers:Get or NDS:Search and make it the current object. |
Outputs: | String |
See Also: | NDS:Container:Locate, NDS:Locate, NDS:Next, NDS:Search |
Example: | See NDS:Locate |
Go to Table of Contents
NDS:Locate
Module: | NDS.NLM |
Purpose: | Locates the subordinate objects. |
Syntax: | <iCount> = NDS:Locate(<sRootObj>) |
Description: | Locates the objects that are immediately subordinate to the <sRootObj> and returns the number found. The names are accessed with the NDS:First and NDS:Next functions. |
Outputs: | Integer |
See Also: | NDS:Container:Locate, NDS:First, NDS:Next, NDS:Search |
Example: | Count = NDS:Locate("[Root]")
IF (Count > 0) Print(NDS:First);Newline Counter = 1 Do While (Counter < Count) Print(NDS:Next);Newline Counter = Counter + 1 Enddo Endif |
Go to Table of Contents
NDS:Map:ID
Module: | NDS.NLM |
Purpose: | Maps a Directory Services object ID to the object name. |
Syntax: | <sObjectName> = NDS:Map:Id(<iObjectID>) |
Description: | This function will map a directory object ID to the object name to which it refers. |
Outputs: | String |
See Also: | NDS:Map:Name |
Example: | sName = NDS:Map:Id(iObject) |
Go to Table of Contents
NDS:Map:Name
Module: | NDS.NLM |
Purpose: | Maps a Directory Services object name to the object ID. |
Syntax: | <iObjectID> = NDS:Map:Name(<sObjectName>) |
Description: | The function will map a directory object name to the local directory ID to which it refers. This is useful for obtaining an ID for use in adding file system trustees, when all you have is the object name. |
Outputs: | Integer |
See Also: | NDS:Map:Id |
Example: | iObject = NDS:Map:Name("Admin") |
Go to Table of Contents
NDS:Move
Module: | NDS.NLM |
Purpose: | Moves an object. |
Syntax: | <lSuccess> = NDS:Move (<sOldName>,<sNewParentDN>,<sNewRDN>) |
Description: | Moves the object <sOldName> to a new postion in the tree. The <sOldName> must be a complete name. The object's Relative Distinguished Name may be changed by specifying a different Relative Distinguished Name as the new Relative Distinguished Name. The new Relative Distinguished Name is not effected by the current context's path value, but the old object name and the new (destination) parent's name are effected. TRUE is returned if the function is successful, FALSE otherwise. |
Outputs: | Logical |
Note: | This function only works for leaf objects. |
See Also: | ** |
Example: | OldName = ".CN=User0.OU=Unit2.O=Testorg1"
NewParent = ".O=Testorg1" NewRDN = "CN=User0" Success = NDS:Move (OldName,NewParent,NewRDN) |
Go to Table of Contents
NDS:Name
Module: | NDS.NLM |
Purpose: | Gets the distinguished name an object. |
Syntax: | <sObjName> = NDS:Name([<iSession>]) |
Description: | Retrieves the distinguished name of the object that is logged in on the specified session number. If <iSession> is specified the logged in object name for the specified session id returned. If not specified then the current session number is assumed. When a session is created the distinguished name of the object is stored in the client session structure. This distinguished name has no relationship to the name context that is stored in the session's directory context. |
Outputs: | String |
See Also: | NDS:Name:Change, NDS:Name:Long, NDS:Name:Short, NDS:Name:Type:Remove |
Example: | Context = NDS:Context:Path
Print("Current context = ",NDS:Name(Context) ); NewLine |
Go to Table of Contents
NDS:Name:Change
Module: | NDS.NLM |
Purpose: | Renames an object. |
Syntax: | <lSuccess> = NDS:Name:Change(<sOldName>,<sNewName>) |
Description: | Renames the object <sOldName> to <sNewName>. To move an object to a different location in the tree use NDS:Move. TRUE is returned if the function is successful, False otherwise. |
Outputs: | Logical |
Note: | Only leaf objects can be renamed and only the Relative Distinguished Name can be changed. |
See Also: | NDS:Name, NDS:Name:Long, NDS:Name:Short, NDS:Name:Type:Remove |
Example: | If !(NDS:Name:Change("CN=User0","CN=Pete"))
Print("Unable to change name"); NewLine EndIf |
Go to Table of Contents
NDS:Name:Long
Module: | NDS.NLM |
Purpose: | Convert a Relative Distinguished Name to a Distinguished Name. |
Syntax: | <sLongName> = NDS:Name:Long(<sShortName>) |
Description: | Converts an Relative Distinguished Name and a context into a Distinguished Name. |
Outputs: | String |
See Also: | NDS:Name, NDS:Name:Change, NDS:Name:Short, NDS:Name:Type:Remove |
Example: | Context = NDS:Context:Path
Print("Current context = ",NDS:Name:Long(Context) ); NewLine |
Go to Table of Contents
NDS:Name:Short
Module: | NDS.NLM |
Purpose: | Convert a Distinguished Name to its shortest size. |
Syntax: | <sShortName> = NDS:Name:Short(<sLongName>) |
Description: | Returns the shortest possible version of a complete Distinguished Name relative to the current context. If the context flags are set to use typeless names then the name that is returned is typless; otherwise it is completely typed. |
Outputs: | String |
See Also: | NDS:Name, NDS:Name:Change, NDS:Name:Long, NDS:Name:Type:Remove |
Example: | Context = NDS:Context:Path
Print("Current context = ",NDS:Name:Short(Context) ); NewLine |
Go to Table of Contents
NDS:Name:Type:Remove
Module: | NDS.NLM |
Purpose: | Remove the type from a Distinguished Name. |
Syntax: | <sTypelessName> = NDS:Name:Types:Remove(<sObjName>) |
Description: | Returns a string containing the typless version of the name <sObjName> and its context. |
Outputs: | String |
See Also: | NDS:Name, NDS:Name:Change, NDS:Name:Long, NDS:Name:Short |
Example: | Context = NDS:Context:Path
Print("Current context = ",NDS:Name:Types:Remove(Context) ); NewLine |
Go to Table of Contents
NDS:Next
Module: | NDS.NLM |
Purpose: | Locates the next object. |
Syntax: | <sObjName> = NDS:Next |
Description: | Retrieve the next object name from objects located by NDS:Locate, NDS:Containers:Get or NDS:Search and make it the current object. "" is returned and Err is set if all the objects have been read. |
Outputs: | String |
See Also: | NDS:Container:Locate, NDS:First, NDS:Locate, NDS:Search |
Example: | See NDS:Locate |
Go to Table of Contents
NDS:Partition:First
Module: | NDS.NLM |
Purpose: | Locates the first partition. |
Syntax: | <sPartName> = NDS:Partition:First |
Description: | Locates the first partition name from the partitions located using NDS:Partition:Locate and makes it the current partition. |
Outputs: | String |
See Also: | NDS:Partition:Locate, NDS:Partition:Next |
Example: | See NDS:Partition:Locate |
Go to Table of Contents
NDS:Partition:Join
Module: | NDS.NLM |
Purpose: | Joins partitions together. |
Syntax: | <lSuccess> = NDS:Partition:Join(<sNodeName>) |
Description: | Joins a subordinate partition with the root node <sNodeName> to its parent . |
Outputs: | Logical |
See Also: | NDS:Partition:Split |
Example: | Success = NDS:Partition:Join(".OU=Unit3.O=Org1")
Error = Err Print("Error = ",Error); NewLine |
Go to Table of Contents
NDS:Partition:Locate
Module: | NDS.NLM |
Purpose: | Locates all partitions. |
Syntax: | <iCount> = NDS:Partition:Locate(<sServerName>) |
Description: | Locates all the partitions that are resident on the server <sServerName>. The names are accessed with the NDS:Partition:First and NDS:Partition:Next functions. The number of partitions found is returned. |
Outputs: | Integer |
See Also: | NDS:Partition:First, NDS:Partition:Next |
Example: | Count = NDS:Partition:Locate("Hitecsoft5")
Error = Err If (Count > 0) Print("There are ",DATA:String(Count)," Partitions");NewLine Partition = NDS:Partition:First Counter = 1 Do While (Counter <= count) Print("Partition ",Str:trim:all(Data:String(Counter))," : ",Partition); NewLine Type = PartType(NDS:Partition:Type) Print("Partition type : ",Type);Newline Partition = NDS:Partition:Next Counter = Counter + 1 EndDo EndIf |
Go to Table of Contents
NDS:Partition:Next
Module: | NDS.NLM |
Purpose: | Locates the first partition. |
Syntax: | <sPartName> = NDS:Partition:Next |
Description: | Locates the next partition name and info from the partitions found using NDS:Partition:Locate after NDS:Partition:First has been called. An empty string "" is returned and Err is set if there are no more partitions to be located. |
Outputs: | String |
See Also: | NDS:Partition:First, NDS:Partition:Locate |
Example: | See NDS:Partition:Locate |
Go to Table of Contents
NDS:Partition:Root
Module: | NDS.NLM |
Purpose: | Determine if an object is a partition root. |
Syntax: | <lRoot> = NDS:Partition:Root |
Description: | If the current object, found using NDS:First or NDS:Next, is a partitions root node object the function returns TRUE; otherwise FALSE is returned. |
Outputs: | Logical |
See Also: | NDS:Container:Locate, NDS:First, NDS:Locate, NDS:Next, NDS:Search |
Example: | IsRoot = NDS:Partition:Root
IF (IsRoot) Print("Root found");Newline Endif |
Go to Table of Contents
NDS:Partition:Root:Get
Module: | NDS.NLM |
Purpose: | Gets the partition root node of an object. |
Syntax: | <sRootName> = NDS:Partition:Root:Get(<sObjName>) |
Description: | Returns a string containing the name of the root node (object) of the partition in which the object <sObjName> is contained. |
Outputs: | String |
See Also: | ** |
Example: | RootName = NDS:Partition:Root:Get("User1")
Print(RootName);Newline |
Go to Table of Contents
NDS:Partition:Split
Module: | NDS.NLM |
Purpose: | Divide a partition. |
Syntax: | <lSuccess> = NDS:Partition:Split(<sNodeName>) |
Description: | Splits off a partition from the parent partition at the object <sNodeName> and makes <sNodeName> into the new partition's root node. A replica of the new partition is created everywhere the parent partition had a replica. If the split is unsuccessful the Err is set. |
Outputs: | Logical |
See Also: | ** |
Example: | Success = NDS:Partition:Split(".OU=UNIT3.O=Org1")
Error = Err Print("Error = ",Error); NewLine |
Go to Table of Contents
NDS:Partition:Sync
Module: | NDS.NLM |
Purpose: | Schedule a synchronization. |
Syntax: | <lSuccess> = NDS:Partition:Sync(<sPartName>,<sServerName>) |
Description: | Tells the network to schedule the partition <sPartName> on server <sServerName> for synchronization. |
Outputs: | Logical |
Note: | The Server name is Directory Services server name not a bindery name. |
See Also: | NDS:Partition:Sync:Time |
Example: | NDS:Partition:Sync("O=Org1","HITECSOFT6") |
Go to Table of Contents
NDS:Partition:Sync:Time
Module: | NDS.NLM |
Purpose: | Gets the last time a partition was synchronized. |
Syntax: | <iTime> = NDS:Partition:Sync:Time(<sNodeName>) |
Description: | Returns the last time the partition with a root node (object) <sNodeName> was synchronized. |
Outputs: | Integer |
See Also: | NDS:Partition:Sync |
Example: | Print( NDS:Partition:Sync:Time("O=Org1") );Newline
|
Go to Table of Contents
NDS:Partition:Type
Module: | NDS.NLM | ||||||||
Purpose: | Get the type of a partition. | ||||||||
Syntax: | <iRepType> = NDS:Partition:Type | ||||||||
Description: | Returns the partition (replica) type of the partition currently selected using NDS:Partition:First or NDS:Partition:Next. The types of partitions are:
| ||||||||
Outputs: | Integer | ||||||||
See Also: | NDS:Partition:First, NDS:Partition:Locate, NDS:Partition:Next | ||||||||
Example: | See NDS:Partition:Locate
|
Go to Table of Contents
NDS:Password:Change
Module: | NDS.NLM |
Purpose: | Changes an objects password. |
Syntax: | <iSuccess> = NDS:Password:Change (<sObjName>,<sOldPass>,<sNewPass>) |
Description: | Changes the password for the object <sObjName> from <sOldPass> to <sNewPass>. |
Outputs: | Logical |
See Also: | NDS:Password:Verify |
Example: | Print( NDS:Password:Verify("CN=User1","oldpass","newpass") );Newline |
Go to Table of Contents
NDS:Password:Verify
Module: | NDS.NLM |
Purpose: | Verifies an objects password. |
Syntax: | <lSuccess> = NDS:Password:Verify(<sObjName>,<sPassword>) |
Description: | Verifies that the object <sObjName> has the password <sPassword>. |
Outputs: | Logical |
See Also: | NDS:Password:Change |
Example: | Print( NDS:Password:Verify("CN = User1","password") );Newline |
Go to Table of Contents
NDS:Replica:Add
Module: | NDS.NLM |
Purpose: | Adds a Partition replica. |
Syntax: | <lSuccess> = NDS:Replica:Add (<sTargetServer>,<sRootName>,<iRepType>) |
Description: | Adds a replica of a partition with the root <sRootName> to the server <sTargetServer> of the type <iRepType>. |
Outputs: | Logical |
Note: | The function must be running on the server where the master replica exists and a replica cannot exist on the target server. |
See Also: | NDS:Replica:Delete |
Example: | Server = "CN=Server6.OU=DEV1.O=Org1"
Root = "O=ORG1" Type = 1 NDS:Replica:Add(Server,Root,Type) Error = Err Print("Error = ",Error); NewLine |
Go to Table of Contents
NDS:Replica:Delete
Module: | NDS.NLM |
Purpose: | Delete a partition replica. |
Syntax: | <lSuccess> = NDS:Replica:Delete (<sTargetServer>,<sRootName>) |
Description: | Deletes a replica of a partition whose root node is <sRootName> on the server <sTargetServer>. |
Outputs: | Logical |
Note: | A replica name is the name of server where the replica resides. The last copy of a replica (the master) must be deleted using NDS:Delete:Partition. |
See Also: | NDS:Replica:Add |
Example: | Server = ".CN=Server2.O=Org1"
Success = NDS:Replica:Delete(Server,".OU=Unit1.O=Org1") Error = Err Print("Error = ",Error); NewLine |
Go to Table of Contents
NDS:Replica:First
Module: | NDS.NLM |
Purpose: | Gets the first server name. |
Syntax: | <sServerName> = NDS:Replica:First |
Description: | Retrieves the first server name for the partition replicas located in NDS:Replica:Locate. |
Outputs: | String |
See Also: | NDS:Replica:Locate, NDS:Replica:Next |
Example: | See NDS:Replica:Locate |
Go to Table of Contents
NDS:Replica:Locate
Module: | NDS.NLM |
Purpose: | Locates all replicas of a partition. |
Syntax: | <iCount> = NDS:Replica:Locate(<sPartition>) |
Description: | Locates all of the replicas of the partition <sPartition> an returns the number found. If there is an error Err is set and a count of zero is returned. |
Outputs: | Integer |
See Also: | NDS:Replica:First, NDS:Replica:Next |
Example: | Partition = "[Root]"
Print("Partition : ",Partition);Newline Count = NDS:Replica:Locate(Partition) Error = Err Print("Get Error = ",DATA:String(Error)); NewLine Print("Count = ",Count); NewLine RName = NDS:Replica:First Counter = 0 Do While (Counter < Count) type = NDS:Replica:Type Print("Server : ",RName); NewLine Print("Replica Type : ",Type);Newline RName = NDS:Replica:Next Counter = Counter + 1 EndDo |
Go to Table of Contents
NDS:Replica:Next
Module: | NDS.NLM |
Purpose: | Gets the next server name. |
Syntax: | <sServerName> = NDS:Replica:Next |
Description: | Retrieves the next server name for the partition replicas located in NDS:Replica:Locate after NDS:Replica:First is called. If all the server names have been accessed NULL is returned and Err is set. |
Outputs: | String |
See Also: | NDS:Replica:First, NDS:Replica:Locate |
Example: | See NDS:Replica:Locate |
Go to Table of Contents
NDS:Replica:Type
Module: | NDS.NLM | ||||||||
Purpose: | Returns the type of a replica. | ||||||||
Syntax: | <iRepType> = NDS:Replica:Type | ||||||||
Description: | Returns the type of a replica located with NDS:Replica:First or NDS:Replica:Next after NDS:Replica:Locate was called. The Types of replicas are:
| ||||||||
Outputs: | Integer | ||||||||
See Also: | NDS:Replica:Type:Change | ||||||||
Example: | See NDS:Replica:Locate |
Go to Table of Contents
NDS:Replica:Type:Change
Module: | NDS.NLM | ||||||||
Purpose: | Changes the type of replica. | ||||||||
Syntax: | <lSuccess> = NDS:Replica:Type:Change (<sServerName>,<sRootName>,<iNewType>) | ||||||||
Description: | Changes the type of a replica from read-only to read/write, read/write to read-only, read/write to master or read-only to master. You cannot change a master replica to another type. Only directory services can redesignate a master to another type. When a user changes a replica type to a master directory services will effect the change of the previous master's type. The possible types are:
| ||||||||
Outputs: | Logical | ||||||||
See Also: | NDS:Replica:Type | ||||||||
Example: | Success = NDS:Replica:Type:Change("Server2",".O=Org1","1") |
Go to Table of Contents
NDS:Rights
Module: | NDS.NLM |
Purpose: | Returns the rights of a subject. |
Syntax: | <sPrivileges> = NDS:Rights (<sSubjName>,<sObjName>,<sAttrName>) |
Description: | Returns a string in the form "[fff...]" where f is a specific privilege that the subject <sSubjName> has on the object <sObjName> or object attribute <sAttrName>. |
Outputs: | String |
Note: | If the rights for an object are need use NDS:Attribute:Locate and request [Entry Rights] |
See Also: | NDS:Attribute:Locate |
Example: | Priv=NDS:Rights("User1",".CN=User2.O=ORG1","Surname")
Error = Err If (Error != 0) Print("Rights Error = ",Data:String(Error));Newline Endif Print("Priv : ",Priv) |
Go to Table of Contents
NDS:Search
Module: | NDS.NLM | ||||||||||||||||||
Purpose: | Searchs for objects. | ||||||||||||||||||
Syntax: | <iCount> = NDS:Search (<sRootObj>,<iScope>,<lDerefAlias>,<sAttrName>,<sOperator>,AttrVal>) | ||||||||||||||||||
Description: | Searchs for the objects that match the criterion specified in the function parameters. The Object names are retrieved using NDS:First and NDS:Next.
The Scope parameter used in NDS:Search can have any of the following values:
The <lDerefAlias> parameter is used to instruct the NDS:Search function to dereference aliases or not when searching. It is a boolean and may contain the values TRUE or FALSE. The AttrName, Operator and AttrVal parameters are employed to allow the user to specifiy a filter expression for the search. The AttrName parameter is a string containing any valid attribute name. The <sOperator> parameter is a string containing any of the following values:
The AttrVal> parameter is an any type parameter that is used to specify the attribute value. AttrVal must be specified in the format that is appropriate for the attribute's syntax. | ||||||||||||||||||
Outputs: | Integer | ||||||||||||||||||
See Also: | NDS:Container:Locate, NDS:Locate | ||||||||||||||||||
Example: | AttrName = "Object Class"
Operator = "=" AttrVal = "User" Count = NDS:Search("[Root]",2,True,AttrName,Operator,AttrVal) If (Count > 0) Print("Found it");Newline Endif |
Go to Table of Contents
NDS:Security:Add
Module: | NDS.NLM |
Purpose: | Adds security rights to an object. |
Syntax: | <lSuccess> = NDS:Security:Add(<sObjName>,<sEqualToName>) |
Description: | Adds an entry to the object <sObjName> list of security equivalences. |
Outputs: | Logical |
See Also: | NDS:Security:Delete |
Example: | Success = NDS:Security:Add(".CN=USER2.O=ORG1",".OU=UNIT1.O=ORG1")
Error = Err If !(Success) Print("Error = ",DATA:String(Error)); NewLine EndIf |
Go to Table of Contents
NDS:Security:Delete
Module: | NDS.NLM |
Purpose: | Deletes the security rights of an object. |
Syntax: | <lSuccess> = NDS:Security:Delete (<sObjName>,<sEqualToName>) |
Description: | Remove the object <sObjName> from the list of security equivalents for the subject. |
Outputs: | Logical |
See Also: | NDS:Security:Add |
Example: | Success = NDS:Security:Delete(".CN=USER2.O=ORG1",".OU=UNIT1.O=ORG1")
Error = Err If !(Success) Print("Error = ",DATA:String(Error)); NewLine EndIf |
Go to Table of Contents
NDS:Session:Current
Module: | NDS.NLM |
Purpose: | Returns the session number for the currect session. |
Syntax: | <iSession> = NDS:Session:Current |
Description: | Returns the session number <iSession> of the currently selected session. |
Outputs: | Integer |
See Also: | NDS:Session:Login, NDS:Session:Logout, NDS:Session:Select |
Example: | CurrSess = NDS:Session:Current
Print("The current session is ",CurrSess);Newline |
Go to Table of Contents
NDS:Session:Login
Module: | NDS.NLM |
Purpose: | Logs in a new NDS session. |
Syntax: | <iSession> = NDS:Session:Login (<sClientName>,<sClientPass>) |
Description: | Creates a directory service context and logs in to directory services using the specified object name and password. If no more client sessions are available, the object name doesn't exist or if the password for the object is incorrect the call fails and Err is set. |
Outputs: | Integer |
See Also: | NDS:Session:Current, NDS:Session:Logout, NDS:Session:Select |
Example: | Buf = ".CN=User1.O=Org1"
Password = "Pass" CurrSess = NDS:Session:Login(Buf,STR:Trim:All(Password)) Error = Err If (CurrSess <= 0) Print("Error ( ",Data:String(Error)," ) logging in as ",Buf) Endif |
Go to Table of Contents
NDS:Session:Logout
Module: | NDS.NLM |
Purpose: | Logs the current NDS session out. |
Syntax: | <lSuccess> = NDS:Session:Logout |
Description: | Logs the current session's object out of the network, frees its context and deletes the current client session from the client session array. The 1st in use (logged in) client session becomes the current session. If there are no other client sessions (logged in objects) in the client session list then the default session 0 becomes the current session.
The default session (session 0) is not a logged in client session and therefore cannot be logged out. A failure to log the client object out of the net or to free its context will cause the call to fail, set the Err, and will invalidate the client session in the session array until the library is re-loaded. |
Outputs: | Logical |
See Also: | NDS:Session:Current, NDS:Session:Login, NDS:Session:Select |
Example: | Out = NDS:Session:Logout()
Error = Err If (Out = False) Print("ERROR: (" + DATA:String(Error) + ") logging out "); NewLine EndIf |
Go to Table of Contents
NDS:Session:Select
Module: | NDS.NLM |
Purpose: | Changes the current NDS session. |
Syntax: | <iOldSession> = NDS:Session:Select(<iNewSession>) |
Description: | Select an existing directory services session < iNewSession > to make the current directory services session. |
Outputs: | Integer |
See Also: | NDS:Session:Current, NDS:Session:Login, NDS:Session:Logout |
Example: | OldSession=NDS:Session:Select(NewSession) |