Click or drag to resize
OSIsoft, LLC

PIIdentity Class

The PIIdentity object represents an identity on a PIServer.

Inheritance Hierarchy
SystemObject
  OSIsoft.AF.PIPIIdentity

Namespace:  OSIsoft.AF.PI
Assembly:  OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 2.10.6.195
Syntax
public sealed class PIIdentity : IComparable, 
	IComparable<PIIdentity>, IEquatable<PIIdentity>

The PIIdentity type exposes the following members.

Properties
  NameDescription
Public propertyAllowExplicitLogin
This property determines if the PIIdentity can be used for an explicit login.
Public propertyAllowMappings
This property determines if the PIIdentity can be used in a Mapping.
Public propertyAllowTrusts
This property determines if the PIIdentity can be used in a Trust.
Public propertyCanDelete
This property determines if the PIIdentity can be deleted on the PIServer.
Public propertyDescription
Read/write property that provides a description of the PIIdentity.
Public propertyID
Read-only property that provides a unique identifier for the PIIdentity on the PIServer.
Public propertyIdentityType
This property identifies the type of PIIdentity.
Public propertyIsDeleted
This read-only property indicates whether the object has been deleted.
Public propertyIsDirty
This read-only property indicates whether the object has been modified since the last save to the PI Data Archive.
Public propertyIsEnabled
This property determines if the PIIdentity is enabled on the PIServer.
Public propertyIsNew
This read-only property indicates whether the object has been added into the collection but has not been saved to the PI Data Archive.
Public propertyName
This property defines the name of the PIIdentity.
Public propertyServer
The PIServer for this PIIdentity.
Top
Methods
  NameDescription
Public methodCheckIn
This method checks in (commits) all the changes to the object by saving the information to PI Data Archive.
Public methodCompareTo(Object)
Compares this instance with a specified Object.
Public methodCompareTo(PIIdentity)
Compares this instance with a specified PIIdentity.
Public methodEquals(Object)
Determines whether the specified Object is equal to the current object.
(Overrides ObjectEquals(Object).)
Public methodEquals(PIIdentity)
Indicates whether the current object is equal to another object of the same type.
Public methodGetGroupMemberships
Get all the PI Groups associated with this PIUser identity.
Public methodGetHashCode
Gets the hash code for this instance of the object which is suitable for use in hashing algorithms and data structures like a hash table.
(Overrides ObjectGetHashCode.)
Public methodGetPIIdentityMappings
Get all the PIIdentityMapping objects associated with this identity.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetUserMemberships
Get all the PI Users associated with this PIGroup identity.
Public methodSetGroupMemberships
Set the PI Groups associated with this PIUser identity.
Public methodSetPassword
Set the password associated with this PIUser identity.
Public methodToString
Returns a String that represents the current object.
(Overrides ObjectToString.)
Top
Operators
  NameDescription
Public operatorStatic memberEquality
The equality operator (==) compares its operands to determine if they are equal.
Public operatorStatic memberGreaterThan
The greater than relation operator (>) compares its operands to determine which one is greater than the other.
Public operatorStatic memberGreaterThanOrEqual
The greater than or equal relation operator (>=) compares its operands to determine which one is greater than or equal to the other.
Public operatorStatic memberInequality
The inequality operator (!=) compares its operands to determine if they are not equal.
Public operatorStatic memberLessThan
The less than relation operator (<) compares its operands to determine which one is less than the other.
Public operatorStatic memberLessThanOrEqual
The less than or equal relation operator (<=) compares its operands to determine which one is less than or equal to the other.
Top
Remarks
A PIIdentity represents a PI Identity, PI User or PI Group on a PIServer. A PI Identity is used to define an authentication path to the server. Once authenticated, access permissions on PI Data Archive objects define authorization against all three types of identities: PI Identities, PI Users, and PI Groups.
Examples
// Get the PIIdentities from the PIServer on the local computer
PISystems myPISystems = new PISystems();
PISystem myPISystem = myPISystems.DefaultPISystem;
PIServer myPIServer = PIServer.FindPIServer(myPISystem, piServerName);

// Display information about each PIIdentity and its properties
PIIdentities identities = myPIServer.Identities;
Console.WriteLine("Found {0} identities", identities.Count);
foreach (PIIdentity identity in identities)
{
    Console.WriteLine(identity.Name);
    Console.WriteLine("  IdentityType: {0}", identity.IdentityType);
    Console.WriteLine("  Description: {0}", identity.Description);
    Console.WriteLine("  AllowExplicitLogin: {0}", identity.AllowExplicitLogin);
    Console.WriteLine("  AllowMappings: {0}", identity.AllowMappings);
    Console.WriteLine("  AllowTrusts: {0}", identity.AllowTrusts);
    Console.WriteLine("  IsEnabled: {0}", identity.IsEnabled);
    Console.WriteLine();
}

// Add an identity of PIIdentity type, if it does not yet exist.
string newIdName = "PIIdentityTestExample";
PIIdentity newId;
if (!identities.Contains(newIdName))
{
    // Note that adding or editing an identity requires 'CheckIn' in order to commit it to the PI Data Archive.
    newId = identities.Add(newIdName, PIIdentityType.PIIdentity);
    newId.CheckIn();
}
else 
    newId = identities[newIdName];

Console.WriteLine(newId.Name);
Console.WriteLine("  IdentityType: {0}", newId.IdentityType);
Console.WriteLine("  Description: {0}", newId.Description);
Console.WriteLine("  AllowExplicitLogin: {0}", newId.AllowExplicitLogin);
Console.WriteLine("  AllowMappings: {0}", newId.AllowMappings);
Console.WriteLine("  AllowTrusts: {0}", newId.AllowTrusts);
Console.WriteLine("  IsEnabled: {0}", newId.IsEnabled);
Console.WriteLine();

// Edit an identity.
newId.Description = "This is a PIIdentity for Test Example";
newId.CheckIn();

Console.WriteLine(newId.Name);
Console.WriteLine("  Description: {0}", newId.Description);
Console.WriteLine();

// Delete an identity. 
// Note that the 'Remove' call will be directly committed to the PI Data Archive.
identities.Remove(newId);
Version Information

AFSDK

Supported in: 2.10.5, 2.10, 2.9.5, 2.9, 2.8.5, 2.8, 2.7.5, 2.7, 2.6
See Also
Enabling Operational Intelligence