Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Автоматическая установка разрешений

Ответить
Настройки темы
CMD/BAT - Автоматическая установка разрешений

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всем добрый день. Помогите решить вопрос пожалуйста. есть папка users в ней множество папок в соответствии с именами пользователей и у всех пользователей домена на эти папки полный доступ. Нужно что бы батник службы каталогов при входе пользователя например user1 с папки user\user1 снял наследование, добавил пользователя User1 в безопасность, поставил ему полный доступ, а потом удалил из безопасности группу Пользователи домена. Таким образом получится что у каждого пользователя будет доступ только к своей папке в папке Users. Заранее спасибо!

Отправлено: 13:36, 06-12-2011

 

Аватара для Anton04

Ветеран


Сообщения: 2154
Благодарности: 404

Профиль | Отправить PM | Цитировать


worazan,

subinacl тебе в помощь Во простейший пример:

Код: Выделить весь код
subinacl.exe /file=directoriesonly "%USERPROFILE%\user1" /grant="все"=f /noverbose /display
subinacl.exe /subdirec "%USERPROFILE%\user1\*.*" /grant="все"=f /noverbose /display
Если в имени пользователя или в пути есть русские буквы то всё должно быть в соответствующей кодировки

-------
Слабый всю жизнь идёт лёгкой дорогой, черта сильного выбрать трудный путь.
Будь осторожен в своих желаниях, ибо они иногда сбываются.


Отправлено: 14:33, 06-12-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 42
Благодарности: 13

Профиль | Отправить PM | Цитировать


"Полный доступ" нужен только для изменения прав доступа и давать его обычным пользователя которым вполне достаточно прав Чтения/записи, а тем более "Пользователям домена" очень вредно. Мне кажется вы взялись за проблему не с того конца так как у вас на корневой папке Users стоит наследование на суб контейнеры изначально с полным доступом. И решать эту задачу лучше не логин скриптом а все таки от имени администратора. (ИМХО)

Как я понял у каждого пользователя папка соответствует его имени и если объем данных не большой то можно и просто перегородить структуру каталогов заново.
Цитата Неизвестного админа:
Скрипт монтирует диск T:. У пользователя при этом проверяется наличие папки (соотвествующее имени пользователя) и если ее нет, то она создается по пути \\fileserver\users и на эту папку выставляются права только на этого пользователя и учетных записей Admin и Administrator. Смонтированному диску присваивается новая метка.
Код: Выделить весь код
' ------ SCRIPT CONFIGURATION ------ 
Set WshShell = Wscript.CreateObject("Wscript.Shell") 
Set objNetwork = CreateObject("Wscript.Network") 
Set objFS = CreateObject("Scripting.FileSystemObject") 
Set objWSH = CreateObject("WScript.Shell") 
Set objShell = CreateObject("Shell.Application") 
objUserName = objNetwork.UserName 
strDrive = "T:" 
strNewDiskName = "Личная папка "&objUserName 
strPath = "\\fileserver\users\"&objUserName 
boolPersistent = True 
' ------ END CONFIGURATION --------- 
On Error Resume Next 
 
if (objFS.FolderExists(strPath)) = false then  
 
Call objFS.CreateFolder(strPath) 
 
strACLCommand = "cmd /c echo y| CACLS " 
strACLCommand = strACLCommand & strPath 
strACLCommand = strACLCommand & " /g DOMAIN\" & objUserName & ":F" 
return = objWSH.Run (strACLCommand , 0, True) 
 
Call WshShell.Run("cacls " & strPath & _ 
" /e /g DOMAIN\" & "Administrator" & ":f", HIDE_WINDOW, WAIT_ON_RETURN) 
 
Call WshShell.Run("cacls " & strPath & _ 
" /e /g DOMAIN\" & "admin" & ":f", HIDE_WINDOW, WAIT_ON_RETURN) 
end if 
 
objNetwork.MapNetworkDrive strDrive, strPath, boolPersistent 
objShell.NameSpace(strDrive).Self.Name = strNewDiskName
ну а если этот вариант не приемлем то вначале отстроите права так сказать у корневых контейнеров а потом уже через if (objFS.FolderExists(strPath)) = false/true и cacls /? согласно вашего шаблона для папки пользователя и подкаталогов.
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:46, 06-12-2011 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Автоматическая установка разрешений

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Автоматическая установка NOD32!!! smoof Автоматическая установка приложений 216 01-06-2020 17:57
Разное - Установка разрешений для дочерних папок и файлов 2022 Microsoft Windows 7 1 15-11-2009 23:34
Драйвер - Установка высоких разрешений Mazurishe Microsoft Windows Vista 11 10-03-2009 01:59
[решено] Установка разрешений на ветки реестра через CMD Delirium Microsoft Windows NT/2000/2003 12 10-07-2008 09:40
автоматическая установка и Wi-Fi tussinchik Автоматическая установка Windows 2000/XP/2003 1 31-05-2008 01:59




 
Переход