更新对象 System.Printing.PrintQueue
update object System.Printing.PrintQueue
我需要更新打印机驱动程序中的属性。我能够获得正确的信息,但我不知道如何更改此值。
Add-Type -AssemblyName System.Printing
$adminServer = [System.Printing.PrintSystemDesiredAccess]::AdministrateServer
$adminPrinter = [System.Printing.PrintSystemDesiredAccess]::AdministratePrinter
$server = new-object System.Printing.LocalPrintServer $adminServer
$queues = $server.GetPrintQueues()
foreach($q in $queues){
$objPrinter = new-object System.Printing.PrintQueue -argumentList $server,$q.Name,$adminPrinter
$objPrinter.CurrentJobSettings.CurrentPrintTicket.PageMediaType
}
$objPrinter.CurrentJobSettings.CurrentPrintTicket.PageMediaType
的输出是Unknown
,应改为AutoSelect
有人可以帮助我吗? :)
自从我在 Windows 上使用 Printer Management 已经有一段时间了,但我相当确定您想更新 DefaultPrintTicket
而不是与当前作业关联的任何设置,所以改为这样设置:
$objPrinter.DefaultPrintTicket.PageMediaType = 'AutoSelect'
... 然后使用 PrintQueue.Commit()
:
在打印服务器中保留配置更改
$objPrinter.Commit()
我需要更新打印机驱动程序中的属性。我能够获得正确的信息,但我不知道如何更改此值。
Add-Type -AssemblyName System.Printing
$adminServer = [System.Printing.PrintSystemDesiredAccess]::AdministrateServer
$adminPrinter = [System.Printing.PrintSystemDesiredAccess]::AdministratePrinter
$server = new-object System.Printing.LocalPrintServer $adminServer
$queues = $server.GetPrintQueues()
foreach($q in $queues){
$objPrinter = new-object System.Printing.PrintQueue -argumentList $server,$q.Name,$adminPrinter
$objPrinter.CurrentJobSettings.CurrentPrintTicket.PageMediaType
}
$objPrinter.CurrentJobSettings.CurrentPrintTicket.PageMediaType
的输出是Unknown
,应改为AutoSelect
有人可以帮助我吗? :)
自从我在 Windows 上使用 Printer Management 已经有一段时间了,但我相当确定您想更新 DefaultPrintTicket
而不是与当前作业关联的任何设置,所以改为这样设置:
$objPrinter.DefaultPrintTicket.PageMediaType = 'AutoSelect'
... 然后使用 PrintQueue.Commit()
:
$objPrinter.Commit()