Transferir arquivos entre usuários

0

Situação:

  • Duas contas de usuário, userA e userB
  • Ambas as contas estão na mesma máquina física
  • Precisa mover arquivos de userA para userB
  • Os arquivos não podem ser expostos (para a internet / outros usuários, portanto não é possível usar o diretório público)
  • Sem acesso de administrador
  • De preferência, com script e com o Windows builtins

Eu tentei:

  • Mistura de copy e runas - têm permissões para obter ou colocar, mas nunca as duas
  • Compartilhando uma pasta - requer credenciais de administrador

Este parece ser um problema trivial, mas a pesquisa na maior parte vem com a transferência entre diferentes computadores ou acesso administrativo é necessário para o método de transferência

    
por phflack 15.12.2017 / 16:59

2 respostas

2

Consolidando comentários e discussões em uma resposta:

Você pode ter uma pasta na máquina local fora das pastas Usuário, como o diretório raiz da unidade C:, para o qual ambos os usuários têm acesso.

Existe um separador Segurança na pasta (clique com o botão direito na pasta e vá para Propriedades) que lhe permitirá definir permissões na pasta, permitindo apenas os usuários que você deseja ter acesso. Remova todos os usuários e grupos da lista e adicione apenas os usuários que você deseja acessar, com a opção "Permitir" definida. Todos os outros usuários serão negados por padrão.

Para fazer isso automaticamente a partir de uma CLI, você pode tentar usar o VBScript. O primeiro link abaixo mostra como isso pode ser feito e o segundo link mostra uma maneira um pouco diferente, mas com mais explicações sobre quais opções estão disponíveis.

https://social.technet.microsoft.com/Forums/windows/en-US/ac1bb931-c641-4784-b5f0-3fa77a9a984b/add-permissions-to-a-ntfs-folder-using-vbscript?forum=itproxpsp

https://www.symantec.com/connect/downloads/vbscript-grant-permission

Estou incluindo o snippet de código do segundo link aqui:

Dim oShell, FoldPerm, Calcds, oFSO

Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oShell = CreateObject("WScript.Shell")

sSysDir = oFSO.GetSpecialFolder(1).Path
If Right(sSysDir,1) <> "\" Then sSysDir = sSysDir & "\"

Calcds = sSysDir & "cacls.exe" 

'Chang The folder Name, User and Access rights in the following line of code  

FoldPerm = """" & Calcds &"""" & """C:\MyFolder""" & " /E /T /C /G " & """Power Users""" & ":C" 

oShell.Run FoldPerm, 1 ,True

Eu não tenho como testar isso agora, mas estou assumindo que algo listado separadamente nos sites da Microsoft e da Symantec, com boas críticas em cada post, seria pelo menos uma boa direção a ser seguida.

    
por 15.12.2017 / 18:25
0

"Sem acesso de administrador" Então, eu suponho que você pode logar como cada um dos usuários?

Assumindo isso:

  1. Fazer login como usuário A
  2. Clique com o botão direito na pasta na qual você deseja compartilhar o acesso.
  3. Selecione a guia Segurança
  4. Clique em Adicionar
  5. Digite o nome do usuário B e clique em localizar para verificar se ele corresponde (verifique se o computador local está selecionado se estiver em um domínio)
  6. Clique em OK
  7. Definir permissões no usuário para "COMPLETO"
  8. Clique em OK
  9. Repita as etapas de 1 a 8 fazendo login como usuário B e adicionando o usuário A

Ao fazer o acima, os usuários poderão transferir arquivos entre suas pastas por conta própria.

Você pode então ter um login de usuário e executar um script que copia os arquivos diretamente de uma pasta para outra.

Uma maneira simples de copiar scripts da pasta para que o conteúdo em sincronia seja o seguinte (Nota, dependendo da versão do Windows, a Opção "/ DCopy: DAT" pode precisar ser alterada para "/ DCOPY: T "ou removido completamente):

REM Copy User A to User B:
  Robocopy "C:\Users\UserA\Documents\Folder" "C:\Users\UserB\Documents\Folder" * /S /E /ZB /NP /IT /XJ /DCopy:DAT 

REM Copy User B to User A:
  Robocopy "C:\Users\UserB\Documents\Folder" "C:\Users\UserA\Documents\Folder" * /S /E /ZB /NP /IT /XJ /DCopy:DAT 

Você pode salvar as informações acima em um arquivo de texto com o nome apropriado, como "SyncUserAandB.cmd"

(Nota Ao salvar o arquivo, você precisará selecionar o formato "ALL" no menu suspenso de tipos , ou o bloco de notas adicionará um ".txt" ao arquivo que será ocultado quando você olha para ele no explorador, a menos que você desligue "esconder extensões de arquivo para tipos conhecidos")

Em seguida, o usuário pode executar o arquivo ou criar uma tarefa agendada do Windows como um usuário que executará o arquivo no intervalo de sua escolha.

    
por 15.12.2017 / 19:05