Created
December 6, 2010 18:21
-
-
Save gsherman/730685 to your computer and use it in GitHub Desktop.
Check for any license keys that are about to expire
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
///////////////////////////////////////////////////////////////////////////////////////////// | |
// Check for any license keys that are about to expire | |
// If found, send an email | |
// once a reminder is sent - update the license key table so its not sent again in the future | |
///////////////////////////////////////////////////////////////////////////////////////////// | |
function rw(foo){WScript.Echo(foo);} | |
//How far in the future to look for expiring Keys | |
var numDays = 30; | |
//array of month names | |
var MONTH_NAMES=new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'); | |
var FCApp = WScript.CreateObject('FCFLCompat.FCApplication'); | |
FCApp.Initialize(); | |
var futureDate = new Date(); | |
futureDate.setDate(futureDate.getDate() + numDays); | |
futureDate = formatDate(futureDate,"M/d/yyyy"); | |
rw('Finding all keys expiring before: ' + futureDate); | |
var FCSession=FCApp.CreateSession(); | |
FCSession.LoginFromFCApp(); | |
var genKeys = FCSession.CreateGeneric('fc_license_key'); | |
genKeys.AppendFilter('reminder_sent','=',0); | |
genKeys.AppendFilter('expiration_date','<=',futureDate); | |
var genSite = FCSession.CreateGeneric(''); | |
genSite.TraverseFromParent(genKeys,'fc_license_key2site'); | |
genKeys.Bulk.Query(); | |
rw('Number of keys found: ' + genKeys.Count()); | |
while (!genKeys.EOF){ | |
//send an email reminder | |
var msg = "The following license key will be expiring soon:" | |
msg+='\nSite Name: ' + genSite('name');; | |
msg+='\nSite ID: ' + genSite('site_id');; | |
msg+='\nProduct: ' + genKeys('product');; | |
msg+='\nExpires: ' + genKeys('expiration_date');; | |
msg+='\nComments: ' + genKeys('comments');; | |
var subject="Reminder: License key for site '" + genSite('name') + "' will be expiring soon"; | |
var to="someone@company.com"; | |
var cc="someone_else@company.com"; | |
var sender = WScript.CreateObject('FCEmailSender.Sender'); | |
sender.FromAddress = "License Key Reminder<sender@company.com>"; | |
sender.To = to; | |
sender.Cc = cc; | |
sender.SetSmtpServer("my_email_server", "25", null, null); | |
sender.Subject = subject; | |
sender.Body=msg; | |
sender.Send(); | |
sender=null; | |
genKeys('reminder_sent')=1; | |
genKeys('reminder_sent_date')=-999; | |
genKeys.MoveNext(); | |
} | |
genKeys.UpdateAll(); | |
FCSession.Logout(); | |
FCSession=null; | |
FCApp=null; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment