2010-09-30 3 views
1

У меня есть приложение службы Windows C#, которое создает файл журнала, который записывается в C: \ Program Files \ Company \ Product \ log.txt. Я использую установщик, предоставляемый Visual Studio 2010, и должен иметь установщик:
1. Создайте пользователя с именем ProductUser
2. Установите разрешение для C: \ Program Files \ Company \ Product \, чтобы ProductUser мог писать на каталог.Код для создания пользователя и создания разрешений

ответ

0

не лучшее решение ... но только идея: что о выполнении команды чистый пользователь пароль имя пользователя/ADD? Если вы можете это сделать, я могу найти старые vbs, которые я использовал на сервере, чтобы предоставить разрешения пользователям в папке.

ОК, я гугл немного и нашел это:

public void CreateUserAccount(string login , string password , string fullName, bool isAdmin) 
{ 
    try 
    { 
     DirectoryEntry dirEntry = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer"); 
     DirectoryEntries entries = dirEntry.Children; 
     DirectoryEntry newUser = entries.Add (login, "user"); 
     newUser.Properties["FullName"].Add(fullName); 
     newUser.Invoke("SetPassword", password); 
     newUser.CommitChanges(); 

     // Remove the if condition along with the else to create user account in "user" group. 
     DirectoryEntry grp; 
     if (isAdmin) 
     { 
      grp = dirEntry.Children.Find("Administrators", "group"); 
      if (grp != null) {grp.Invoke("Add", new object[] {newUser.Path.ToString()});} 
     } 
     else 
     { 
      grp = dirEntry.Children.Find("Guests", "group"); 
      if (grp != null) {grp.Invoke("Add", new object[] {newUser.Path.ToString()});} 
     } 

    } 
    catch (Exception ex) 
    { 
      MessageBox.Show(ex.ToString()); 
    } 
} 

Это не мой: здесь link. Сообщите мне, если он сработает для вас

+0

Это, безусловно, лучше, чем ничего. : D – JadziaMD

Смежные вопросы