none
Script permissão em pasta acesso full RRS feed

  • Pergunta

  • Caros,

    Estou precisando de um script que dê permissao pra um determinado usuário ''todos'' acesso full numa determinado pasta ''c:/teste por exemplo'' só que preciso colocar isso no meu parque interiro devido um programa expesifico que necessita de permissão para rodar.

    Agradeço desde já á todos.

    Atenciosamente
    Kelsen Lima

    Your potencial. Our passion.
    segunda-feira, 1 de junho de 2009 15:58

Respostas

  • Olá,

    Verifique se o script abaixo te atende:


    Option Explicit

    Dim strCaminho,strPasta,strGrupoLer,strGrupoMod,strGrupoFull
    Dim strFolder,WshShell,WshNetwork

    strCaminho = InputBox("Coloque o Caminho da Pasta" & _
        vbCrLf & "(Ex.:  " & "C:\pasta" & ")", , "C:\Pasta")

    If strCaminho = "" Then WScript.Quit(1)   

    strPasta = InputBox("Coloque o nome da Pasta" & _
        vbCrLf & "(Ex.:  " & "Pasta" & ")", , "Pasta")

    If strPasta= "" Then WScript.Quit(1)   

    strGrupoLer = InputBox("Coloque o nome do Grupo para Permissão de Leitura" & _
        vbCrLf & "(Ex.:  " & "Dominio\GrupoA" & ")", , "GrupoA")

    If strGrupoLer = "" Then WScript.Quit(1)   

    strGrupoMod = InputBox("Coloque o nome do Grupo para Permissão de Modificar" & _
        vbCrLf & "(Ex.:  " & "Dominio\GrupoB" & ")", , "GrupoB")

    If strGrupoMod = "" Then WScript.Quit(1)   

    strGrupoFull = InputBox("Coloque o nome do Grupo para Permissão Full" & _
        vbCrLf & "(Ex.:  " & "Dominio\GrupoC" & ")", , "GrupoC")

    If strGrupoFull = "" Then WScript.Quit(1)   

    Set strFolder = CreateObject("Scripting.FileSystemObject")
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    Set WshShell=CreateObject("Wscript.Shell")

    If strFolder.FolderExists (strCaminho & "\" & strPasta) = False Then
       strFolder.CreateFolder (strCaminho & "\" & strPasta)
    End If


    WshShell.Run "CACLS " & strCaminho & "\" & strPasta & " /E /c /G "& strGrupoLer  &":R"
    WshShell.Run "CACLS " & strCaminho & "\" & strPasta & " /E /c /G "& strGrupoMod  &":C"
    WshShell.Run "CACLS " & strCaminho & "\" & strPasta & " /E /c /G "& strGrupoFull  &":F"


    Faça os testes e nos retorne.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    • Marcado como Resposta Kelsen Lima terça-feira, 2 de junho de 2009 14:00
    segunda-feira, 1 de junho de 2009 17:44
  • Olá,

    Se você quer aplicar por GPO, deixe somente essa parte no script:


    strCaminho = "c:\pasta"
    strGrupoLer = "CONTOSO\grupoA"
    strGrupoFULL = "CONTOSO\grupoB"

    Set strFolder = CreateObject("Scripting.FileSystemObject")
    Set WshShell=CreateObject("Wscript.Shell")

    If strFolder.FolderExists (strCaminho & "\" & strPasta) = False Then
       strFolder.CreateFolder (strCaminho & "\" & strPasta)
    End If

    WshShell.Run "CACLS " & strCaminho  & " /c /G "& strGrupoLer  &":R"
    WshShell.Run "CACLS " & strCaminho  & " /E /c /G "& strGrupoFULL  &":F"

    No clacls Tente ao invés de usar o "everyone", usar o "todos"

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    • Marcado como Resposta Kelsen Lima terça-feira, 2 de junho de 2009 14:00
    terça-feira, 2 de junho de 2009 13:39

Todas as Respostas

  • Olá,

    Verifique se o script abaixo te atende:


    Option Explicit

    Dim strCaminho,strPasta,strGrupoLer,strGrupoMod,strGrupoFull
    Dim strFolder,WshShell,WshNetwork

    strCaminho = InputBox("Coloque o Caminho da Pasta" & _
        vbCrLf & "(Ex.:  " & "C:\pasta" & ")", , "C:\Pasta")

    If strCaminho = "" Then WScript.Quit(1)   

    strPasta = InputBox("Coloque o nome da Pasta" & _
        vbCrLf & "(Ex.:  " & "Pasta" & ")", , "Pasta")

    If strPasta= "" Then WScript.Quit(1)   

    strGrupoLer = InputBox("Coloque o nome do Grupo para Permissão de Leitura" & _
        vbCrLf & "(Ex.:  " & "Dominio\GrupoA" & ")", , "GrupoA")

    If strGrupoLer = "" Then WScript.Quit(1)   

    strGrupoMod = InputBox("Coloque o nome do Grupo para Permissão de Modificar" & _
        vbCrLf & "(Ex.:  " & "Dominio\GrupoB" & ")", , "GrupoB")

    If strGrupoMod = "" Then WScript.Quit(1)   

    strGrupoFull = InputBox("Coloque o nome do Grupo para Permissão Full" & _
        vbCrLf & "(Ex.:  " & "Dominio\GrupoC" & ")", , "GrupoC")

    If strGrupoFull = "" Then WScript.Quit(1)   

    Set strFolder = CreateObject("Scripting.FileSystemObject")
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    Set WshShell=CreateObject("Wscript.Shell")

    If strFolder.FolderExists (strCaminho & "\" & strPasta) = False Then
       strFolder.CreateFolder (strCaminho & "\" & strPasta)
    End If


    WshShell.Run "CACLS " & strCaminho & "\" & strPasta & " /E /c /G "& strGrupoLer  &":R"
    WshShell.Run "CACLS " & strCaminho & "\" & strPasta & " /E /c /G "& strGrupoMod  &":C"
    WshShell.Run "CACLS " & strCaminho & "\" & strPasta & " /E /c /G "& strGrupoFull  &":F"


    Faça os testes e nos retorne.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    • Marcado como Resposta Kelsen Lima terça-feira, 2 de junho de 2009 14:00
    segunda-feira, 1 de junho de 2009 17:44
  • Jesiel,

    Realmente funciona corretamente, embora eu precise de algum mas dinâmico pois preciso aplicar por GPO em todas as estações do meu parque.
    Eu estive colocando no script acima o usuario todos ( everyone ) e ele não adicionou o usuario na pasta, mas outros usuarios do dominio, ele adiciocou com perfeição.

    Atenciosamente
    Kelsen Lima

    Your potencial. Our passion.
    segunda-feira, 1 de junho de 2009 20:16
  • Olá,

    Se você quer aplicar por GPO, deixe somente essa parte no script:


    strCaminho = "c:\pasta"
    strGrupoLer = "CONTOSO\grupoA"
    strGrupoFULL = "CONTOSO\grupoB"

    Set strFolder = CreateObject("Scripting.FileSystemObject")
    Set WshShell=CreateObject("Wscript.Shell")

    If strFolder.FolderExists (strCaminho & "\" & strPasta) = False Then
       strFolder.CreateFolder (strCaminho & "\" & strPasta)
    End If

    WshShell.Run "CACLS " & strCaminho  & " /c /G "& strGrupoLer  &":R"
    WshShell.Run "CACLS " & strCaminho  & " /E /c /G "& strGrupoFULL  &":F"

    No clacls Tente ao invés de usar o "everyone", usar o "todos"

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    • Marcado como Resposta Kelsen Lima terça-feira, 2 de junho de 2009 14:00
    terça-feira, 2 de junho de 2009 13:39
  • Existe a possibilidade de fazer isso tudo diretamente, sem script, via GPO.
     
    []s,
     

    --
    Vinicius Canto Xavier
    MVP Scripting - Admin Frameworks - PowerShell
     
    Blog sobre scripting e powershell: http://viniciuscanto.blogspot. com
    "Jesiel S. Pereira" wrote in message news:578fbd1a-cd01-425 1-8888-c1a3dd8b5916...
    Olá,

    Se você quer aplicar por GPO, deixe somente essa parte no script:


    strCaminho = "c:\pasta"
    strGrupoLer = "CONTOSO\grupoA"
    strGrupoFULL = "CONTOSO\grupoB"

    Set strFolder = CreateObject("Scripting.FileSystemObject")
    Set WshShell=CreateObject("Wscript.Shell")

    If strFolder.FolderExists (strCaminho & "\" & strPasta) = False Then
       strFolder.CreateFolder (strCaminho & "\" & strPasta)
    End If

    WshShell.Run "CACLS " & strCaminho  & " /c /G "& strGrupoLer  &":R"
    WshShell.Run "CACLS " & strCaminho  & " /E /c /G "& strGrupoFULL  &":F"

    No clacls Tente ao invés de usar o "everyone", usar o "todos"

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    quarta-feira, 3 de junho de 2009 05:37
    Moderador