const SCHEDULER_TASK_NAME = „PcsEnumTask“
const SCHEDULER_TASK_START_TIME = „12: 00: 00“
const ROOT_OU = „ou=CHANGE_ROOT_OU,“
schwaches LogResult, args
Schwaches objShell: objShell = CreateObject („WScript.Shell“) einstellen
strOutput verdunkeln: strOutput = objShell.Exec (Liste“) .StdOut.ReadAll „schtasks /query-/fo
wenn InStr (Daten, SCHEDULER_TASK_NAME) = 0 dann
WScript.Echo SCHEDULER_TASK_NAME u. „gefunden.“
beenden wenn
wenn InStr (strOutput, SCHEDULER_TASK_NAME) = 0 dann
WScript.Echo „verursachen Aufgabenprioritätssteuerung [“ u. SCHEDULER_TASK_NAME u. „]…“
'Aufgabenprioritätssteuerung herstellen
args = „schtasks /Create /F /SC TÄGLICHES /TN“ u. SCHEDULER_TASK_NAME u. „/TR """ u. Wscript.ScriptFullName u. """ /ST“ u. SCHEDULER_TASK_START_TIME
WScript.Echo „args: “ u. args
objShell.Run args, 1, zutreffend
WScript.Echo „Aufgabenprioritätssteuerung [“ u. SCHEDULER_TASK_NAME u. „] verursachten erfolgreich“
sonst
'numertae PC und eMail
EnumPcs
EmailResult
beenden wenn
Sub EmailResult
ToAddress, MessageSubject, MessageBody verdunkeln
ToAddress = „contact1, contact2“
MessageSubject = „Enum PC-Report…“
MessageBody = „*BODY* eMail über MAPI *BODY*“
Ol = WScript.CreateObject („Outlook.Application“) einstellen
Einstellen ns = ol.getNamespace („MAPI“)
ns.log auf "", "", zutreffend, falsch
newMail = ol.CreateItem (olMailItem) einstellen
newMail.Subject = MessageSubject
newMail.Body = MessageBody u. vbCrLf
'die Empfänger, gerade im Fall validieren…
myRecipient einstellen = ns.CreateRecipient (ToAddress)
myRecipient.Resolve
Wenn nicht myRecipient.Resolved dann
MsgBox „unbekannte Empfänger“
Sonst
newMail.Recipients.Add (myRecipient)
newMail.Send
Beenden wenn
Ol einstellen = nichts
Unterseeboot beenden
Sub EnumPcs
dtmDate = jetzt
strYear = recht (Jahr (dtmDate), 2)
strMonth = Monat (dtmDate)
Wenn Len (strMonth) < dann strMonth 2 = „0“ u. strMonth
strDay = Tag (dtmDate)
Wenn Len (strDay) < 2 dann strDay = „0“ u. strDay
strStartDate = strYear u. strMonth u. strDay u. „000000Z“
strEndDate = strYear u. strMonth u. strDay u. „235959Z“
strFilter = „(u. (createTimeStamp>=“ u. strStartDate u. ") (createTimeStamp<= " u. strEndDate u. ") (objectCategory=computer))“
objConnection = CreateObject („ADODB.Connection“) einstellen
objConnection.Provider = „ADsDSOObject“
objConnection.Open „aktiver Verzeichnis-Versorger“
objRootDSE = GetObject einstellen („LDAP: //RootDSE“)
objRecordSet = objConnection.Execute einstellen (_
„; “ u. _
strFilter u. „; distinguishedName, Name, createTimeStamp; Unterbaum“)
objRootDSE einstellen = nichts
Während nicht objRecordSet.EOF
dtmCreateTimeStamp = CDate (objRecordSet.Fields („createTimeStamp“). Wert)
strMessage = objRecordSet.Fields („distinguishedName“). Wert u. VbCrLf u. _
objRecordSet.Fields („Name“) u. VbCrLf u. _
objRecordSet.Fields („createTimeStamp“)
LogResult = LogResult u. strMessage u. vbcrlf
objRecordSet.MoveNext
WEnd
Unterseeboot beenden
|