我注意到在 Windows Server 2012 中使用组策略将打印机部署到特定用户有两种不同的方法。第一种方法是为每个组创建单独的 GPO,第二种方法是将所有打印机添加到一个 GPO,然后使用安全设置来确定谁可以打印到它/它将部署给谁。
第一种设置的问题在于网络上的许多打印机只需要部署给单个用户,因此我需要为每个打印机组创建大约 30 个 GPO。其中许多仅包含一个人。
第二种选择似乎更适合我的需求,但使用此选项时,未部署打印机的人无法通过服务器连接到打印机,即使该打印机已列在目录中。我更愿意允许人们根据需要连接到未部署到其 PC 的打印机。
我的问题是,是否有任何方法可以将其设置为仅部署给某些用户,但其他人可以根据需要连接到它,而无需为每个在办公室有打印机的用户创建单独的 GPO。有什么想法吗?
答案1
一种方法是针对%CustomPrinterShare%
每个需要环境变量的用户或每台计算机定义环境变量(如果这更适合您),其中包含自定义打印机共享的路径或部分路径(即,使用一个或多个环境变量构建路径)。
在策略、首选项或登录脚本中,您可以使用环境变量映射打印机以定位特定的打印机路径,例如使用路径映射%Computer%\%CustomPrinterShare%
。
假设您可以创造性地命名打印机共享(以匹配环境变量的值或部分值),与定义多个 GPO 相比,也许您可以节省一些工作量?每个需要打印机的用户都会获得他们特定的打印机,同时仍允许其他人连接。
另一种方法是使用 AD 属性中的值来映射打印机。
实现这一点的具体方法有很多,这完全取决于你对环境的具体情况的创造力。因此,仅举一个简单的例子:
- 您发现,为每个需要打印机的用户对象在 AD 属性中填写一个值,比为每个用户创建自定义 GPO 打印机映射所需的管理时间更少。
- 因此,您可以指定一个可用的自定义属性,
Custom Attribute 1
或者自定义架构以创建一个全新的属性。 \\Computer\PrinterShare
对于需要打印机的用户,您可以在所选属性中输入其各自打印机共享的路径,例如。- 使用登录脚本检查此 AD 属性中的值。如果有值,脚本将尝试使用该值映射打印机。
我只是粗略地画了一下草图,然后根据你的心意进行调整。
答案2
我最终为每台打印机添加了两台打印机。第一台打印机我部署给了特定用户,第二台打印机我跳过了部署并列在目录中。