基于登录终端自动部署对应打印机的方案咨询
嗨,看了你的问题,这种跨岗位跨地点的打印机自动部署需求其实挺常见的,完全不用一直手动折腾,给你几个实用的方案参考:
组策略(GPO)+ 计算机组织单元(OU)方案
既然你们的电脑是按「地点+岗位」区分的(比如Detroit的柜员机、Omaha的贷款专员机),可以先把这些电脑按规则归类到Active Directory的对应OU里,比如创建Detroit-Teller、Omaha-LoanOfficer、Detroit-LoanOfficer这类OU。
接着针对每个OU创建专属组策略:打开组策略管理控制台,找到目标OU并创建GPO,编辑GPO后进入「计算机配置」>「策略」>「Windows设置」>「部署打印机」,右键选择「添加」>「从打印服务器」,输入你们的打印服务器名称,选中该OU对应岗位/地点的打印机即可。
这种方案是基于计算机配置的,不管哪个用户登录这台电脑,都会自动部署该OU对应的打印机,完美匹配你描述的场景。登录脚本(PowerShell/Batch)方案
如果OU划分的方式不太适合你们的环境,也可以用登录脚本实现。思路是先给每台电脑设置带有标识的名称(比如DT-Teller-001代表Detroit柜员机、OMA-Loan-002代表Omaha贷款专员机),然后写一段PowerShell脚本,用户登录时自动读取当前电脑名称,判断所属的地点和岗位,再从打印服务器映射对应的打印机。
给你一个简单的示例脚本:$computerName = $env:COMPUTERNAME # 匹配Detroit柜员机 if ($computerName -like "DT-Teller*") { Add-Printer -ConnectionName "\\你的打印服务器名\Detroit-Teller-Printer1" Add-Printer -ConnectionName "\\你的打印服务器名\Detroit-Teller-Printer2" } # 匹配Omaha贷款专员机 elseif ($computerName -like "OMA-Loan*") { Add-Printer -ConnectionName "\\你的打印服务器名\Omaha-Loan-Printer1" Add-Printer -ConnectionName "\\你的打印服务器名\Omaha-Loan-Printer2" } # 其他地点/岗位的判断逻辑同理添加写完脚本后,通过组策略的「用户配置」>「脚本」>「登录」项添加进去,用户每次登录时就会自动执行脚本部署对应打印机。
打印服务器子网筛选部署方案
如果你们每个地点的电脑都处于独立的子网中,还可以直接在打印服务器上设置打印机的部署筛选规则。比如让Detroit的柜员打印机只部署给Detroit对应子网的电脑,Omaha的贷款打印机只部署给Omaha对应岗位的子网设备。Windows打印服务器支持按IP范围来筛选部署目标,结合组策略的打印机部署功能就能实现自动匹配。
最后提醒下:不管选哪个方案,建议先找几台不同地点、不同岗位的电脑做测试,确保打印机能正确部署且不会出现冲突。另外,你们已经开放了所有用户访问打印机的权限,这点刚好能支撑这些方案的落地,不用额外调整权限。
备注:内容来源于stack exchange,提问作者kitchenshark

