Здраствуйте.
Как подключиться домену. Получить список пользователей, и какой пользователь из какого компьютера (IP адрес) в какой время зашол компьютеру.
Спасибо зарание.
Здравствуйте, rs2fun, Вы писали:
R>Здраствуйте.
R>Как подключиться домену. Получить список пользователей, и какой пользователь из какого компьютера (IP адрес) в какой время зашол компьютеру.
R>Спасибо зарание.
А по такому пути подключаться не пробовал?
LDAP://DOMAINNAME
Здраствуйте.
Как подключиться домену. Получить список пользователей, и какой пользователь из какого компьютера (IP адрес) в какой время зашол компьютеру.
Спасибо зарание.
Добрый день!
Могу только посоветовать как получить список пользователей домена.
private DataTable GetUsersListFromAD(string sCN)
{
ArrayList alCols = new ArrayList();
alCols.Add("cn");
alCols.Add("mail");
alCols.Add("telephoneNumber");
alCols.Add("mobile");
alCols.Add("department");
alCols.Add("samAccountName");
System.DirectoryServices.DirectoryEntry entry =
new System.DirectoryServices.DirectoryEntry("
LDAP://your_domain_controller",
"user","password"); //you can specify user/password if required
System.DirectoryServices.DirectorySearcher mySearcher = new System.DirectoryServices.DirectorySearcher(entry);
mySearcher.SearchScope = SearchScope.Subtree;
//mySearcher.Filter = "(&(objectclass=user)(objectcategory=person))";
mySearcher.Filter ="(&(&(objectCategory=user)(givenName=*)(sn=*)))";
foreach(string sName in alCols)
{
mySearcher.PropertiesToLoad.Add(sName);
}
DataSet ds = new DataSet();
ds.Tables.Add(new DataTable("redirect"));
foreach(string sName in alCols)
{
ds.Tables[0].Columns.Add(sName);
}
DataTable dtExistUsers = Account.GetUserList((OracleNumber)1).Tables[0];
foreach(System.DirectoryServices.SearchResult result in mySearcher.FindAll())
{
if(result.GetDirectoryEntry().Properties["cn"].Value.ToString().ToLower().StartsWith(sCN.ToLower()))
{
DataRow dr = ds.Tables[0].NewRow();
foreach(string colName in mySearcher.PropertiesToLoad)
{
if(result.Properties.Contains(colName) && alCols.Contains(colName))
{
dr[colName] = result.GetDirectoryEntry().Properties[colName].Value.ToString();
}
}
bool fExist = false;
foreach(DataRow row in dtExistUsers.Rows)
{
if(row["login"].ToString().ToLower()==dr["samAccountName"].ToString().ToLower())
{
fExist = true;
break;
}
}
if(!fExist)
{
ds.Tables[0].Rows.Add(dr);
}
}
//break;
}
return ds.Tables[0];
}
Using:
DataView View = new DataView(GetUsersListFromAD(sName));
You can set sName = "" to get all contacts or sName="Peter" to find Peter Pan contact
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение