【问题标题】:Add Network Location to My Computer (Group Policy)将网络位置添加到我的电脑(组策略)
【发布时间】:2015-10-13 14:04:02
【问题描述】:

我公司的股票变得笨拙,我们现在已经正式用完了将股票映射到用尽 A、B、H-Z 的信件。并非我们所有的用户都需要访问其中一些共享,但是有足够多的人需要访问足够多的不同共享,我们不能简单地为他们回收其他共享使用的信件。此时,我们将需要开始将共享移动到网络位置。

在我的电脑上添加网络位置快捷方式并不难,我右键单击并使用向导,但是如何通过组策略来完成?我不想手动设置 100 台左右的电脑

【问题讨论】:

    标签: windows-server-2012-r2 group-policy


    【解决方案1】:

    这绝对可以仅使用现有的组策略首选项来完成,但这有点乏味。

    背景资料

    当您创建网络位置快捷方式时,它实际上会创建三件事。

    1. 带有网络快捷方式名称的只读文件夹
    2. 目标文件夹中的 target.lnk
    3. 包含以下内容的 desktop.ini 文件

      [.ShellClassInfo]
      CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}
      Flags=2
      

    我在这个Spiceworks community forum post 上找到了这个信息。

    如何实现

    我从上面链接的同一个论坛帖子中的评论中弄清楚了如何做到这一点。

    您需要在组策略中创建四个设置。所有设置都位于组策略编辑器中:用户配置>首选项>Windows 设置 as seen in this image.

    文件夹设置

    使用以下设置添加一个新文件夹as seen in this image

    Path: %APPDATA%\Microsoft\Windows\Network Shortcuts\SHARENAME
    Read-only checked
    

    Ini 文件设置

    您必须在此设置中进行两个设置,as seen in this image

    1. 为 CLSID2 设置创建一个image

      File Path: %APPDATA%\Microsoft\Windows\Network Shortcuts\SHARENAME\desktop.ini
      Section Name: .ShellClassInfo
      Property Name: CLSID2
      Property Value: {0AFACED1-E828-11D1-9187-B532F1E9575D}
      
    2. 另一个用于标志设置image

      File Path: %APPDATA%\Microsoft\Windows\Network Shortcuts\SHARENAME\desktop.ini
      Section Name: .ShellClassInfo
      Property Name: Flags
      Property Value: 2
      

    快捷方式设置

    使用以下设置添加新的快捷方式首选项image

    Name: %APPDATA%\Microsoft\Windows\Network Shortcuts\SHARENAME\target
    Target type: File System Object
    Location: <Specify full path>
    Target path: SHARETARGET
    

    结语

    这将使用组策略创建网络位置。我建议使用项目级定位将您的所有网络位置保留在一个组策略中。

    管理所有这些单独的首选项可能很困难,因此我创建了一个应用程序来帮助管理共享和用户安全组过滤器。 Here is my application on github,您必须使用上述设置创建第一个共享,但应用程序可以处理添加更多共享、删除共享和更新现有共享。

    【讨论】:

    • 乔纳森:感谢您的非凡努力!微软在近 10 年前通过组策略实现驱动器映射确实是一场巨大的灾难,但尚未提供一种以类似方式执行此类网络快捷方式的方法。感谢您尝试使用如此出色的小应用程序来纠正此问题!
    • @Jonathan:非常感谢你。虽然我能够让它工作,但我想指出一个需要注意的问题。在客户端 PC 上进行测试时,一些用户会报告缺少快捷方式。应用程序事件日志指示文件丢失的错误代码 0x80070002。如果用户没有共享的权限,就会发生这种情况。我希望它会创建链接,然后在这种情况下使用时提示输入凭据,但创建链接时需要权限。
    • @Dono 所有这些都由 Windows 处理,我们无法改变它。我建议为网络共享创建一个 AD 安全组,将所有需要共享的用户添加到该组。授予该组对共享的权限,然后对该组使用项目级别定位,以便该组中的所有用户都将获得该快捷方式。如果有新用户需要访问该组,只需将其添加到安全组,新的快捷方式将在下一次组策略刷新时创建。
    • @JonathanPerry 当然。我将它设置为安全组,但不知不觉中丢失了一些用户。在意识到之前,问题并不是很直接,这就是为什么如果其他人遇到类似行为,我会留下这篇笔记。我还应用了项目级定位(如您建议的那样)以避免类似问题。
    【解决方案2】:

    您可以制作一个 bat 脚本,您可以将其添加到启动策略中运行:

    net use <driver letter> \\<servername>\<sharename> /user:<username> <password>
    

    例子:

        @echo off
        net use w: \\server /user:Test TestPassword
    


    这将在每台计算机上添加一个带有字母 W 的 \\server 的网络快捷方式。
    并且您可以修改以仅在某些计算机或用户上进行某些操作。 假设您只希望用户 'MikeS' 运行此命令,因此您可以输入以下内容:

    IF %USERNAME% == 'MikeS'(
        net use w: \\server /user:Test TestPassword
    )
    

    【讨论】:

    • 这只会创建一个映射驱动器,无论如何都可以通过组策略来完成。我只想像使用“添加网络位置向导”一样创建一个网络位置,而不是映射到任何驱动器。
    • 这也是一个不可扩展且因此站不住脚的解决方案。如果您重视 FutureYou 的时间,请不要这样做。
    猜你喜欢
    • 2017-04-08
    • 1970-01-01
    • 2021-04-28
    • 2021-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多