2016-03-14 6 views
1

Я использую следующий код для назначения групп домена разрешения на папку из C# приложения:DirectorySecurity C# назначить права доступа к локальной группе с удаленного сервера

 DirectoryInfo myDirectoryInfo = new DirectoryInfo(@"\\Server002\G$\permissionTest"); 
     DirectorySecurity myDirectorySecurity = myDirectoryInfo.GetAccessControl(); 
     myDirectorySecurity.AddAccessRule(new FileSystemAccessRule(@"Domain\Sec_Group", FileSystemRights.Modify, InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, PropagationFlags.None, AccessControlType.Allow)); 
     myDirectoryInfo.SetAccessControl(myDirectorySecurity); 

В качестве примера, я выполнение этой программы на сервере с именем server001 и использовать этот код для применения групп домена к ACL папки, которая находится на сервере с именем server002, и она работает нормально.

Теперь мне нужно добавить группу безопасности, которая находится на сервере002, в папку, но с программой, которая выполняется на сервере 001, например, добавьте локальную группу «Гости» server002, но действие добавления этого группа в ACL в папке должна быть выполнена из программы C#, которая запущена на сервере 001.

Может ли кто-нибудь рассказать мне, как этого достичь?

ответ

0

Я нашел альтернативный способ применения разрешений. Я использовал программу psexec для запуска удаленных команд, поэтому я смог выполнить удаленный вызов на нужный сервер и запустить команду icacls для применения разрешений, а затем я положил команду на C# для выполнения инструкции. Код, который я сделал выглядит следующим образом:

 foreach (string server in servers) 
     { 
      string localPermissionsCommand = @"/C psexec /accepteula \\" + server + " icacls " + @"G:\theFolder\ /grant " + @"""Local server group""" + ":(OI)(CI)RX"; 
      System.Diagnostics.Process.Start("CMD.exe", localPermissionsCommand); 
     } 

Таким образом, в этом случае вы итерация через переменные сервера для выполнения команды на все серверах, которые вы хотите. Этот подход работал для меня.

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

  • Нет связанных вопросов^_^