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

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

Ответить
Настройки темы
CMD/BAT - [решено] Создать кучу папок, дать разрешения.

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


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

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


Изображения
Тип файла: jpg Clip_8.jpg
(68.2 Kb, 46 просмотров)
Добрый день!

есть следующая структура:
есть папка Workplace, в ней папки, соответствующие каждой букве английского алфавита (A, B, C, D ... Z), в каждой "букве" куча папок соответствующих названиям компаний - партнеров, в них еще 6 папок, на которые нужно разные доступы разным группам дать.
Задача:
Создать в папках - буквах папки - партнеры и в них создать по 6 папок. и назначить на все это безобразие соответствующие права доступа.

привожу схему для наглядности:

Отправлено: 12:58, 04-08-2009

 

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


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

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


Вложения
Тип файла: rar script_folders.rar
(2.0 Kb, 77 просмотров)

Классно! получилось! папки создаются правильно, по первой букве фирмы, дальше - весь пучок папок в "фирме - партнере", но вот мой скрипт как то странно работает, права назначает, но совершенно левые, у меня на группы стоит назначение он назначает отдельны людям... странно вот лог:

Отправлено: 14:15, 07-08-2009 | #11



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

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


Старожил


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

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


1. Что сразу бросилось в глаза - я тупо скопировал список команд по назначению прав. В строках по назначению прав на Other Correspondence название каталога обязательно нужно заключить в кавычки - скрипт xcacls пытается назначать права каталогу Other.

2. Других ошибок не вижу. Попробуйте рукчами запустить Xcacls на кокой-нить каталог - если окажется, что вместо групп (на примере группы "DL contracts FA") права прописаны пользователям, то это дело рук скрипта Xcacls и тогда советую воспользоваться просто командой cacls - синтаксис тотже (можно добавить ключ /T), но группам права назначаются гарантированно (у меня на ней реализована автоматическая шара бэкапного диска).

3. Уточнение - "otccorporation" - это Ваш домен? Если да и компьютер, с которого скрипт запущен, также в домене, то название домена можно опускать.

-------
Как сказало Дерево Дровосеку: "я - пень".


Отправлено: 18:18, 07-08-2009 | #12


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


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

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


Цитата NiOl:
1. Что сразу бросилось в глаза - я тупо скопировал список команд по назначению прав. В строках по назначению прав на Other Correspondence название каталога обязательно нужно заключить в кавычки - скрипт xcacls пытается назначать права каталогу Other. »
Да, Вы правы, в кавычки заключил.

Цитата NiOl:
2. Других ошибок не вижу. Попробуйте рукчами запустить Xcacls на кокой-нить каталог - если окажется, что вместо групп (на примере группы "DL contracts FA") права прописаны пользователям, то это дело рук скрипта Xcacls и тогда советую воспользоваться просто командой cacls - синтаксис тотже (можно добавить ключ /T), но группам права назначаются гарантированно (у меня на ней реализована автоматическая шара бэкапного диска). »
Xcacls назначал все правильно, я его тестил где-то неделю (наверное, в силу незнания), сейчас все правильно назначилось! дело было в том, что в F:/ лежал скрипт test.bat и каким то макаром цеплялся и выполнялся а в нем то и были мои тесты )

Цитата NiOl:
3. Уточнение - "otccorporation" - это Ваш домен? Если да и компьютер, с которого скрипт запущен, также в домене, то название домена можно опускать. »
пробовал, получилось не ахти лучше так, от этого ж хуже не становится.


идем дальше: натолько что созданную папку - партнера нужно следующее: xcacls *letter*/G "otccorporation\DL name RO":R вот тут то и затык, получается, папку создал, как то проверил что только что создал, и назначил на него разрешение...и еще, надо бы убрать наследование в скрипте...

Отправлено: 07:31, 10-08-2009 | #13


Старожил


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

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


Думаю, что на "букву" также стоит дать права Системе и админу (полные), чтобы потом не корячится.
Фирмы унаследуют права "DL name RO", Системе и админу а для Contracts .. Projects права будут без наследования (первая команда назначения без ключа /E).

Код: Выделить весь код
@Echo Off
SetLocal EnableDelayedExpansion

set Wrk=D:\Test
set List=D:\Partners.txt
set Log=%~dpn0.log

if not Exist %List% (
echo Error: List-file not found!>>%Log%
exit
)
for /F "Tokens=* Delims=" %%P in (%List%) do (
cd /D %Wrk%
echo Preparing "%%P" at %Wrk% >>%Log%
Title Preparing "%%P"
set Letter=%%P
set Letter=!Letter:~0,1!
if not exist !Letter! (
md !Letter!
xcacls !Letter! /G "otccorporation\DL name RO":R
xcacls !Letter! /E /G System:F
xcacls !Letter! /E /G "otccorporation\Administrator":F
)
cd !Letter!
if not exist "%%P" md "%%P"
cd "%%P"
for %%N in (Contracts,Information,"Other Correspondence",Pricebooks,Products,Projects) do md %%N
dir /b /on>>%Log%

echo Y|xcacls Contracts /G "otccorporation\DL contracts FA":F
xcacls Contracts /E /G "otccorporation\Administrator":F
xcacls Contracts /E /G "otccorporation\DL contracts RO":R
echo Y|xcacls Information /G "otccorporation\DL Information FA":F
xcacls Information /E /G "otccorporation\Administrator":F
xcacls Information /E /G "otccorporation\DL Information RO":R
echo Y|xcacls Other Correspondence /G "otccorporation\DL other correspondence FA":F
xcacls Other Correspondence /E /G "otccorporation\Administrator":F
echo Y|xcacls Pricebooks /G "otccorporation\DL Pricebooks FA":F
xcacls Pricebooks /E /G "otccorporation\Administrator":F
xcacls Pricebooks /E /G "otccorporation\DL Pricebooks RO":R
echo Y|xcacls Products /G "otccorporation\DL Products FA":F
xcacls Products /E /G "otccorporation\Administrator":F
xcacls Products /E /G "otccorporation\DL Products RO":R
echo Y|xcacls Projects /G "otccorporation\DL Projects FA":F
xcacls Projects /E /G "otccorporation\Administrator":F
)
Вроде так...

-------
Как сказало Дерево Дровосеку: "я - пень".

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:26, 10-08-2009 | #14


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


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

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


Прям то что надо! спасибо большое! создает, читает из файла, назначает права. благодарю!

Отправлено: 07:20, 12-08-2009 | #15


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


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

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


Здравствуйте, можно опять поднять эту тему, мне интересна самим схема и если чесно, помощь в написании скрипта, делаем батник к нему txt, с описанием необходимых папок. помогите сделать данный скрипт

Отправлено: 05:46, 05-02-2016 | #16



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - Как на XP создать загрузочний экран высокой четкости (разрешения) Homiak Microsoft Windows 2000/XP 9 29-04-2008 16:18
Копируются ли разрешения при копировании папок на комп вне домена? Raman Microsoft Windows NT/2000/2003 3 29-10-2007 10:23
Доступ - Как группе users дать права на создание общих папок и установку принтеров Marlboroman Microsoft Windows 2000/XP 6 12-10-2007 15:14
[Ъ] Разрешения для файлов и папок Sham Microsoft Windows NT/2000/2003 3 03-09-2006 11:26
Разрешения для Перенаправленных папок Keha Microsoft Windows NT/2000/2003 1 26-05-2006 17:23




 
Переход