如何使用 powershell 为新用户设置默认打印机

Posted

技术标签:

【中文标题】如何使用 powershell 为新用户设置默认打印机【英文标题】:How to set default printer for new users using powershell 【发布时间】:2020-02-06 22:23:50 【问题描述】:

对如何通过 powershell 为新用户设置默认打印机有疑问。

我看过很多关于通过 wmi 方法设置默认打印机的帖子。这似乎仅适用于正在运行它的当前登录用户。这不适用于可能已经登录的其他用户。我可以通过HKU:\<SID>\Software\Microsoft\Windows NT\CurrentVersion\Windows 键在注册表的配置文件列表中为用户 sid 设置默认打印机。我将设备字符串设置为打印机名称和端口,isMRUEstablished 我设置为0legacydefaultprintermode 我设置为1 以防止Windows 将最后使用的打印机设置为默认值。这似乎适用于任何已经登录的用户。问题是我似乎无法找到一种在系统范围内设置它的方法。如果在用户获得机器并第一次登录之前安装打印机并进行设置,则不会为他们设置。我已尝试对.defualt 用户注册表配置单元进行上述注册表更改,但是当新用户登录该计算机时,他们会将 webex 文档打印设置为默认值或 onenote 打印机或其他内容。有没有其他方法可以通过 powershell 进行设置,使其适用于登录的新用户?

【问题讨论】:

看起来 Windows 10 不允许您通过注册表设置默认值。我可以使用 .default 注册表配置文件来设置设备,但如果将 LegacyDefaultPrinterMode 设置为 1 启用,则在 .default 配置文件下它不会延续到新的登录配置文件。用户配置文件将在设备密钥中设置打印机,但 LegacyDefaultPrinterMode 设置为 0。因此,当用户登录时,将没有默认设置,因为用户尚未选择打印机。似乎管理此设置的唯一方法是通过组策略。 【参考方案1】:

您必须从 c:\users\default 中的默认配置文件加载配置文件并调用 ntuser.dat。

加载此配置单元后,根据需要进行 reg 设置。然后卸载蜂巢。现在,任何第一次登录系统的人都会默认获得这些设置,无论它们是什么。注册表中的 .Default 是在系统登录但尚未登录时运行的,因此对打印机设置没有影响。

【讨论】:

很确定我试过了。上面提到过,但必须回去再检查一次。我已经太久没有搞砸它了。我放弃了它,只是把它留给用户来设置我的想法并继续前进。

以上是关于如何使用 powershell 为新用户设置默认打印机的主要内容,如果未能解决你的问题,请参考以下文章

将网络打印机设置为powershell中的默认打印机

为新用户提供默认权限或默认组

如何使用 powershell 设置文件的保存位置?

PowerShell 设置文件夹权限

mercurial 将一个分支设置为新的默认分支

Windows PowerShell使用