Visual Basic, .NET, ASP, VBScript
 
   
   
     
   
 


Необходимо создать маленькую утилитку, которая блокировала или разблокировала бы учетную запись в домене.
Создаем вхождение:

DirectoryEntry entry = new DirectoryEntry("WinNT://domain/user");

и получаем через entry.Properties набор свойств. Насколько я понимаю, за состояние учетной записи отвечает свойство userFlags. Но как понять какой бит за что отвечает? Как нужно поменять этот флаг для того, чтобы например заблокировать запись?



Судя по значению маски UF_ACCOUNTDISABLE - это 1-ый бит (если считать с 0-го), когда он установлен - account в disabled состоянии.
Вот функция для изменения этого флага:

void EnableAccount(string path, bool enable)
{
    DirectoryEntry entry = new DirectoryEntry(path);
    entry.UsePropertyCache = false;
    PropertyValueCollection valueCollection =
entry.Properties["userFlags"];
    int userFlags = (int)valueCollection[0];
    if (enable)
        userFlags &= ~2;
    else
        userFlags |= 2;
    valueCollection[0] = userFlags;
}


А вот ее использование (перевод в состояние disabled account'a Гость):

EnableAccount("WinNT://COMPUTER/Гость", false);
 
     

   
   
     
  VBNet рекомендует  
   
     
   
   
     
   
   
     

© Copyright 2002-2011 VBNet.RU | Пишите нам