Listing 1: An Expiring Logon Audit of Printers
If Date() < #2010-02-01# Then
'using pn prefix for variables to limit name collisions
' Begin printer audit code
Dim pnNet, pnPrinters, pnSd, pnSh, pnCount
Dim pnUser, pnComputer, pnLogonServer, pnMsg
Set pnNet = CreateObject("WScript.Network")
set pnPrinters = pnNet.EnumPrinterConnections()
set pnSD = CreateObject("Scripting.Dictionary")
set pnSh = CreateObject("WScript.Shell")
pnUser = pnNet.UserName
pnComputer = pnNet.ComputerName
pnLogonServer = pnSh.ExpandEnvironmentStrings("%LOGONSERVER%")
pnSd( "user " & pnUser & " logging on from " & pnComputer _
& " has these printers:") = ""
for pnCount = 0 to pnPrinters.length -1 Step 2
pnSD(pnPrinters(pnCount) _
& " = " & pnPrinters(pnCount + 1)) = ""
next
pnMsg = Join(pnSd.Keys, vbCrLf)
pnSh.LogEvent 4, pnMsg, pnLogonServer
' end printer audit code
End If