2010-09-30 63 views
1

我有一個C#windows服務應用程序,它生成寫入C:\ Program Files \ Company \ Product \ log.txt的日誌文件。我使用的是Visual Studio 2010提供的安裝程序,需要具有以下安裝程序:
1.創建名爲ProductUser的用戶
2.設置C:\ Program Files \ Company \ Product \的權限,以允許ProductUser寫入目錄。創建用戶並建立權限的代碼

回答

0

不是最好的解決方案......但只有一個想法:有關運行命令 網用戶密碼的用戶名/ADD什麼? 如果你能做到這一點,我可以找到我在服務器上使用的舊vbs,以授予用戶在文件夾上的權限。

OK,我GOOGLE了一點點,發現這一點:

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 2011-03-18 14:18:40