win10系统,使用实验室的HP P2055dn打印机。每次关机重连后,都会把默认的双面打印机的设置改回“未安装”,需要手动改成“已安装”。感觉是个bug,win7的时候关机后状态还会保持。
每次连上都要改一次,心累。。。
尝试用PowerShell把这个操作脚本化,实测还是比较容易实现的。PowerShell ISE的交互式开发模式良好地继承了Visual Studio的提示风格,几乎不看文档,简单的Tab几次,看属性名大概就能猜出涵义。和之前写C#的感觉挺相似的(傻瓜式编程)
代码比较简单,第一行列出打印机原属性,第二行设置双面打印(长边翻转),第三行设置双面打印驱动属性为已安装,第四行重新打印更改后的打印机属性。最后借助了一个暂停方法让程序可由等待用户输入后再退出。
https://stackoverflow.com/questions/20886243/press-any-key-to-continue
1 Get-PrinterProperty -PrinterName 'HP LaserJet P205X series PCL6 Class Driver' 2 Set-PrintConfiguration -PrinterName 'HP LaserJet P205X series PCL6 Class Driver' -DuplexingMode TwoSidedLongEdge 3 Set-PrinterProperty -PrinterName 'HP LaserJet P205X series PCL6 Class Driver' -PropertyName Config:DuplexUnit Installed 4 Get-PrinterProperty -PrinterName 'HP LaserJet P205X series PCL6 Class Driver' 5 6 7 pause "Press any key to continue" 8 9 Function pause ($message) 10 { 11 # Check if running Powershell ISE 12 if ($psISE) 13 { 14 Add-Type -AssemblyName System.Windows.Forms 15 [System.Windows.Forms.MessageBox]::Show("$message") 16 } 17 else 18 { 19 Write-Host "$message" -ForegroundColor Yellow 20 $x = $host.ui.RawUI.ReadKey("NoEcho,IncludeKeyDown") 21 } 22 }
脚本在PowerShell ISE下调试很方便,写好后可能无法直接运行,可参考以下方式修改设置解决:
如果想自己给脚本签名,可参考以下链接:
需要注意的式,其中的代码可能由于版本原因,在win10上略有区别了。测试的时候发现cert:CurrentUserMy需要改为Cert:CurrentUserMy。
不过这个很容易发现,且稍微修改一下,或者Tab几下,就鞥你出现适当的提示帮助更正。