我制作了一个脚本,用于将打印机和端口添加到打印服务器。服务器处理队列并使用添加队列来开始打印。但是,由于服务器离许多打印机很远,我想激活选项"直接打印到打印机" (可在“打印机” - >“属性” - >“高级”中找到)
此选项的PowerShell等价物是什么?
$PortName = Read-Host "Name of port : "
$PortIp = Read-Host "IP Adress : "
Add-PrinterPort -Name $PortName -PrinterHostAddress $PortIp
Get-PrinterDriver
Write-Host "---------------------"
$PrintDriver = Read-Host "Print driver :"
if ($PrintDriver.Equals("HP")){ $PrintDriver = "HP Universal Printing PCL 6"}
$PrinterLocation = Read-Host "Location : "
Add-Printer -Name $PortName -DriverName $PrintDriver -Shared -Location $PrinterLocation -Published -PortName $PortName
我试过-RenderingMode
,但我看不出这有什么不同
答案 0 :(得分:0)
您可以使用PowerShell和WMI执行此操作:
$printer = Get-WmiObject -Class Win32_Printer -Filter "Name = 'PrinterName'"
$printer.Direct = $true
$printer.Put()
可能也应该尝试{} catch {}。
这也会将SpoolerEnabled
(已弃用的只读属性)和DoCompleteFirst
属性都设置为$false
。
http://www.powertheshell.com/reference/wmireference/root/cimv2/win32_printer/