none
Como criar script com repetidor ( FOR ) RRS feed

  • Pergunta

  • Set WshShell=CreateObject("Wscript.Shell")
    WshShell.Run "CACLS c:\Pasta\ /E /c /G ""Seu Dominio\Domain Users"":F"

    Bom dia pessoal,

    Preciso colocar permissão (um grupo) em uma pasta compartilhada no c:\pasta para várias estações de trabalho e gostaria de saber como posso fazer isso utilizando o comando acima, citado por vcs, mas com um FOR apontando para um TXT com o nome dos clients. Tem como?

    Grato,

    sexta-feira, 8 de maio de 2009 08:25

Respostas

  • Olá,

    Para você executar um script varrendo na maquina do usuário... você terá que usar o psexec do Pstools. Verifique os links abaixo:

    Download:
    http://technet.microsoft.com/pt-br/sysinternals/bb897553(en-us).aspx

    Comandos:
    http://technet.microsoft.com/pt-br/sysinternals/bb897553(en-us).aspx


    Segue abaixo um script para varrer um arquivo texto e executar o pstools:

    Const ForReading = 1

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    'caminho do arquivo txt
    Set objTextFile = objFSO.OpenTextFile("C:\computadores.txt",ForReading)

    Do While objTextFile.AtEndOfStream <> True
       'aqui é a linha que está lendo
       nome = objTextFile.ReadLine

       'caminho do psexec
       strPsexec = "\\server\compartilhamento\PsTools\psexec.exe"


       'Caminho do arquivo que irá executar no computador cliente
       strScript =  "\\server\compartilhamento\teste.vbs"

       Set WSHShell = WScript.CreateObject("WScript.Shell")
       WSHShell.Run strPsexec & " \\" & nome & " cscript.exe " & strScript, 2, true

    Loop


    Você cria o arquivo c:\computadores.txt e altera o caminho dos executaveis. Aí é só testar.
    Outro ponto.. você deve ter acesso ao computador cliente, portanto você deve ser membro do Grupo Domain Admins

    Faça os testes e nos retorne.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    sexta-feira, 8 de maio de 2009 16:51

Todas as Respostas

  • Olá,

    Para você executar um script varrendo na maquina do usuário... você terá que usar o psexec do Pstools. Verifique os links abaixo:

    Download:
    http://technet.microsoft.com/pt-br/sysinternals/bb897553(en-us).aspx

    Comandos:
    http://technet.microsoft.com/pt-br/sysinternals/bb897553(en-us).aspx


    Segue abaixo um script para varrer um arquivo texto e executar o pstools:

    Const ForReading = 1

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    'caminho do arquivo txt
    Set objTextFile = objFSO.OpenTextFile("C:\computadores.txt",ForReading)

    Do While objTextFile.AtEndOfStream <> True
       'aqui é a linha que está lendo
       nome = objTextFile.ReadLine

       'caminho do psexec
       strPsexec = "\\server\compartilhamento\PsTools\psexec.exe"


       'Caminho do arquivo que irá executar no computador cliente
       strScript =  "\\server\compartilhamento\teste.vbs"

       Set WSHShell = WScript.CreateObject("WScript.Shell")
       WSHShell.Run strPsexec & " \\" & nome & " cscript.exe " & strScript, 2, true

    Loop


    Você cria o arquivo c:\computadores.txt e altera o caminho dos executaveis. Aí é só testar.
    Outro ponto.. você deve ter acesso ao computador cliente, portanto você deve ser membro do Grupo Domain Admins

    Faça os testes e nos retorne.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    sexta-feira, 8 de maio de 2009 16:51
  • Jesiel,

    Ótimo!

    Só mais uma dúvida, o teste.vbs é o script que citei na minha pergunta, certo?

    Irei testar e rertorno com a resposta, ok?

    Muito obrigado,

    sexta-feira, 8 de maio de 2009 19:07
  • Olá,

    Isso mesmo Gú...

    Ele tem que estar em um compartilhamento que tenha permissão de acesso.

    No psexec você tem o parametro -c que copia o script para executar local... é uma alternativa também.

    Faça os testes e poste os resultados. Se funcionar... classifique a resposta para deixarmos registrado.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    sexta-feira, 8 de maio de 2009 19:29