Set Default Printer Issue

This topic contains 2 replies, has 2 voices, and was last updated by  Noel Lacayo 3 years, 3 months ago.

  • Author
  • #23525

    Noel Lacayo

    I have a script that was created for Windows 2008 R2 which sets the default printer of a host.
    This script is used for large scale environments and uses the Get-WMIObject method to retrieve a list of printers.

    Due to some issues with a print driver, we need to utilize the new get-printer method but I CANNOT locate how to set a default printer with data pulled using get printer.

    Here is an example


    $printers = get-wmiobject win32_printer
    $defaultprinter = $printers | get-random


    $printers = get-printer
    $defaultprinter = $printers | get-random

    The new code fails due to the way get-printer returns results. I have tried limiting to $ and other variations with no luck

    Is anyone aware of a different method of setting the default printer with output from get-printer?
    I have exampled set-printer, set-printerproperty with no luck

  • #23528

    Dave Wyatt

    Default printers are a per-user setting, so this probably isn't going to work quite the way you expect it to.

    The new CIM classes that Get-Printer returns don't have a method to set the default printer. You can either fall back to WMI, or use the old WScript.Network COM object. For example:

    $wshNet = New-Object -ComObject WScript.Network

    Either way, though, you're only setting the default printer for yourself (or whatever user is running this script code.)

  • #23530

    Noel Lacayo

    Thank you for the reply. Yes understood its only for my self. Basically what I am doing is running this on thousands of workstations to grab a random printer from printers that are already mapped and make a random one the default printer.
    This is for a very specific purpose. Unfortunately there is no method using the new classes. The WMI way causes an undesirable result on our print server at this large of a scale. I have proven that the get-printer method has much less of an impact.

    Thank you for your reply.

You must be logged in to reply to this topic.