{"id":126,"date":"2011-09-17T17:11:15","date_gmt":"2011-09-17T17:11:15","guid":{"rendered":"http:\/\/www.itcrumbs.com\/?p=126"},"modified":"2019-02-07T04:40:24","modified_gmt":"2019-02-07T04:40:24","slug":"print-queue-scripting","status":"publish","type":"post","link":"http:\/\/www.itcrumbs.com\/?p=126","title":{"rendered":"Print Queue Scripting"},"content":{"rendered":"<p><a title=\"http:\/\/blogs.technet.com\/b\/askperf\/archive\/2011\/09\/16\/print-queue-scripting.aspx\" href=\"http:\/\/blogs.technet.com\/b\/askperf\/archive\/2011\/09\/16\/print-queue-scripting.aspx\">http:\/\/blogs.technet.com\/b\/askperf\/archive\/2011\/09\/16\/print-queue-scripting.aspx<\/a><\/p>\n<p>Many methods of programmatically working with printers exist and I\u2019ll be going over the main ones we use on the Windows platform support teams in this blog. These can be real lifesavers for print server administrators if changes need to be made across many queues.<\/p>\n<p>As a quick caveat, please keep in mind that we use many of these scripts and utilities for troubleshooting during the course of support incidents but not all of them are supported. I\u2019ll explicitly call out which tools are eligible for Microsoft support services and which ones are not while we walk through them.<\/p>\n<p><b><u>In-Box Print Admin Scripts<\/u><\/b><\/p>\n<p><b><u><\/u><\/b><\/p>\n<p><b><u>Supportability<\/u><\/b><\/p>\n<p>The print management visual basic scripts provided with the OS are fully supported. <\/p>\n<p><b><a href=\"http:\/\/blogs.technet.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-54-33-metablogapi\/1526.clip_5F00_image003_5F00_140B01B2.gif\"><img loading=\"lazy\" decoding=\"async\" title=\"clip_image003\" border=\"0\" alt=\"clip_image003\" src=\"http:\/\/blogs.technet.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-54-33-metablogapi\/8561.clip_5F00_image003_5F00_thumb_5F00_7383C1FF.gif\" width=\"10\" height=\"10\" \/><\/a><\/b><b> Important Notes<\/b><\/p>\n<p>\u00fc These scripts are WMI-based and thus are only for use against a stand-alone print server.<\/p>\n<p>\u00fc The first versions of these scripts were included with the Windows Server 2003 Resource Kit.<\/p>\n<p>\u00fc The Resource Kit versions of these scripts are NOT supported but work against a cluster.<\/p>\n<p><b><u>Script List<\/u><\/b><\/p>\n<p>Location:<\/p>\n<p>\u00b7 <b>Windows XP \/ Server 2003<\/b> &#8211; %windir%\\system32<\/p>\n<p>\u00b7 <b>Windows Vista \/ 7 \/ 2008 \/ 2008R2<\/b> &#8211; %windir%\\system32\\printing_admin_scripts<\/p>\n<p>Scripts:<\/p>\n<p>\u00b7 <a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/cc725833(WS.10).aspx\"><b>PRNCNFG.VBS<\/b><\/a><b><\/b><\/p>\n<p>Configures or displays configuration information about a printer.<\/p>\n<p>\u00b7 <a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/cc754632(WS.10).aspx\"><b>PRNDRVR.VBS<\/b><\/a><b><\/b><\/p>\n<p>Adds, deletes, and lists printer drivers.<\/p>\n<p>\u00b7 <a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/cc753980(WS.10).aspx\"><b>PRNJOBS.VBS<\/b><\/a><b><\/b><\/p>\n<p>Pauses, resumes, cancels and lists print jobs.<\/p>\n<p>\u00b7 <a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/cc725868(WS.10).aspx\"><b>PRNMNGR.VBS<\/b><\/a><b><\/b><\/p>\n<p>Adds, deletes, and lists printers or printer connections, in addition to setting and displaying the default printer. <b><\/b><\/p>\n<p>\u00b7 <a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/cc754352(WS.10).aspx\"><b>PRNPORT.VBS<\/b><\/a><b><\/b><\/p>\n<p>Creates, deletes, and lists standard TCP\/IP printer ports, in addition to displaying and changing port configuration.<b><\/b><\/p>\n<p>\u00b7 <a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/cc730914(WS.10).aspx\"><b>PRNQCTL.VBS<\/b><\/a><b><\/b><\/p>\n<p>Prints a test page, pauses or resumes a printer, and clears a printer queue.<b><\/b><\/p>\n<p>\u00b7 <a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/cc753116(WS.10).aspx\"><b>PUBPRN.VBS<\/b><\/a><b><\/b><\/p>\n<p>Publishes a print queue to active directory.<\/p>\n<p><b><u>Built-in Self Help<\/u><\/b><\/p>\n<p>All of the in-box scripts display syntax information and examples if you run them without parameters.<\/p>\n<p><b>CSCRIPT.EXE &lt;ScriptName.vbs&gt;<\/b><b><\/b><\/p>\n<p><b><u>Commonly used commands:<\/u><\/b><\/p>\n<p><u>     <br \/><\/u>Add HP Universal Printer Driver (UPD) 5.3 PCL 6 driver<\/p>\n<blockquote>\n<p>cscript prndrvr.vbs -a -m &quot;HP Universal Printing PCL 6 (v5.3)&quot; -v 3 -i &quot;C:\\TEMP\\hpcu115u.inf&quot; -h &quot;C:\\TEMP&quot;<\/p>\n<\/blockquote>\n<p>Add HP UPD 5.3 Postscript (PS) driver<\/p>\n<blockquote>\n<p>cscript prndrvr.vbs -a -m &quot;HP Universal Printing PS (v5.3)&quot; -v 3 -i &quot;C:\\TEMP\\hpcu115v.inf&quot; -h &quot;C:\\TEMP&quot;<\/p>\n<\/blockquote>\n<p>Add Xerox GPD 2.1 PS driver<\/p>\n<blockquote>\n<p>cscript prndrvr.vbs -a -m &quot;Xerox GPD PS V2.1&quot; -v 3 -i &quot;C:\\TEMP\\x2UNIVP.inf&quot; -h &quot;C:\\TEMP&quot;<\/p>\n<\/blockquote>\n<p>Delete all printer drivers that are not in use <\/p>\n<blockquote>\n<p>cscript prndrvr.vbs -x<\/p>\n<\/blockquote>\n<p>Set a print queue to RAW only (disable Advanced Printing Features)<\/p>\n<blockquote>\n<p>cscript prncnfg.vbs -t -p printer +rawonly<\/p>\n<\/blockquote>\n<p><u><\/u><\/p>\n<p>Set a print queue to print directly to the printer<\/p>\n<blockquote>\n<p>cscript prncnfg.vbs -t -p printer +direct<\/p>\n<\/blockquote>\n<p>Create a Standard TCP\/IP port with SNMP status disabled <\/p>\n<blockquote>\n<p>cscript prnport.vbs -a -md -r IP_127.0.0.1 -h 127.0.0.1 -o raw -n 9100<\/p>\n<\/blockquote>\n<p>Print a test page to a queue<\/p>\n<blockquote>\n<p>cscript prnqctl.vbs -p &quot;HP Color LaserJet&quot; -e<\/p>\n<\/blockquote>\n<p>Cancel all print jobs in a queue<\/p>\n<blockquote>\n<p>cscript prnqctl.vbs -p &quot;HP Color LaserJet&quot; -x<\/p>\n<\/blockquote>\n<p><b><u>More Information:<\/u><\/b><\/p>\n<p>The <i>unsupported<\/i> 2003 Resource Kit versions of these scripts can be run against a 32 or 64-bit cluster.     <br \/><a href=\"http:\/\/support.microsoft.com\/kb\/2466246\">2466246<\/a> &#8211; Printer VBScript error: 0x1A8. Object required     <br \/><a href=\"http:\/\/support.microsoft.com\/kb\/2466246\">http:\/\/support.microsoft.com\/kb\/2466246<\/a><\/p>\n<p><b><u>PrintUI.dll<\/u><\/b><\/p>\n<p><b><u><\/u><\/b><\/p>\n<p><b><u>Supportability<\/u><\/b><\/p>\n<p>One-line PrintUI.dll commands are fully supported by Microsoft support services, but the in-box print admin scripts are always the preferred method of getting the same tasks done.<\/p>\n<p><b><u>PrintUI.dll Help<\/u><\/b><\/p>\n<p>PrintUI.dll contains a wealth of information and examples if you run the following command.<\/p>\n<p>RUNDLL32 PRINTUI.DLL,PrintUIEntry \/? <\/p>\n<p><b><a href=\"http:\/\/blogs.technet.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-54-33-metablogapi\/5415.clip_5F00_image0031_5F00_0C135F50.gif\"><img loading=\"lazy\" decoding=\"async\" title=\"clip_image003[1]\" border=\"0\" alt=\"clip_image003[1]\" src=\"http:\/\/blogs.technet.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-54-33-metablogapi\/8055.clip_5F00_image0031_5F00_thumb_5F00_24A2FCA0.gif\" width=\"10\" height=\"10\" \/><\/a><\/b><b> Important Notes<\/b><\/p>\n<p>\u00fc Use the \/u switch when connecting to queues or drivers may be downloaded repeatedly.<\/p>\n<p>\u00fc Adding a local port (standard tcp\/ip or otherwise) is NOT supported by this tool.<\/p>\n<p>\u00fc An undocumented \/x switch is required to map an IPP printer. (Content ID <a href=\"http:\/\/support.microsoft.com\/kb\/314486\">314486<\/a>)<\/p>\n<p>\u00fc PrintUI.dll is updated somewhat frequently, so make sure you\u2019re using the <a href=\"http:\/\/www.bing.com\/search?q=%22printui.dll%22+hotfix&amp;go=&amp;qs=n&amp;sk=&amp;form=QBLH\">latest<\/a> version.<\/p>\n<p><b><u>Commonly used commands:<\/u><\/b><\/p>\n<p><u><\/u><\/p>\n<p><u>Connect to a print queue:<\/u><\/p>\n<p>rundll32 printui.dll,PrintUIEntry \/u \/in \/n <a href=\"file:\/\/\/\\\\machine\\printer\">\\\\machine\\printer<\/a><\/p>\n<p><u><\/u><\/p>\n<p><u>Add OEM printer driver using inf:<\/u><\/p>\n<p>rundll32 printui.dll,PrintUIEntry \/ia \/m &quot;Xerox WorkCentre 7775 PS&quot; \/h &quot;x64&quot; \/v 3 \/f C:\\Xerox\\x2DLEXP.inf<\/p>\n<p><u>Add in-box printer driver:<\/u><\/p>\n<p>rundll32 printui.dll,PrintUIEntry \/ia \/m &quot;Brother DCP-116C&quot; \/h &quot;x64&quot; \/v 3<\/p>\n<p><b><u>Troubleshooting:<\/u><\/b><\/p>\n<p>The vast majority of PrintUI.dll problems are related to incorrect or incomplete syntax.<\/p>\n<p>\u00fc Use example syntax as a template.<\/p>\n<p>\u00fc PrintUI.dll switches are case sensitive.<\/p>\n<p>\u00fc Driver names must be exactly as you see them in the GUI. (when installed manually)<\/p>\n<p>\u00fc Drivers require specification of the correct processor architecture using the \/h switch. Use a simple \u201cx86\u201d or \u201cx64\u201d parameter to indicate your preference.<\/p>\n<p>\u00fc Drivers also require a version to be specified with the \/v switch. You will always use 3 as the parameter for this switch. (There are no supported v2 kernel mode drivers today.)<\/p>\n<p><b><u>More Information:<\/u><\/b><\/p>\n<p><a href=\"http:\/\/blogs.technet.com\/b\/askperf\/archive\/2009\/02\/06\/deploying-printers-and-print-drivers-remotely.aspx\">Deploying Printers and Print Drivers Remotely<\/a><\/p>\n<p><b><u>SetPrinter (SetPrinter API wrapper)<\/u><\/b><\/p>\n<p><b><u><\/u><\/b><\/p>\n<p><b><u>SetPrinter Support Guidelines<\/u><\/b><\/p>\n<p>SetPrinter.exe is distributed with the Windows Server 2003 Resource Kit and is subject to the Resource Kit Support Policy.<\/p>\n<p>Resource Kit Support Policy<\/p>\n<p>The SOFTWARE supplied in the Windows Resource Kit Tools is not supported under any Microsoft standard support program or service. Customers can, however, report issues and bugs by sending e-mail to rkinput@microsoft.com. Microsoft will, at its sole discretion, address issues and bugs reported in this manner, and responses are not guaranteed. This e-mail address is only for issues related to the Windows Resource Kit Tools and the Windows Deployment and Resource Kits.<\/p>\n<p>The SOFTWARE (including instructions for its use and all printed and online documentation) is provided &quot;AS IS&quot; without warranty of any kind. Microsoft further disclaims all implied warranties including, without limitation, any implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the SOFTWARE and documentation remains with you.<\/p>\n<p>In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the SOFTWARE be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the SOFTWARE or documentation, even if Microsoft has been advised of the possibility of such damages.<\/p>\n<p>Although no support services are available for this tool, it generally works with all OS\u2019s, both clustered and stand-alone, from Windows XP to Windows Server 2008 R2.<\/p>\n<p>A few sample commands are provided later in this document, but consumers of this tool will generally need to use the embedded help to customize the command line for a desired result. <\/p>\n<p><b><a href=\"http:\/\/blogs.technet.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-54-33-metablogapi\/4341.clip_5F00_image0032_5F00_190D3F61.gif\"><img loading=\"lazy\" decoding=\"async\" title=\"clip_image003[2]\" border=\"0\" alt=\"clip_image003[2]\" src=\"http:\/\/blogs.technet.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-54-33-metablogapi\/4857.clip_5F00_image0032_5F00_thumb_5F00_18A10C6C.gif\" width=\"10\" height=\"10\" \/><\/a><\/b><b>Note <\/b><\/p>\n<p>\u00fc A custom script (e.g. VBScript, PowerShell, etc.) is a good alternative if SetPrinter will not accomplish a specific goal or functions in an unexpected manner.<\/p>\n<p><b><u><\/u><\/b><\/p>\n<p><b><u>SetPrinter Help<\/u><\/b><\/p>\n<p>Running SetPrinter.exe without any arguments will display the embedded help.<\/p>\n<p>Syntax: SetPrinter [-&lt;mode&gt;] &lt;\\\\server|printer&gt; &lt;level&gt; [&lt;data&gt; &#8230;] [&lt;cmd&gt;]<\/p>\n<p>or SetPrinter -help &lt;level&gt;<\/p>\n<p>or SetPrinter -examples &lt;level&gt;<\/p>\n<p>or SetPrinter -show [-&lt;mode&gt;] &lt;\\\\server|printer&gt; &lt;level&gt;<\/p>\n<p>where:<\/p>\n<p>\\\\server : (or \\\\server\\*) change all local printers on this server<\/p>\n<p>(use &quot;&quot; or &quot;*&quot; for all printers on local machine)<\/p>\n<p>\\\\server\\\\: change server (not printer) settings<\/p>\n<p>printer : change this printer (printer or \\\\server\\printer)<\/p>\n<p>level : PRINTER_INFO level (0 &#8211; 9).<\/p>\n<p>data : (optional) Level specific data in &#8216;keyword=value keyword=value&#8217;<\/p>\n<p>format. Data is unchanged for keywords not specified.<\/p>\n<p>cmd : (optional, but must be last if present) one of:<\/p>\n<p>&quot;pause&quot;, &quot;resume&quot;, &quot;purge&quot;, &quot;setstatus&quot;<\/p>\n<p>-help : show format of data for &lt;level&gt;<\/p>\n<p>-examples : show usage examples for &lt;level&gt;<\/p>\n<p>-show : show current settings (no changes applied &#8211; all &lt;data&gt; ignored)<\/p>\n<p>-&lt;mode&gt; : (optional) Only valid on Windows Vista and later.<\/p>\n<p>Possible values: -cached, or -notcached<\/p>\n<p>(See documentation for OpenPrinter2 API, pOptions parameter)<\/p>\n<p><b><u><\/u><\/b><\/p>\n<p>The &lt;level&gt; determines which members of the printer <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/cc244738(v=prot.10).aspx\">structure<\/a> are used.<\/p>\n<p>The most common &lt;level&gt; values are:<\/p>\n<p><a href=\"http:\/\/blogs.technet.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-54-33-metablogapi\/2100.clip_5F00_image001_5F00_1834D977.gif\"><img loading=\"lazy\" decoding=\"async\" title=\"clip_image001\" border=\"0\" alt=\"clip_image001\" src=\"http:\/\/blogs.technet.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-54-33-metablogapi\/8551.clip_5F00_image001_5F00_thumb_5F00_2A116D44.gif\" width=\"15\" height=\"15\" \/><\/a> Level 2: Used to configure most print queue settings.<\/p>\n<p><a href=\"http:\/\/blogs.technet.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-54-33-metablogapi\/2287.clip_5F00_image0011_5F00_50DF8384.gif\"><img loading=\"lazy\" decoding=\"async\" title=\"clip_image001[1]\" border=\"0\" alt=\"clip_image001[1]\" src=\"http:\/\/blogs.technet.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-54-33-metablogapi\/5824.clip_5F00_image0011_5F00_thumb_5F00_77AD99C4.gif\" width=\"15\" height=\"15\" \/><\/a> Level 3: Used to set print queue security.<\/p>\n<p><a href=\"http:\/\/blogs.technet.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-54-33-metablogapi\/8561.clip_5F00_image0012_5F00_1E7BB005.gif\"><img loading=\"lazy\" decoding=\"async\" title=\"clip_image001[2]\" border=\"0\" alt=\"clip_image001[2]\" src=\"http:\/\/blogs.technet.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-54-33-metablogapi\/3364.clip_5F00_image0012_5F00_thumb_5F00_5E45968A.gif\" width=\"15\" height=\"15\" \/><\/a> Level 8: Used to set global document printing defaults.<\/p>\n<p>Help for each level is available by running SetPrinter \u2013help &lt;level&gt;<\/p>\n<p>If there is a specific setting you are interested in, you may configure a print queue as desired in the GUI and then use the SetPrinter \u2013show option to find the value.<\/p>\n<p><b><u>Self-Help Walkthrough:<\/u><\/b><\/p>\n<p>These scenarios are intended to \u201cteach you to fish\u201d.<\/p>\n<p><strong>Example One:<\/strong><\/p>\n<p>I need to know what setting controls landscape vs. portrait in the Printing Defaults, and then set that to landscape for all print queues.<\/p>\n<p>1) This is a global setting that I want all clients to get when the print queue is connected to for the first time, so 8 is the appropriate level.<\/p>\n<p>2) Run SetPrinter \u2013help 8 to see the level-specific help.<\/p>\n<p>3) Run SetPrinter \u2013examples 8 to see some examples.<\/p>\n<p>4) Create a printer called HP and configure it to print in portrait mode.<\/p>\n<p>5) Run setprinter -show &quot;HP&quot; 8.<\/p>\n<p>6) Use the GUI to reconfigure the HP printer to print in landscape mode.<\/p>\n<p>7) Run setprinter -show &quot;HP&quot; 8.<\/p>\n<p>8) Compare the SetPrinter \u2013show results to discover dmOrientation has changed from 1 to 2.<\/p>\n<p>9) Roll out the change to all print queues with SetPrinter &quot;\u201d 8 pDevMode=dmOrientation=1.<\/p>\n<p><strong>Example Two:<\/strong><\/p>\n<p>I need to know what setting controls a print processor, and then switch all queues to WinPrint.<\/p>\n<p>1) This is a general setting for the print queue, so 2 is the appropriate level.<\/p>\n<p>2) Run SetPrinter \u2013help 2 to see the level-specific help.<\/p>\n<p>3) Run SetPrinter \u2013examples 2 to see some examples. <\/p>\n<p>4) Create a printer called Xerox and set it to the WinPrint print processor.<\/p>\n<p>5) Run setprinter \u2013show \u201cXerox\u201d 2.<\/p>\n<p>6) Use the GUI to reconfigure the Xerox printer to use a 3<sup>rd<\/sup> party print processor.<\/p>\n<p>7) Run setprinter \u2013show \u201cXerox\u201d 2.<\/p>\n<p>8) Compare the SetPrinter \u2013show results to discover pPrintProcessor has changed.<\/p>\n<p>9) Roll out WinPrint to all print queues with SetPrinter &quot;&quot; 2 pPrintProcessor=WinPrint.    <br \/>Note: Most 3<sup>rd<\/sup> party drivers work fine with WinPrint. When in doubt, ask your OEM.<\/p>\n<p><strong>Example Three:<\/strong><\/p>\n<p>I need to mirror the security settings on one print queue to all other queues.<\/p>\n<p>1) This is a security setting for the print queue, so 3 is the appropriate level.<\/p>\n<p>2) Run SetPrinter \u2013help 3 to see the level-specific help.<\/p>\n<p>3) Run SetPrinter \u2013examples 3 to see some examples. <\/p>\n<p>4) Create a printer called Lexmark and set security as desired.<\/p>\n<p>5) Run setprinter \u2013show \u201cLexmark\u201d 3 and copy the security descriptor.<\/p>\n<p>6) Roll out the security descriptor to all print queues with SetPrinter &quot;&quot; 3 &lt;Security Descriptor&gt;.<\/p>\n<p>Note: You may need to run this as the local system account. (psexec \u2013s \u2013i cmd.exe)<\/p>\n<p><b><u><\/u><\/b><\/p>\n<p><b><u>TechNet Script Repository<\/u><\/b><\/p>\n<p>The TechNet Script Repository provides printer management scripts with support provided through the forums. Whether you\u2019re a developer or a \u201cscript kiddie\u201d, this is the place to go for all of your custom printer management scripting needs. Maybe you can even contribute something to the community? J<\/p>\n<p>TechNet Script Center Repository    <br \/><a href=\"http:\/\/gallery.technet.microsoft.com\/scriptcenter\">http:\/\/gallery.technet.microsoft.com\/scriptcenter<\/a><\/p>\n<p>Disclaimer: The sample scripts are not supported under any Microsoft standard support program or service. The sample scripts are provided AS IS without warranty of any kind. Microsoft further disclaims all implied warranties including, without limitation, any implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample scripts and documentation remains with you. In no event shall Microsoft, its authors, or anyone else involved in the creation, production, or delivery of the scripts be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample scripts or documentation, even if Microsoft has been advised of the possibility of such damages.<\/p>\n<p>I hope you\u2019ve enjoyed reading this information as much as I have putting it together for you, and I sincerely hope one or more of these options can save you some time in the near future.<\/p>\n<p>&#8211;<a href=\"http:\/\/blogs.technet.com\/b\/askperf\/archive\/2007\/05\/07\/aaron-maxwell-s-bio.aspx\">Aaron Maxwell<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>http:\/\/blogs.technet.com\/b\/askperf\/archive\/2011\/09\/16\/print-queue-scripting.aspx Many methods of programmatically working with printers exist and I\u2019ll be going over the main ones we use on the Windows platform support teams in this blog. These can be real lifesavers for print server administrators if changes need to be made across many queues. As a quick caveat, please keep in mind that [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-126","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/www.itcrumbs.com\/index.php?rest_route=\/wp\/v2\/posts\/126","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.itcrumbs.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.itcrumbs.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.itcrumbs.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/www.itcrumbs.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=126"}],"version-history":[{"count":1,"href":"http:\/\/www.itcrumbs.com\/index.php?rest_route=\/wp\/v2\/posts\/126\/revisions"}],"predecessor-version":[{"id":782,"href":"http:\/\/www.itcrumbs.com\/index.php?rest_route=\/wp\/v2\/posts\/126\/revisions\/782"}],"wp:attachment":[{"href":"http:\/\/www.itcrumbs.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.itcrumbs.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=126"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.itcrumbs.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}