#get-Printer.ps1 # Jeffery Hicks # http://jdhitsolutions.com/blog # follow on Twitter: http://twitter.com/JeffHicks # "Those who forget to script are doomed to repeat their work." # **************************************************************** # * DO NOT USE IN A PRODUCTION ENVIRONMENT UNTIL YOU HAVE TESTED * # * THOROUGHLY IN A LAB ENVIRONMENT. USE AT YOUR OWN RISK. IF * # * YOU DO NOT UNDERSTAND WHAT THIS SCRIPT DOES OR HOW IT WORKS, * # * DO NOT USE IT OUTSIDE OF A SECURE, TEST SETTING. * # **************************************************************** Function Get-Printer { $printers=Get-ChildItem HKLM:System\currentControlSet\Control\print\Printers foreach ($printer in $printers) { $Name=$printer.PSChildName $Port=(Get-ItemProperty -Path $printer.PsPath -Name Port).Port $PrinterDriver=(Get-ItemProperty -Path $printer.PsPath -Name 'Printer Driver').'Printer Driver' $obj=New-Object PSObject $obj | Add-Member -MemberType NoteProperty -Name "Name" -Value $Name $obj | Add-Member -MemberType NoteProperty -Name "Port" -Value $Port $obj | Add-Member -MemberType NoteProperty -Name "PrinterDriver" -Value $PrinterDriver write $obj } #end ForEach } #End Function Set-Alias gpr Get-Printer Get-Printer