Users/Groups
Delete Disabled Users
Delete Disabled Users
Enum. Users
Enum. Users
Delete Users
Add Users
Enum. Groups
Enum. Groups
Change Groups
Add Group
Active Directory
Enum. AD Groups
Enum. AD Users
List AD Users w/Prop
Join AD Users
NIC/IP Addresses
Get IP Addresses
Get IP Addresses
Backup and Restore IP's
Add IP's
NIC Settings
OS/Hardware
OS Info Script
OS Info Script All
OS Info Script All
OS System Count
Hardware Info Script
Hardware Info Script #1
Hardware Info Script #2
CPU Settings
Enum. Printers
Disk Quotas
Disable Disk Quota
Enable Disk Quota
Disk Quota Query
Disk Quota Update
Shares/Files/Sessions
Enum. Shares
Enum. Shares
Enum. All Shares
Enum. Open Files
Enum. Open Files
Enum. Open Sessions
Others
Servers Uptime
DNS Stuff
Services Enum
Services Enum
Enum Processes
Enum Hot Fixes
MS FTP Server
FTP VD Query
FTP VD Delete
FTP Site Enum.
MS WWW Server
WWW Site Enum.
Enum Mime Types
Enum Mime Types
Application Pools
Application Pool Enum
Application Pool Enum
Create Application Pool
Create Application Pool
Delete Application Pool
Enum Apps in App Pool
Enum App Pool Settings
Move Apps Between App Pools
Others
IIS Component Probe
IIS Status
Enum SQL Dbases
Backup SQL Dbases
Orphan SQL Users
List AD/WG
My AD/WG Name
My PC Name
Enum AD Computers
Contact Us Form
SM Login Form Code
Imail Login Form Code
Enum. Domains in Imail
Enum. Users in Imail
CDONTS Component
CDOSYS Component
SA SMTP Component
App Pool Monitor
Ping and Tracert
Hard Drive Monitoring
Uptime Monitoring
Desktop Lock
CD Key Revealer
MIK Restarter
Site Map
About the Site
RSS Feeds I Read
Custom Scripts
Visitor #:
windowsadminscripts.com
www
Script:
Enumerate Printers
Email Address To Send Sample Code To:
@
This script will enumerate all printers installed on a computer and it will display all properties.
'***************************************************************** ' Script Witten by Larry Heintz ' March 2007 www.windowsadminscripts.com ' This script will output all printer information to all printers ' installed on a computer. Pass a -c command when running script ' to have information saves to a comma delimted file. '***************************************************************** Dim logpath logPath = getLogPath() if wscript.Arguments.count = "0" then printlog = false elseif wscript.Arguments(0) = "-c" then printlog = True else wscript.echo "Script Usage: cscript printerslist.vbs -c" wscript.echo "This will output information to a comma delimited file" wscript.echo "" wscript.echo "Script Usage: cscript printerslist.vbs" wscript.echo "This will output information to screen" wscript.quit end if if printlog = True then writetoLog("Name,Share Name,Comment,Error State,Driver Name,EnableB IDI,Job Count Since Last Reset,Location,Port Name,Published,Queued,Shared,Status") Set objWMIService = GetObject("winmgmts:\\" & getComputer() & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_Printer",,48) For Each objItem in colItems Select Case objItem.DetectedErrorState Case 4 ErrState = "Out of Paper" Case 5 ErrState = "Toner low" Case 6 ErrState = "Printing" Case 9 ErrState = "Offline" Case Else ErrState = objItem.DetectedErrorState End Select wscript.echo "Name:" & objItem.Name wscript.echo "Share Name:" & objItem.ShareName wscript.echo "Comment:" & objItem.Comment wscript.echo "Error State:" & ErrState wscript.echo "Driver name:" & objItem.DriverName wscript.echo "BIDI Enable:" & objItem.EnableBIDI wscript.echo "Job Count Since Last Reset:" & objItem.JobCountSinceLastReset wscript.echo "Location:" & objItem.Location wscript.echo "Port Name:" & objItem.PortName wscript.echo "Published:" & objItem.Published wscript.echo "Queued:" & objItem.Queued wscript.echo "Shared:" & objItem.Shared wscript.echo "Status:" & objItem.Status wscript.echo "============================================" if printlog = True then writetoLog(objItem.Name & "," & objItem.ShareName & "," & objItem.Comment & "," & ErrState & "," & objItem.DriverName & "," & objItem.EnableBIDI & "," & objItem.JobCountSinceLastReset & "," & objItem.Location & "," & objItem.PortName & "," & objItem.Published & "," & objItem.Queued & "," & objItem.Shared & "," & objItem.Status) Next Set colItems = nothing Set objWMIService = nothing Function writetoLog(info) Dim FSO,objFSOwriteline Set FSO = CreateObject("Scripting.FileSystemObject") Set objFSOwriteline = FSO.OpenTextFile(logPath & "\printers_" & getComputer() & ".txt", 8,True) objFSOwriteline.WriteLine(info) objFSOwriteline.close Set objFSOwriteline = nothing Set FSO = nothing End Function Function getLogPath() Dim temp,temp2 temp = split(wscript.scriptfullname,"\") for i = 0 to ubound(temp) - 1 temp2 = temp2 & temp(i) & "\" next getLogPath = temp2 End Function Function getComputer() Set objNet = WScript.CreateObject("WScript.Network") getComputer= objNet.ComputerName Set objNet = Nothing End Function
Copyright 2006 WindowsAdminScripts.com all rights reserved.