#c# #templates #active-directory #group-policy #gpo
#c# #шаблоны #active-directory #групповая политика #объект групповой политики
Вопрос:
Я долго искал, как я могу определить разрешенные часы входа в группу, как это можно сделать с пользователем на вкладке учетная запись в Active Directory.
У меня уже есть класс в c #, который может выполнять запросы для возврата списка всех разрешенных часов пользователя с помощью свойств «logonhours».
public byte[] GetLogonHours(string userName, string password, string path)
{
DirectoryEntry entry = this.GetUserAccount(userName, path);
return (byte[])entry.Properties["logonHours"].Value;
}
public DirectoryEntry GetUserAccount(string username, string path)
{
using (DirectoryEntry objRootEntry = new DirectoryEntry(path))
{
using (DirectorySearcher objAdSearcher = new DirectorySearcher(objRootEntry))
{
objAdSearcher.Filter = "(amp;(objectClass=user)(samAccountName=" username "))";
SearchResult objResult = objAdSearcher.FindOne();
if (objResult != null)
{
return objResult.GetDirectoryEntry();
}
}
}
return null;
}
Я использовал этот пост, чтобы помочь мне понять, как я могу запросить часы входа в систему:
Важно понимать, что я не хочу, чтобы функция знала, когда пользователь в последний раз регистрировался. У меня есть функция, которая в некоторые моменты предотвращает вход пользователя в систему.
Мне нужна функция, которая может применять часы входа в систему для группы пользователей, и я могу запросить Active Directory с помощью c #, чтобы получить эти данные о часах входа в систему.
Большое вам спасибо.
Ответ №1:
В моем понимании информация о часах входа в систему — это информация о пользователе. Как описано в КАК: ограничить время входа пользователя в домен в Windows Server 2003, указанное @Knite, вы можете изменить его :
- Пользователь за пользователем, независимо от того, выполняете ли вы цикл по списку пользователей
- Применение объекта групповой политики к пользователям организационной единицы принадлежит
В вашем случае вы можете выполнить цикл для всех членов группы и изменить их часы входа в систему.
Ответ №2:
Согласно http://support.microsoft.com/kb/816666 , вы должны сгенерировать список пользователей в группе и записать их часы входа в файл CSV.