使用登录脚本映射用户文件夹

使用登录脚本映射用户文件夹

这是一个非常简单的问题,但我对脚本编写还不熟悉。我试图使用登录脚本将用户的文件夹(桌面、文档、下载、图片等)映射到他们登录的任何网络工作站。基本上,当他们不在指定的工作站上工作时,我希望他们能够访问他们的数据。我尝试使用net use Y: "\\%ComputerName%\%USERPROFILE%",但没有成功。任何帮助都将不胜感激。提前感谢您的帮助。

答案1

根据您的环境,您不需要编写脚本,Windows 支持漫游配置文件的组策略,该策略将所有用户数据存储在远程文件夹位置。

漫游配置文件的概念是:

  • 用户配置文件 %USERPROFILE% 从 C:\Users<username> 重定向到远程中央服务器,例如\\FileServer\Users\<username>
  • 每次用户登录时都会自动映射。

全面详尽的指南涵盖了所有方面,我建议你通读一下,但本质上你配置了 GPOUser Configuration > Policies > Windows Settings > Folder Redirection

答案2

这是非常不寻常的事情。但是,假设所有用户和工作站都属于同一个 AD 域,并且从您当前的尝试推断出所有用户都是域管理员或工作站上的本地管理员,您只需配置主驱动器即可。

正如您已经发现的那样,您需要有一个参考点,以了解用户通常属于哪台计算机以及他们的数据存储在何处。

我的建议是,您在用户的 Active Directory 配置文件中将用户的主驱动器设置为其文件所在的精确路径,并为其设置适当的驱动器号。

例如,user1在 上工作的人computer3应该设置他们的 Active Directory 配置文件,以便他们的主文件夹是\\computer3\c$\users\user1。这是任意的,但您可以将H:驱动器设置为连接到此主文件夹。

这样,无论何时何地用户登录,都会有一个 H: 驱动器连接到他们的用户配置文件。即使在他们通常使用的系统上也是如此。

现在,如果这些用户在这些计算机上没有管理权限,那么他们就无法访问C$管理共享。在这种情况下,您需要共享用户配置文件夹并设置适当的共享权限。在大多数情况下,用户应该是所有者,并且是唯一有权访问其用户配置文件夹的人,这是通过 NTFS 权限设置的。因此,如果这是真的,您可以简单地授予everyone对共享(而非 NTFS)权限的完全控制权。这样,NTFS 权限将控制本地和远程访问,您不必担心特定的共享权限。然后,您可以将主驱动器连接到\\computer3\user1例如 - 如果您将其配置文件夹共享为user1

这些设置也都可以编写脚本,但我觉得我们这里并不是要与大型组织打交道,因此手动执行这些操作就足够了。

答案3

虽然我确实同意其他人的观点,但这是以错误的方式解决 XY 问题的,但我确实发现了你的错误。

%USERPROFILE% 设置为 C:\Users\Username。这包含无法共享的字符。

此外,%Computername% 在登录时被翻译到他们当前所在的计算机,而不是他们的主计算机,因此这意味着您必须创建一个登录脚本来检查每个用户名并在那里进行映射。这当然意味着每次更改(新用户、更改计算机等)都将意味着编辑脚本。

以下是批量登录脚本的示例:

::  -- Login script: Maps Extra share if user is not on main computer
    if %USERNAME%==John goto John
    if %USERNAME%==Mark goto Mark

::  -- USERS LOGIN -------

:John
    if %COMPUTERNAME%==PC0007 goto end
    net use y: \\PC0007\John

:Mark
    if %COMPUTERNAME%==PC0012 goto end
    net use y: \\PC0012\Mark


:end

如果您可以更改每个人的计算机名以包含他们的用户名,则可以简化脚本,但这确实意味着计算机名将非常严格,并且人们只能拥有 1 台主计算机。假设您将计算机名更改为 John-PC,或者实际上%USERNAME%-PC,您可以创建这个简单的登录脚本:

::  -- Login script: Maps Extra share if user is not on main computer

    if %COMPUTERNAME%==%USERNAME%-PC goto end
    net use y: \\%USERNAME%-PC\%USERNAME%

:end

当然,这确实意味着,在每台计算机上,您都必须共享用户可以访问的文件夹,并将共享命名为他们的用户名。

相关内容