批处理文件无法识别添加打印机

Posted

技术标签:

【中文标题】批处理文件无法识别添加打印机【英文标题】:Batch File Not Recognizing Add-Printer 【发布时间】:2019-05-24 12:12:21 【问题描述】:

我正在创建一个批处理文件,它将根据您的位置添加网络打印机。当我拥有管理员权限时,该脚本在 PS 中运行良好,但我不确定在添加打印机时如何添加管理员权限。我有以下代码,并在文件中使用不同的打印机信息重复多次以添加该区域的所有打印机。

Add-PrinterDriver -Name "HP LaserJet 600 M601 M602 M603 PCL6"
Add-PrinterPort -Name "IP" -PrinterHostAddress "IP"
Add-Printer -Name "10139 Printer - Production" -DriverName "HP LaserJet 600 M601 M602 M603 PCL6" -Shared -ShareName "ProdPrinter" -PortName "IP"

我希望能够在任何 pc 上运行批处理文件并正常工作,仅此而已。没有显示。

【问题讨论】:

我不确定这里的问题是什么。标题说不识别批处理文件,但文字没有提到与不识别或批处理文件相关的问题。请edit 明确您的要求,这似乎是如何从 Powershell 脚本启用管理员权限,这与您当前所要求的完全不同。 我对这个问题感到困惑,你向我展示了一个 PS 脚本 (ps1) 但在标题中你声明你正在运行一个批处理脚本 (.bat) - 你能澄清一下吗,请。 一个 PowerShell 不是批处理文件。批处理文件需要 cmd.exe 和扩展名为 .cmd / .bat 的文件。当然 PowerShell 是一个 .ps1 扩展名。最后,默认情况下,在 Windows 中,非 Armin 用户无法添加打印机、安装软件、进行系统范围的更改,除非您更改 AD GPO 以允许他们这样做。因此,要么授予他们执行此 AD 的权限,要么使用目标所需的凭据设置计划任务。 【参考方案1】:

考虑到您将其用作 .ps1 而不是 .bat。

您可以对凭据进行硬编码。但我不喜欢它。

如果您对此选项感兴趣,请查看此 *** 问题。

Using PowerShell credentials without being prompted for a password

希望对你有帮助。

【讨论】:

如果您的答案仅包含指向现有问题的链接,则您应该将此问题标记为该帖子的副本。

以上是关于批处理文件无法识别添加打印机的主要内容,如果未能解决你的问题,请参考以下文章

eval 在 Windows 上无法识别

Windows 文件 PathTooLongException:用于识别文件路径长于 255 的批处理文件

Emacs shell 无法识别 python 命令

如何通过批处理文件中的时间戳识别/获取文件?

无法链接 OpenGL 兼容性配置文件(无法识别 EXT 符号)

为啥WPF无法识别我的这个DynamicResource