【问题标题】:Discover and install network printers via powershell通过 powershell 发现和安装网络打印机
【发布时间】:2023-03-29 07:58:01
【问题描述】:

我是 PowerShell 的新手,我正在尝试编写一个脚本来为我安装一系列网络打印机。为了让我开始,我正在寻找一种方法来查找打印服务器上的所有共享打印机,然后在本地安装它们。这是一些行不通但可以传达想法的东西。需要注意的一点是,这是在 win 2008 服务器上运行的脚本。

Get-WmiObject -computername $printServer -class Win32_Printer | Where {$_.name -notlike "Microsoft*"} | add-printer -connectionname \\$_.systemName\$_.shareName

【问题讨论】:

  • 您需要ForEach-Object 才能使$_ 在管道中工作。用% { Add-Printer -ConnectionName \\$_.SystemName\$_.ShareName } 替换最后一个命令(%ForEach-Object 的别名) - 未经测试。如果这没有帮助,我会尝试使用虚拟机并提供更好的答案。
  • 感谢您的每一个建议。我想还有另外两件我必须弄清楚(除了你的每个小费)。一个是字符串的串联(我不相信我这样做的方式会起作用)。其次,服务器 2008 中似乎不存在 Add-Printer cmdlet。

标签: powershell printing network-printers


【解决方案1】:

我目前没有办法对此进行测试,但我相信这可能对你有用。

$printClass = [wmiclass]"win32_printer"

Get-WmiObject -computername $printServer -class Win32_Printer | ? {$_.name -notlike "Microsoft*"} | % { $printClass.AddPrinterConnection([string]::Concat("\\", $_.systemName, "\", $_.shareName)) }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多