我们有学区在实验室中使用 R2 打印部署。为了对抗 R2 中遗漏的功能,我们使用Kixtart来提供帮助。这将有助于您为特定实验室的用户部署打印机。这也将提供等待 Windows 添加打印机所需的延迟。
实验室有一个命名约定。HS101-01、HS101-02、HS102-01、HS102-02等
使用来自组策略对象的 kixtart 启动脚本,我们让 kix32.exe 在下面执行此脚本。
;Capture room number
$pos = INSTR(@WkSta, "-");
IF $pos > 0
$Room = LEFT(@WkSta, ($pos - 1));
; ? $Room
ELSE
$Room = @WkSta;
ENDIF
SLEEP 45 ; Give the computer time to log in and add the printer
;;;;;;;;;;;;; BEGIN PRINTER DEFAULTS LIST ;;;;;;;;;;;;
SELECT
Case $Room = "HS71"
SetDefaultPrinter("\\nebsdfs\HS71 - HP LaserJet 4100 Series PCL")
Case $Room = "HS086"
SetDefaultPrinter("\\nebsdfs\HS086 - HP LaserJet 4000")
Case $Room = "ES102"
SetDefaultPrinter("\\nebsdfs\ES102 - HP LaserJet 4000")
ENDSELECT
;;;;;;;;;;;;;; END PRINTER DEFAULTS LIST ;;;;;;;;;;;;;
过去,我使用启动脚本完成了此操作。
使用 wscript:
取自此链接
在您对此答案的评论中,您提到了时间问题。在我们的系统上,我通过在下面添加脚本来调用设置默认打印机的脚本
用户配置 - 模板 - 系统/登录 - 登录时运行程序
“登录时运行程序”下的程序会在配置文件加载完成后以及 Windows 资源管理器启动后发生。我不能 100% 确定这会在所有情况下解决时间问题,但它对我有用。
这是一个令人惊讶的烦人问题。第一个问题是默认打印机设置是用户特定的。就像您在对 Jimmie 的评论中提到的第二个问题是,即使使用每个用户的登录脚本,也存在时间问题,即打印机在技术上尚不存在或 HKCU 配置单元尚未完成加载。
我们最终在我们的情况下所做的基本上是使用一个登录脚本,该脚本在尝试将其设置为默认值之前循环查找打印机是否存在。如果在一定时间后找不到它,它就会放弃。
我们有学区在实验室中使用 R2 打印部署。为了对抗 R2 中遗漏的功能,我们使用Kixtart来提供帮助。这将有助于您为特定实验室的用户部署打印机。这也将提供等待 Windows 添加打印机所需的延迟。
实验室有一个命名约定。HS101-01、HS101-02、HS102-01、HS102-02等
使用来自组策略对象的 kixtart 启动脚本,我们让 kix32.exe 在下面执行此脚本。
我希望这将有所帮助。谢谢。