none
Изменение прав и разрешений из БАТника

    Question

  • Какой код должен содержать БАТник, чтобы изменить права и дать полный доступ текущему пользователю,

    допустим к папке C:\WORK\MOUNT и всему её содержимому?

    Второй день бьюсь и пока результатов нет...

    PS. Немного разверну проблему: БАТник при помощи утилиты IMAGEX монтирует образ INSTALL.WIM (Windows 7) в папку C:\WORK\MOUNT. Далее надо получить права и дать полный доступ текущему пользователю для изменения ресурсов в EXE, DLL и MUI файлах в автоматическом режиме. Но изменения ресурсов не происходит по причине отсутствия прав и доступа.
    • Edited by Sergey Shikharev Sunday, September 06, 2009 8:56 AM Дополнение
    Sunday, September 06, 2009 8:39 AM

All replies

  • я извиняюсь конечно а это разве не подходит ? добавляем в реестр после этого выделяем любую папку нажимаем Shift нажимаем с правой стороны мышки видим соответствующий пунктик



    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\*\shell\runas]
    @="Стать владельцем и задать полный доступ к объекту"
    "Extended"=""
    "NoWorkingDirectory"=""

    [HKEY_CLASSES_ROOT\*\shell\runas\command]
    @="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
    "IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"

    [HKEY_CLASSES_ROOT\Directory\shell\runas]
    @="Стать владельцем и задать полный доступ к объекту"
    "Extended"=""
    "NoWorkingDirectory"=""

    [HKEY_CLASSES_ROOT\Directory\shell\runas\command]
    @="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
    "IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"

    Sunday, September 06, 2009 9:02 AM
  • я извиняюсь конечно а это разве не подходит ? добавляем в реестр после этого выделяем любую папку нажимаем Shift нажимаем с правой стороны мышки видим соответствующий пунктик



    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\*\shell\runas]
    @="Стать владельцем и задать полный доступ к объекту"
    "Extended"=""
    "NoWorkingDirectory"=""

    [HKEY_CLASSES_ROOT\*\shell\runas\command]
    @="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
    "IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"

    [HKEY_CLASSES_ROOT\Directory\shell\runas]
    @="Стать владельцем и задать полный доступ к объекту"
    "Extended"=""
    "NoWorkingDirectory"=""

    [HKEY_CLASSES_ROOT\Directory\shell\runas\command]
    @="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
    "IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"


    Нет, данный твик не помогает.
    И нужен не твик Реестра, а БАТник!
    Sunday, September 06, 2009 9:26 AM
  • @echo off
    echo y | 1>nul cacls C:\WORK\MOUNT /t /g user_1:f user_2:f Администратор:f System:f


    Выставляет рекурсивно полные права на папку для пользователей: user_1, user_2; встроенных Администратора и Системы.

    PS. Если в 7-ке не сработает, то попробуйте вместо cacls использовать icacls. Сначала написал, потом посмотрел, что форум Win-7.
    • Edited by 01MDM Sunday, September 06, 2009 9:51 AM
    Sunday, September 06, 2009 9:36 AM
  • @echo off
    
    echo y | 1>nul cacls C:\WORK\MOUNT /t /g user_1:f user_2:f Администратор:f System:f


    Выставляет рекурсивно полные права на папку для пользователей: user_1, user_2; встроенных Администратора и Системы.
    http://s42.radikal.ru/i097/0909/84/279aeeff9bca.jpg

    Пишет, что не было произведено сопоставление между именами пользователей и индификаторами безопасности.
    Sunday, September 06, 2009 9:51 AM
  • Что за картинка?
    Sunday, September 06, 2009 10:03 AM
  • Скрин с ошибкой
    Sunday, September 06, 2009 10:05 AM
  • Пользователи правильно указаны? Работает только с реальными пользователями. user_1 и user_2 - только пример.
    Sunday, September 06, 2009 10:11 AM
  • "Сопоставление между именами пользователей и идентификаторами безопасности не было произведено."
    Sunday, September 06, 2009 10:11 AM

  • @echo off
    echo y | 1>nul cacls C:\WORK\MOUNT /t /g "%UserDomain%\%UserName%":f Администратор:f System:f
    

    Не работает!
    Sunday, September 06, 2009 10:16 AM
  • "бьюсь" - это не описание проблемы :-)) что делаете? чем пользуетесь?

    насчет "текущего пользователя" - думаю, что ничего не получится "в лоб", поскольку такого понятия нет для утилит - им для начала нужно дать конкретное %USERNAME%

    Sunday, September 06, 2009 10:17 AM
  • Написал БАТник такого вида:
    ---------------------------------------------
    md c:\work\mount
    imagex /mountrw c:\work\install.wim 5 c:\work\mount
    takeown /F c:\work\mount\*.exe /R /D Y
    takeown /F c:\work\mount\*.dll /R /D Y
    takeown /F c:\work\mount\*.mui /R /D Y
    icacls c:\work\mount /grant "%UserDomain%\%UserName%":F /T
    w7patcher.exe --s "c:\work\resources" --d "c:\work\mount"
    imagex /unmount /commit c:\work\mount
    ---------------------------------------------
    w7patcher.exe должен патчить ресурсы, но т.к. не могу получить
    доступ к файлам, он не срабатывает.

    Дело в том, что этот БАТник должен работать на любом ПК,
    а не только на моем!
    Sunday, September 06, 2009 10:25 AM
  • А каталог пустой. Если да, то попробуйте:

    cacls c:\work\mount /d %username%
    cacls c:\work\mount /e /g %username%:f
    Sunday, September 06, 2009 10:30 AM
  • Каталог не пустой, он содержит смонтированный INSTALL.WIM.

    Sunday, September 06, 2009 10:33 AM
  • Сейчас ответить не смогу. В XP работает.
    Sunday, September 06, 2009 10:36 AM
  • Написал БАТник такого вида:
    у меня работает...

     что значит "должен работать на любом ПК, а не только на моем!" ?! везде Win7?
    Sunday, September 06, 2009 3:14 PM
  • Написал БАТник такого вида:
    у меня работает...

     что значит "должен работать на любом ПК, а не только на моем!" ?! везде Win7?

    Работает тот БАТник, что я выше привёл?
    Sunday, September 06, 2009 5:23 PM
  • Работает тот БАТник, что я выше привёл?
    не весь, конечно :-) то, что касается изменения разрешений

    может, проблема вовсе не с разрешениями, а с самим w7patcher... и т.д. ?!...
    Sunday, September 06, 2009 5:58 PM
  • Работает тот БАТник, что я выше привёл?
    не весь, конечно :-) то, что касается изменения разрешений

    может, проблема вовсе не с разрешениями, а с самим w7patcher... и т.д. ?!...

    Если изменить разрешения вручную, то w7patcher прекрасно работает!
    Опытным путем проверено, что проблема именно в правах и доступе!
    Sunday, September 06, 2009 6:54 PM
  • Опытным путем проверено, что проблема именно в правах и доступе!
    тогда у меня нет идей... всё работает, хоть под обычным пользователей.... владелец назначается, файлам права назначаются...

    В чем может быть загвоздка... - права в этом батнике назначаются самой папке (а не папке, вложенным и файлам). Если w7patcher создает временные папки или файлы - ему может не хватить прав!
    (кстати, зачем вы пользуетесь групповыми именами, а не takeown /F c:\work\mount\*.* /R /D Y  ?!...)

    Иначе ... не понимаю...
    Sunday, September 06, 2009 7:49 PM