none
Смена владельца папки RRS feed

Все ответы

  • Добрый день,

    работает при повышенных привилегиях:

    using (new ProcessPrivileges.PrivilegeEnabler(Process.GetCurrentProcess(), Privilege.TakeOwnership))
    {
        directoryInfo = new DirectoryInfo(path);
        directorySecurity = directoryInfo.GetAccessControl();
    
        directorySecurity.SetOwner(WindowsIdentity.GetCurrent().User);
        Directory.SetAccessControl(path, directorySecurity);    
    }

    14 августа 2014 г. 12:18
  • Добрый день,

    работает при повышенных привилегиях:

    using  ( new  ProcessPrivileges . PrivilegeEnabler ( Process . GetCurrentProcess (),  Privilege . TakeOwnership )) 
    { directoryInfo =  new  DirectoryInfo ( path ); directorySecurity = directoryInfo . GetAccessControl ();
    directorySecurity . SetOwner ( WindowsIdentity . GetCurrent (). User ); 
        Directory . SetAccessControl ( path , directorySecurity );     
    }

    Благодарю за помощь. Я так понимаю данный код ниже определяет идентификатор текущего пользователя. Соответственно, чтобы изменить владельца, требуется его идентификатор? Можете оказать последнюю услугу, смена владельца ПО МАСКЕ, то есть добавить переменную, типа строка имя пользователя = "Главная" и на основе этого изменить владельца папки

    WindowsIdentity. GetCurrent (). Пользователь


    15 августа 2014 г. 4:18
  • Решил проблему!

    string user = "Home";
    directorySecurity.SetOwner(new NTAccount(user));


    15 августа 2014 г. 5:23
  • Требуется доработать один момент. Пользователь будет менять если в вкладке смена владельца присутствует его же имя пользователя

    В данном случае мы смогли бы сменить только на имя "Home". Остается вопрос, как в этот список добавить имя пользователя по указанной маске?

    15 августа 2014 г. 9:26