none
Acesso negado para cópia de arquivos via script RRS feed

  • Pergunta

  • Olá pessoal, preciso fazer a cópia dos arquivos conforme exemplo abaixo e aparece acesso negado pois são pastas do sistema. Tem alguma forma de forçar isso via script? O motivo é que precisamos que essas cópias sejam feitas para configurar um sistema.

    copy J:\quark\InDesign\color\*.* "%USERPROFILE%\Configurações Locais\Dados de Aplicativos\Adobe\Color"

    copy J:\quark\InDesign\dict\*.* "%ALLUSERSPROFILE%\Dados de aplicativos\Adobe\InDesign\Version 4.0\"

    Mesmo com o meu usuário sendo admin da máquina, eu não consigo fazer essa cópia.

    Pensei no Robocopy, mas nunca usei e não sei qual a sintaxe para fazer esse procedimento.

    Alguém tem alguma ideia?

    Abraços,


    • Editado Bruno Veiga segunda-feira, 1 de abril de 2013 21:20
    segunda-feira, 1 de abril de 2013 21:14

Respostas

  • Bruno,

    A idéia que seu amigo havia passado também é boa: dar permissão na pasta.

    Use este script como script de startup(inicialização), isso é necessário pois para dar a permissão é necessário ter permissão para tal:

    icacls "%USERPROFILE%\Configurações Locais\Dados de Aplicativos\Adobe\Color" /grant *S-1-1-0:(OI)(CI)F
    icacls "%ALLUSERSPROFILE%\Dados de aplicativos\Adobe\InDesign\Version 4.0"   /grant *S-1-1-0:(OI)(CI)F

    Ele vai conceder permissão FullControl para o grupo Todos(Everyone, SID igual a S-1-1-0)  nas pastas.

    Se quiser ver outras permissões veja estes links:

    Icacls

    http://technet.microsoft.com/en-us/library/cc753525(v=ws.10).aspx

    Outra forma é via GPO. 

    Apply or modify permission entries for objects using Group Policy

    http://technet.microsoft.com/en-us/library/cc756952(v=ws.10).aspx

    As duas formas podem "relaxar" a segurança destas pastas e assim vc vai conseguir fazer as cópias quando vc quiser.


    Fábio de Paula Junior

    quinta-feira, 4 de abril de 2013 22:00
    Moderador

Todas as Respostas

  • Bruno,

    Já tentou usar estes comandos em um prompt elevado? Clicar com botão direito no atalho do cmd.exe e escolher Executar como Administrador (mesmo que você já esteja logado como administrador).

    Não acredito que o robocopy resolva o problema, o problema é permissão, tente o executar como administrador.


    Fábio de Paula Junior

    terça-feira, 2 de abril de 2013 00:26
    Moderador
  • O problema é que esses comandos tem que rodar como batch.

    Como que eu elevo as permissões de um usuário pelo script?

    Abraço,

    Bruno.

    terça-feira, 2 de abril de 2013 14:11
  • Bruno,

    Colocar um script para tentar fazer algo que só admin consegue é um erro comum aqui no fórum, veja esta dica:

    São 4 tipos de script, vou listar na ordem que eles são executados.
    1-Startup (inicialização), é executado quando a maquina inicia, roda com conta de sistema (seu script funciona)
    2-Logon, é executado quando o usuário faz logon, roda com a conta do usuário (seu script não funciona aqui, funciona com o administrador, usuário comum não)
    3-Logoff, é executado quando o usuário faz logff, roda com a conta do usuário (seu script não funciona aqui, funciona com o administrador, usuário comum não)
    4-Desligamento, é executado quando a maquina é desligada, roda com conta de sistema (seu script funciona)

    Observação muito importante:
    GPOs com Scripts de Startup e desligamento devem ser colocadas em OU que contém as contas das máquinas onde o script deve ser executado.
    GPOs com Scripts de Logon e Logoff devem ser colocadas em OUs que contém as contas de usuários.


    Fábio de Paula Junior


    terça-feira, 2 de abril de 2013 19:04
    Moderador
  • Pois então Fábio, esse script não é para rodar na inicialização do usuário ou da máquina. Na verdade é um script que irá rodar quando uma determinada aplicação for executada.

    A aplicação vai chamar a batch para efetuar os devidos procedimentos (um deles é essa cópia) e abrir a aplicação para o usuário.

    Eu sei que isso é uma "gambiarra". Mas considerando que a aplicação já é uma "gambiarra" por si só e essa é a única maneira de fazer funcionar no Windows 7, então estamos sem ter muito o que fazer.

    Um colega me disse para tentar usar o comando change ou buscar por cacls no google, mas não achei nada sobre isso.

    A situação está complicada!

    terça-feira, 2 de abril de 2013 19:26
  • Tente ver se isso ajuda. No caso é rodar o batch com o RUNAS.

    http://www.cooperati.com.br/wordpress/2013/03/01/executando-programas-com-credenciais-de-administrador/


    Boa Sorte! Jorge Borges.

    • Sugerido como Resposta fernando silva 1 terça-feira, 2 de abril de 2013 20:27
    terça-feira, 2 de abril de 2013 19:34
  • Jorge,

    Também pensei nisso, porém para usar o RUNAS, eu teria que ter a certeza que todo o meu parque tem a mesma senha do usuário administrador e (se tratando de Windows 7), ele não esteja desabilitado.

    Já tentei o comando CHANGE e também não consegui.

    Vamos ver se alguém mais tem alguma ideia!

    Abraços,

    quinta-feira, 4 de abril de 2013 20:29
  • Bruno,

    A idéia que seu amigo havia passado também é boa: dar permissão na pasta.

    Use este script como script de startup(inicialização), isso é necessário pois para dar a permissão é necessário ter permissão para tal:

    icacls "%USERPROFILE%\Configurações Locais\Dados de Aplicativos\Adobe\Color" /grant *S-1-1-0:(OI)(CI)F
    icacls "%ALLUSERSPROFILE%\Dados de aplicativos\Adobe\InDesign\Version 4.0"   /grant *S-1-1-0:(OI)(CI)F

    Ele vai conceder permissão FullControl para o grupo Todos(Everyone, SID igual a S-1-1-0)  nas pastas.

    Se quiser ver outras permissões veja estes links:

    Icacls

    http://technet.microsoft.com/en-us/library/cc753525(v=ws.10).aspx

    Outra forma é via GPO. 

    Apply or modify permission entries for objects using Group Policy

    http://technet.microsoft.com/en-us/library/cc756952(v=ws.10).aspx

    As duas formas podem "relaxar" a segurança destas pastas e assim vc vai conseguir fazer as cópias quando vc quiser.


    Fábio de Paula Junior

    quinta-feira, 4 de abril de 2013 22:00
    Moderador
  • Bruno,

    Resolvido?


    Fábio de Paula Junior

    terça-feira, 9 de abril de 2013 00:27
    Moderador
  • Jorge,

    Também pensei nisso, porém para usar o RUNAS, eu teria que ter a certeza que todo o meu parque tem a mesma senha do usuário administrador e (se tratando de Windows 7), ele não esteja desabilitado.

    Já tentei o comando CHANGE e também não consegui.

    Vamos ver se alguém mais tem alguma ideia!

    Abraços,

    Vc não está em domínio? Sua rede é workgroup?

    A dica do Fábio Jr parece ser a solução (não sabia do macete S-1-1-0)... boa dica!


    Boa Sorte! Jorge Borges.

    terça-feira, 9 de abril de 2013 13:39