在用户之间传输文件

在用户之间传输文件

情况:

  • 两个用户帐户,userA 和 userB
  • 两个账户都在同一台物理机器上
  • 需要将文件从用户A移动到用户B
  • 文件不能暴露(对于互联网/其他用户,因此不能使用公共目录)
  • 无管理员访问权限
  • 最好是可编写脚本并且具有 Windows 内置功能

我试过了:

  • copy和的混合runas- 要么有获取权限,要么有放置权限,但不能同时拥有两者
  • 共享文件夹 - 需要管理员凭据

这似乎是一个微不足道的问题,但搜索后发现大多是在不同的计算机之间传输,或者传输方法需要管理员访问权限

答案1

将评论和讨论合并为一个答案:

您可以在本地计算机上的用户文件夹之外创建一个文件夹,例如 C: 驱动器根目录,两个用户都可以访问该文件夹。

文件夹上有一个“安全”选项卡(右键单击文件夹并转到“属性”),该选项卡允许您设置文件夹的权限,只允许您希望访问的用户访问。从列表中删除所有用户和组,然后仅添加您希望访问的用户,并设置“允许”选项。默认情况下,所有其他用户都将被拒绝。

要从 CLI 自动执行此操作,您可以尝试使用 VBScript。下面的第一个链接显示了如何执行此操作,第二个链接显示了略有不同的方法,但对可用的选项进行了更多的解释。

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

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

我在这里包含了第二个链接中的代码片段:

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

我现在还没有办法测试这一点,但我假设微软和赛门铁克网站上分别列出的内容,以及每篇文章的好评,至少是一个值得遵循的好的方向。

答案2

“无管理员访问权限”所以我假设您可以以每个用户的身份登录?

假设如此:

  1. 以用户 A 身份登录
  2. 右键单击要共享访问权限的文件夹。
  3. 选择“安全”选项卡
  4. 单击“添加”
  5. 输入用户 B 的名称并单击“查找”以确保匹配(如果在域中,请确保已选择本地计算机)
  6. 单击“确定”
  7. 将用户权限设置为“FULL”
  8. 单击“确定”
  9. 重复步骤 1 至 8,以用户 B 身份登录并添加用户 A

通过执行上述操作,用户将能够自行在文件夹之间传输文件。

然后,您可以让任一用户登录并运行脚本,将文件直接从一个文件夹复制到另一个文件夹。

编写文件夹复制脚本以便同步内容的简单方法如下(注意,根据 Windows 版本的不同,选项“/DCopy:DAT”可能需要更改为“/DCOPY:T”或完全删除):

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 

您可以将上述内容保存在适当命名的文本文件中,例如“SyncUserAandB.cmd”

(笔记保存文件时,您需要在类型下拉菜单中选择格式“全部”或者记事本会向文件添加一个“.txt”文件,当您在资源管理器中查看该文件时,该文件将被隐藏,除非您关闭“隐藏已知类型的文件扩展名”)

然后用户可以运行该文件,或者您可以以任一用户的身份创建一个 Windows 计划任务,该任务将按照您选择的时间间隔运行该文件。

相关内容