Создать общую папку, доступную из домена с C#
Я делаю проект развертывания в VS2008, и в конце процесса установки мне нужно создать общую папку с разрешениями "Полный доступ" для всех на локальном компьютере, доступном из домена компании. Мне удалось создать общую папку, но у всех есть права на чтение. Любая помощь о том, как это сделать, будет принята с благодарностью.
Спасибо Валериу
1 ответ
Я полагаю, вы используете ManagementClass
создать общую папку.
Настройка поля доступа вашего ManagementBaseObject
должен дать полный контроль каждому:
ManagementClass mc = new ManagementClass("win32_share");
ManagementBaseObject inParams = mc.GetMethodParameters("Create");
inParams["Description"] = "Shared Folder";
// ... whathever ...
inParams["Access"] = null; // <-- should give full control access to everyone
Если вышеперечисленное не работает, вы можете попробовать явно установить уровень безопасности с помощью smt, как показано ниже:
public static void AddDirectorySecurity(string FileName, string Account, FileSystemRights Rights, AccessControlType ControlType)
{
DirectoryInfo dInfo = new DirectoryInfo(FileName);
DirectorySecurity dSecurity = dInfo.GetAccessControl();
// Add the FileSystemAccessRule to the security settings.
dSecurity.AddAccessRule(new FileSystemAccessRule(Account,
Rights,
ControlType));
// Set the new access settings.
dInfo.SetAccessControl(dSecurity);
}
Если ничего из вышеперечисленного не поможет, я бы посоветовал вам опубликовать свой код.