public class DirectoryBase
{
protected static DirectoryEntry entry = null;
/// <summary>
///
/// </summary>
/// <param name="entryPath"></param>
public DirectoryBase(string entryPath)
{
try
{
entry = new DirectoryEntry(entryPath);
entry.RefreshCache();
}
catch
{
entry = null;
}
}
/// <summary>
///
/// </summary>
/// <param name="entryPath"></param>
/// <returns></returns>
protected static DirectoryEntry Entry(string entryPath)
{
return new DirectoryEntry(entryPath);
}
/// <summary>
/// 获取属性值
/// </summary>
/// <param name="propertyName"></param>
/// <returns></returns>
protected static object PropertyValue(string propertyName)
{
return entry.Properties[propertyName].Value;
}
/// <summary>
/// 获取属性值
/// </summary>
/// <param name="propertyName"></param>
/// <returns></returns>
protected static object PropertyValue(DirectoryEntry objEntry, string propertyName)
{
return objEntry.Properties[propertyName].Value;
}
/// <summary>
/// 获取索引为i的属性值
/// </summary>
/// <param name="propertyName"></param>
/// <param name="i"></param>
/// <returns></returns>
protected static object PropertyValue(string propertyName, int i)
{
return entry.Properties[propertyName][i];
}
/// <summary>
/// 获取索引为i的属性值
/// </summary>
/// <param name="propertyName"></param>
/// <param name="i"></param>
/// <returns></returns>
protected static object PropertyValue(DirectoryEntry objEntry, string propertyName, int i)
{
return objEntry.Properties[propertyName][i];
}
/// <summary>
/// 设置属性值
/// </summary>
/// <param name="propertyName"></param>
/// <param name="value"></param>
protected static void PropertyValue(string propertyName, object value)
{
entry.Properties[propertyName][0] = value;
entry.CommitChanges();
}
/// <summary>
/// 设置属性值
/// </summary>
/// <param name="propertyName"></param>
/// <param name="value"></param>
/// <param name="i"></param>
protected static void PropertyValue(string propertyName, object value, int i)
{
entry.Properties[propertyName][i] = value;
entry.CommitChanges();
}
/// <summary>
/// 设置属性值
/// </summary>
/// <param name="propertyName"></param>
/// <param name="value"></param>
protected static void PropertyValue(DirectoryEntry objEntry, string propertyName, object value)
{
objEntry.Properties[propertyName][0] = value;
objEntry.CommitChanges();
}
/// <summary>
/// 设置属性值
/// </summary>
/// <param name="propertyName"></param>
/// <param name="value"></param>
protected static void PropertyValue(DirectoryEntry objEntry, string propertyName, object value, int i)
{
objEntry.Properties[propertyName][i] = value;
objEntry.CommitChanges();
}
/// <summary>
/// 获取属性和
/// </summary>
/// <param name="propertyName"></param>
/// <returns></returns>
protected static int PropertyCount(string propertyName)
{
return entry.Properties[propertyName].Count;
}
/// <summary>
/// 获取属性和
/// </summary>
/// <param name="propertyName"></param>
/// <returns></returns>
protected static int PropertyCount(DirectoryEntry objEntry, string propertyName)
{
return objEntry.Properties[propertyName].Count;
}
/// <summary>
/// 对活动目录调用方法method
/// </summary>
/// <param name="method"></param>
/// <param name="args"></param>
/// <returns></returns>
protected static object EntryInvoke(string method, params object[] args)
{
return entry.Invoke(method, args);
}
/// <summary>
/// 对活动目录调用方法method
/// </summary>
/// <param name="objEntry"></param>
/// <param name="method"></param>
/// <param name="args"></param>
/// <returns></returns>
protected static object EntryInvoke(DirectoryEntry objEntry, string method, params object[] args)
{
return objEntry.Invoke(method, args);
}
/// <summary>
/// 关闭对象 释放资源
/// </summary>
protected static void Dispose()
{
entry.Close();
entry.Dispose();
}
/// <summary>
/// 关闭对象 释放资源
/// </summary>
protected static void Dispose(DirectoryEntry objEntry)
{
objEntry.Close();
objEntry.Dispose();
}
}
浙公网安备 33010602011771号