在过去一个月左右的时间里,我开始使用PowerShell来自动执行我需要完成的许多繁琐的办公任务。它已经成为一种有用的工具,但由于Powershell能力的缺点或者我的思维过程中的疏忽,我已经走上了障碍。
每天早上,在开始我们的日子之前,我必须打印出来自不同打印机和多人的各种报告。我通过PowerShell设置了一个计划任务来打印这些,这完全正常,但我似乎无法将打印机设置更改为我打印文档的匹配要求。
我的代码类似于:
$kyo = Get-WmiObject -Class Win32_Printer -Filter "ShareName='Kyocera CS 300i KX'"
$kyo.DefaultCopies = 2
Start-Process "C:\Path\To\Reports\That Need Printing.doc" -Verb Print
当我阅读Win32_Printer类的文档时,它说只有DefaultCopies所在的属性是只读的,但是当我在PowerShell中引入这个属性时,它有一个" set"能力。当我为房产分配一个新号码时没有错误。但是这项任务在打印时不会转移到打印机。 powershell骗了我吗?如果是这样,有没有办法通过PowerShell访问和更改打印机属性对话框提供的属性?
我知道我可以使用循环打印副本中的文档,但是这会阻止我们的打印机自动旋转副本,我必须手动对它们进行排序。我也知道这让我听起来很懒,但是我要打印的每份文件大约有20份。如果我不懒,我也不会尝试自动化。