Compartilhando uma pasta e definir permissões no PowerShell
-
29-08-2019 - |
Pergunta
Eu preciso de um script para ser executado em Vista Ultimate para compartilhar uma unidade externa e controle total atribuir a todos. Eu tenho um arquivo de lote para criar o compartilhamento usando net share
, mas não parece ser uma maneira de alterar as permissões. Eu acho isso deve ser possível no PowerShell, mas não tenho idéia por onde começar.
Solução
Duas respostas.
Em PowerShell, o cmdlet Get-ACL irá recuperar as permissões existentes. Você, então, modificar esses usando comandos NET, e executar Set-ACL para aplicá-la de volta para a pasta - a ajuda para esses dois cmdlets inclui exemplos, e você pode baixar os exemplos do livro de www.sapienpress.com para "Windows PowerShell: TFM "= o livro também contém exemplos explícitos.
No entanto, não vale a pena o seu tempo. Em termos práticos, ACLs de arquivo são uma dor real para lidar com e incrivelmente complicado. Microsoft já escreveu lindas ferramentas para fazer isso, como Cacls, e é muito mais fácil apenas para usá-los.
Agora que é todas as permissões de arquivo - Você pode também estar interessado em mudar as permissões no próprio SHARE. A ferramenta para isso é SUBINACL, e você pode baixá-lo a partir do Microsoft. Veja também http://cwashington.netreach.net/depo/view. asp? Index = 1127 & ScriptType = vbscript .
Outras dicas
No caso de você estiver procurando por uma resposta a esta pergunta, mas você está executando o Windows 7 (em vez de Vista), como eu estava, você pode estar interessado em saber que as permissões podem ser definidas no comando NET SHARE, agora, diretamente.
Por exemplo,
net share Filmes = M: \ Filmes / Grant: Everyone`, leia
criará uma parte e dar a todos permissões só de leitura para ele.
Em vez de ler, você pode usar CHANGE ou cheio também.
A partir de WMF 4:
New-SmbShare –Name ShareName –Path C:\LocalFolder –FullAccess Username
O módulo PowerShell carbono tem duas funções que vão fazer isso para você: Instale-SmbShare e Grant-permissão . Eu baixá-lo e dar-lhe uma tentativa.
Install-SmbShare -Name MyShare -Path X:\ -FullAccess 'Everybody' `
-Description 'My super-awesome file share!'
Grant-Permission -Identity Everyone -Permission FullControl -Path X:\
Disclaimer: Eu sou o autor e criador de carbono. Eu recomendo usar este módulo, porque há um monte de ressalvas e buracos de olhar para fora ao instalar ações e concessão de permissões. Estes dois função de cuidar disso para você.