Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   CACLS Владелец папки , и как с этим бороться Win XP (http://forum.oszone.net/showthread.php?t=325617)

magarjoba 05-04-2017 17:10 2726446

CACLS Владелец папки , и как с этим бороться Win XP
 
Всем привет , ) и снова win XP

Суть такова, наткнулся на одну интересную проблему при изменении прав для папок
Скрытый текст

echo y| CACLS c:\Progra~1\cwRsync /T /C /G "Все":F
echo ok
echo y| CACLS c:\Progra~1\cwRsync /E /T /C /G "administrator":F
echo ok
echo y| CACLS c:\Progra~1\cwRsync /E /T /C /G "Пользователи":F
echo ok
echo y| CACLS m:\music /T /C /G "Все":F
echo ok
echo y| CACLS m:\music /E /T /C /G "administrator":F
echo ok
echo y| CACLS m:\music /E /T /C /G "Пользователи":F
echo ok
attrib m:\music -R /D /S
attrib m:\music\*.* -R /S /D


Допустим структура папки music такова
- music
-папка1
-папка2
-....файлы

Проблема в том , что при удаленном выполнении с под админа этой команды, если вдруг владельцем подпапки "папка1" -является другой пользователь тот я получаю access denied
Вроде логично и понятно,
но как мне без сторонних приблуд , взять и перед добавлением групп, сделать пользователя "administrator" владельцем этой папки её под папок и всего содержимого

Вообще , очень интересная тема с правами, постоянно сталкиваюсь с ней..и кусаю губы...потому-что гребанное XP , в котором нет нормальных утилит для всего этого,,,

Прошу уважаемые помочь с данным вопросом и на будущее порекомендовать из своего личного опыта, как вы решаете данные проблемы с правами для папок...))

p/s еще если есть у кого нить инфа как отключить брандмауер и выключить его службу на winXP если есть доступ к компам, любым способом , psexec не катит он его блокирует сразу.. тыкните носом,
несколько тем прочитал пробовал через Netsh - не получилось....

Elven 05-04-2017 17:50 2726453

Код:

icacls /setowner

magarjoba 05-04-2017 18:03 2726458

Elven, icacls в winXP не работает

Iska 05-04-2017 18:20 2726469

Download SubInACL (SubInACL.exe) from Official Microsoft Download Center, не?

magarjoba 06-04-2017 09:13 2726625

Iska, Я видел примеры с использованием этой тулзы, но допустим у меня 400 тазиков ...и ни на одном её нет + тазики не в домене
тогда получается бедаа....

Прошу прошения не знаете решения насчет второго вопроса про отключение служб на удаленном компе с вводом логина и пароля по списку

например

command \\192.168.1.1 :login password /// sc ? , или каким то другим способом
думал через удаленный реестр, но как организовать на большом кол-ве компов

Iska 06-04-2017 09:31 2726634

magarjoba, с таким количеством стоит задуматься о доменной среде.

magarjoba 06-04-2017 09:38 2726638

Iska,
Прошу прошения за оффтом.
но в жтом и смысл, я заведу все в домен , но для подготовки этого мне надо

1) по всему списку ip адресов допустим ip.txt проверить службы брандмауера и отключить их (но логин и пароль обязательны, типа $ipc есть но не везде)
2 ) после чего дать определенные права некоторым папкам
3 ) после всех этих манипуляций затянуть все эти компы из списка в домен

руками это делать каждый , просто жесть.... поэтому вот и прошу помощи в написании или в методе написания cmd или любого другого способа

с .ув....Спасибо

magarjoba 06-04-2017 18:10 2726797

раз никто не помогает по предыдущим вопросам,

подскажите хотя-бы по одному моменту
я хочу проверить запуск psexec на компах и это все дело залогировать
таким образом я вычислю где служба брандмауэра включена

Скрытый текст

chcp 1251 >nul
for /f %%a in ("%~dp0comp.txt") do @echo %%a---------- >> E:\Logg\psresults.txt & psexec \\%%a -u login -p password -d -n 10 cmd.exe /c echo %%computername%% >> "E:\Logg\psdetails.txt" 2>&1 && echo Success >> "E:\Logg\psresults.txt" || echo Failed >> "E:\Logg\results.txt"


Проблема в том, что не пойму почему в psexec не передаются ip

ниже один из логов

Скрытый текст

Неверный дескриптор.
Сервер RPC недоступен.
Connecting to C:\Users\xxx\Desktop\test\comp.txt...


Couldn't access C:\Users\xxx\Desktop\test\comp.txt:


Starting PSEXESVC service on C:\Users\xxx\Desktop\test\comp.txt...


Could not start PSEXESVC service on C:\Users\xxx\Desktop\test\comp.txt:
Connecting to C:\Users\xxx\Desktop\test\comp.txt...


Starting PSEXESVC service on C:\Users\xxx\Desktop\test\comp.txt...


Elven 06-04-2017 19:50 2726851

я конечно зануда, но...
1. что мешает копировать на целевой комп тулзу в самом начале работы скрипта? или другим образом. (как-то же был скопирован psexec)
2. а постепенный отказ от XP с постепенным вводом в домен хотя бы семерок (в оптимале - десяток) не проканает?
3. ip должны браться из файла comp.txt? тогда там вроде как лишние кавычки.

magarjoba 07-04-2017 08:38 2726981

Elven,
честно говоря в cmd в переменных я не силен
я данный код собрал из примеров

допустим смотри у меня есть 3 варианта кода, 1 - мой, но он не логирует так как нужно , 2 и 3 не мой. но они откорректированы 3.1 просто переносы меня завели в заблуждение

Отказаться, не так легко как кажется "бюрократия" ))
да должо браться от туда, но кавычки вроде не лишнии, по факту зачем ему копировать что-то на комп, если достаточно банальной проверки выполнения удаленно через cmd команды "cmd.exe /c echo %%computername%%"
Варианты:
Скрытый текст


1-------------------вариант
chcp 1251 >nul
psexec @comp.txt -u administrator -p sekret -n 10 cmd.exe /c echo %%computername%% >log.txt 2> err.txt
-----------
2---------------
chcp 1251 >nul
:start
break>"%~dp0log.txt"
CLS
for /f "usebackq tokens=*" %%A in ("%~dp0comp.txt") do (
ping -n 3 %%A >nul && "%~dp0PsExec.exe" \\%%A -u administrator -p sekret -d "%~dp0%pstype%" || echo %%A Not Online >> "%~dp0log.txt"
)
-------------
-----------------3
for /f %%a in ("%~dp0comp.txt") do @echo %%a---------- >> c:\psresults.txt
& psexec \\%%a -u administratot -p sekret -d -n 10 cmd.exe /c echo %%computername%% >> "%~dp0psdetails.txt" 2>&1
&& echo Success >> "%~dp0\psresults.txt" || echo Failed >> "%~dp0results.txt"

----3.1
chcp 1251 >nul
for /f %%a in ("%~dp0comp.txt") do @echo %%a---------- >> E:\Logg\psresults.txt & psexec \\%%a -u login -p password -d -n 10 cmd.exe /c echo %%computername%% >> "E:\Logg\psdetails.txt" 2>&1 && echo Success >> "E:\Logg\psresults.txt" || echo Failed >> "E:\Logg\results.txt"

Elven 07-04-2017 12:51 2727062

Это насчет лишних кавычек.
Код:

for /?
Особенно уделить внимание описанию for /f

Бюрократия отличная штука если уметь ей пользоваться. Ткни начальством глазом в инфу о завершении поддержки XP и устраивай сцены на тему "если где что пропадет я ни за что не отвечаю". А еще лучше заставь их подписать писульку об ознакомлении с возможными последствиями - избавь себя от возможной головной боли.


Время: 16:39.

Время: 16:39.
© OSzone.net 2001-