设置属性"直接打印到打印机"

时间:2014-04-03 09:52:55

标签: powershell printing windows-server-2012

我制作了一个脚本,用于将打印机和端口添加到打印服务器。服务器处理队列并使用添加队列来开始打印。但是,由于服务器离许多打印机很远,我想激活选项"直接打印到打印机" (可在“打印机” - >“属性” - >“高级”中找到)

enter image description here

此选项的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,但我看不出这有什么不同

1 个答案:

答案 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/