def runTest(self): self.hnd = spoolss.openprinter(self.uncname) # Everyone should have getprinter levels 0-3 for i in (0, 1, 2, 3): info = self.hnd.getprinter(level=i) try: stf.dict_check(self.sample_info[i], info) except ValueError, msg: raise "info%d: %s" % (i, msg)
def runTest(self): self.hnd = spoolss.openprinter(self.uncname) # Everyone should have getprinter levels 0-3 for i in (0, 1, 2, 3): info = self.hnd.getprinter(level = i) try: stf.dict_check(self.sample_info[i], info) except ValueError, msg: raise "info%d: %s" % (i, msg)
def __init__(self, host, key, creds, access): self.hnd = spoolss.openprinter(host, creds, access) self.key = key
import sys, re, string from samba import spoolss if len(sys.argv) != 3: print "Usage: psec.py getsec|setsec printername" sys.exit(1) op = sys.argv[1] printername = sys.argv[2] # Display security descriptor if op == "getsec": try: hnd = spoolss.openprinter(printername) except: print "error opening printer %s" % printername sys.exit(1) secdesc = hnd.getprinter(level=3)["security_descriptor"] print secdesc["owner_sid"] print secdesc["group_sid"] for acl in secdesc["dacl"]["ace_list"]: print "%d %d 0x%08x %s" % (acl["type"], acl["flags"], acl["mask"], acl["trustee"]) spoolss.closeprinter(hnd)
def __init__(self, host, creds={}, access=0x02000000): # For read access, use MAXIMUM_ALLOWED_ACCESS = 0x02000000 # For write access, use PRINTER_ACCESS_ADMINISTER = 0x00000004 self.hnd = spoolss.openprinter(host, creds=creds, access=access)
# import sys from samba import spoolss if len(sys.argv) < 2 or len(sys.argv) > 3: print "Usage: enumprinters.py <servername> [infolevel]" sys.exit(1) printserver = sys.argv[1] level = 1 if len(sys.argv) == 3: level = int(sys.argv[2]) # Get list of printers try: printer_list = spoolss.enumprinters("\\\\%s" % printserver) except: print "error enumerating printers on %s" % printserver sys.exit(1) # Display basic info for printer in printer_list: h = spoolss.openprinter("\\\\%s\\%s" % (printserver, printer)) info = h.getprinter(level = level) print "Printer info %d for %s: %s" % (level, printer, info) print
import sys, re, string from samba import spoolss if len(sys.argv) != 3: print "Usage: psec.py getsec|setsec printername" sys.exit(1) op = sys.argv[1] printername = sys.argv[2] # Display security descriptor if op == "getsec": try: hnd = spoolss.openprinter(printername) except: print "error opening printer %s" % printername sys.exit(1) secdesc = hnd.getprinter(level = 3)["security_descriptor"] print secdesc["owner_sid"] print secdesc["group_sid"] for acl in secdesc["dacl"]["ace_list"]: print "%d %d 0x%08x %s" % (acl["type"], acl["flags"], acl["mask"], acl["trustee"]) spoolss.closeprinter(hnd)
def runTest(self): hnd = spoolss.openprinter("\\\\%s" % self.server["hostname"]) spoolss.closeprinter(hnd)
def __init__(self, host, creds={}): self.hnd = spoolss.openprinter(host, creds=creds)
# import sys from samba import spoolss if len(sys.argv) < 2 or len(sys.argv) > 3: print "Usage: enumprinters.py <servername> [infolevel]" sys.exit(1) printserver = sys.argv[1] level = 1 if len(sys.argv) == 3: level = int(sys.argv[2]) # Get list of printers try: printer_list = spoolss.enumprinters("\\\\%s" % printserver) except: print "error enumerating printers on %s" % printserver sys.exit(1) # Display basic info for printer in printer_list: h = spoolss.openprinter("\\\\%s\\%s" % (printserver, printer)) info = h.getprinter(level=level) print "Printer info %d for %s: %s" % (level, printer, info) print
def runTestArg(self, creds): spoolss.openprinter(self.uncname, creds = creds)
def runTest(self): hnd = spoolss.openprinter(self.uncname) spoolss.closeprinter(hnd)
def runTestArg(self, creds): spoolss.openprinter(self.uncname, creds=creds)
def runTestArg(self, unc): spoolss.openprinter(unc)
def __init__(self, host, creds = {}, access = 0x02000000): # For read access, use MAXIMUM_ALLOWED_ACCESS = 0x02000000 # For write access, use PRINTER_ACCESS_ADMINISTER = 0x00000004 self.hnd = spoolss.openprinter(host, creds = creds, access = access)
def __init__(self, host, key): self.hnd = spoolss.openprinter(host) self.key = key
def __init__(self, host, creds = {}): self.hnd = spoolss.openprinter(host, creds = creds)
def runTest(self): hnd = spoolss.openprinter("\\\\{0!s}".format(self.server["hostname"])) spoolss.closeprinter(hnd)
# Sample usage: # # changeid.py '\\win2kdc1\magpie' # import sys from samba import spoolss if len(sys.argv) == 1: print "Usage: changeid.py <printername>" sys.exit(1) for printer in sys.argv[1:]: # Open printer handle try: hnd = spoolss.openprinter(printer) except: print "error opening printer %s" % printer sys.exit(1) # Fetch and display changeid info = hnd.getprinter(level = 0) print info["change_id"] # Clean up spoolss.closeprinter(hnd)