{"id":26,"date":"2007-06-21T06:37:10","date_gmt":"2007-06-21T06:37:10","guid":{"rendered":"https:\/\/www.wapshere.com\/missmiis\/?p=26"},"modified":"2023-01-16T06:31:58","modified_gmt":"2023-01-16T06:31:58","slug":"a-simple-miis-scheduler","status":"publish","type":"post","link":"https:\/\/www.wapshere.com\/missmiis\/a-simple-miis-scheduler","title":{"rendered":"A Simple MIIS Scheduler"},"content":{"rendered":"<p class=\"MsoNormal\" style=\"margin: 0cm 0cm 0pt;\"><span lang=\"EN-GB\"><span style=\"font-family: Times New Roman;\">OK now it&#8217;s time to get into the scheduling script I wrote for MIIS.<\/span><\/span><\/p>\n<p><span lang=\"EN-GB\"><span style=\"font-family: Times New Roman;\">At some point I&#8217;d like to have a go at rewriting this as a .NET service (addendum: this is now done, see <a href=\"https:\/\/www.wapshere.com\/missmiis\/?p=160\">here<\/a>), but VBScript was where I started, mostly because of the examples in the Developer&#8217;s Reference.<\/span><\/span><\/p>\n<p><span lang=\"EN-GB\"><span style=\"font-family: Times New Roman;\">I&#8217;m not going to post the entire script (sorry) because it&#8217;s too specific to the environment it was created for, but I&#8217;ll give some ideas and code snippets that may be useful.<\/span><\/span><\/p>\n<h3 style=\"margin: 12pt 0cm 3pt;\"><span lang=\"EN-GB\"><span style=\"font-family: Arial;\">The Task Queue<\/span><\/span><\/h3>\n<p class=\"MsoNormal\" style=\"margin: 0cm 0cm 0pt;\"><span lang=\"EN-GB\"><span style=\"font-family: Times New Roman;\">The first thing my scheduler needs is a queue. I created this as a SQL table to avoid file locking problems, and to allow jobs to be inserted from other sources. (In particular the client app I wrote &#8216;MiisApp&#8217;.)<\/span><\/span><\/p>\n<p><span lang=\"EN-GB\"><span style=\"font-family: Times New Roman;\">The following example Queue shows a Delta Import from SQL, followed by an Export to AD. There are various other steps included that run things outside of MIIS such as a SQL DTS package. The final instruction stops the script.<\/span><\/span><\/p>\n<table class=\"MsoTableGrid\" style=\"border-collapse: collapse;\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td style=\"width: 100.5pt; background-color: transparent; border: windowtext 1pt solid; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"134\"><strong><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">Task<\/span><\/strong><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: windowtext 1pt solid; border-left: #ece9d8; width: 127.35pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"170\"><strong><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">Name<\/span><\/strong><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: windowtext 1pt solid; border-left: #ece9d8; width: 106.45pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"142\"><strong><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">Profile<\/span><\/strong><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: windowtext 1pt solid; border-left: #ece9d8; width: 108.5pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"145\"><strong><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">Priority<\/span><\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: windowtext 1pt solid; width: 100.5pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"134\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">RunDTS<\/span><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: #ece9d8; width: 127.35pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"170\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">CreateDeltaTables<\/span><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: #ece9d8; width: 106.45pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"142\"><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: #ece9d8; width: 108.5pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"145\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">1<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: windowtext 1pt solid; width: 100.5pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"134\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">RunProfile<\/span><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: #ece9d8; width: 127.35pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"170\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">SQL_People<\/span><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: #ece9d8; width: 106.45pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"142\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">Delta Import and Delta Sync<\/span><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: #ece9d8; width: 108.5pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"145\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">2<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: windowtext 1pt solid; width: 100.5pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"134\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">RunSub<\/span><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: #ece9d8; width: 127.35pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"170\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">CheckADExports<\/span><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: #ece9d8; width: 106.45pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"142\"><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: #ece9d8; width: 108.5pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"145\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">3<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: windowtext 1pt solid; width: 100.5pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"134\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">RunProfile<\/span><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: #ece9d8; width: 127.35pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"170\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">AD<\/span><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: #ece9d8; width: 106.45pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"142\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">Export<\/span><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: #ece9d8; width: 108.5pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"145\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">4<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: windowtext 1pt solid; width: 100.5pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"134\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">RunSub<\/span><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: #ece9d8; width: 127.35pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"170\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">PostADExportTasks<\/span><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: #ece9d8; width: 106.45pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"142\"><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: #ece9d8; width: 108.5pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"145\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">5<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: windowtext 1pt solid; width: 100.5pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"134\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">RunProfile<\/span><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: #ece9d8; width: 127.35pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"170\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">AD<\/span><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: #ece9d8; width: 106.45pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"142\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">Delta Import and Delta Sync<\/span><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: #ece9d8; width: 108.5pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"145\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">6<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: windowtext 1pt solid; width: 100.5pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"134\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">Stop<\/span><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: #ece9d8; width: 127.35pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"170\"><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: #ece9d8; width: 106.45pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"142\"><\/td>\n<td style=\"border-right: windowtext 1pt solid; border-top: #ece9d8; border-left: #ece9d8; width: 108.5pt; border-bottom: windowtext 1pt solid; background-color: transparent; padding: 0cm 5.4pt 0cm 5.4pt;\" valign=\"top\" width=\"145\"><span style=\"font-size: 9pt; font-family: 'Microsoft Sans Serif';\">99<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>RunDTS<\/h4>\n<p class=\"MsoNormal\" style=\"margin: 0cm 0cm 0pt;\"><span lang=\"EN-GB\"><span style=\"font-family: Times New Roman;\">A sub that runs the named DTS package in SQL. More on this in <a href=\"https:\/\/www.wapshere.com\/missmiis\/?p=29\">another post<\/a>.<\/span><\/span><\/p>\n<h4>RunProfile<\/h4>\n<p class=\"MsoNormal\" style=\"margin: 0cm 0cm 0pt;\"><span lang=\"EN-GB\"><span style=\"font-family: Times New Roman;\">A simple sub-routine that executes the Profile in MIIS. There&#8217;s a perfectly good <\/span><a href=\"http:\/\/msdn2.microsoft.com\/en-us\/library\/ms696054.aspx\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"font-family: Times New Roman;\">example<\/span><\/a><span style=\"font-family: Times New Roman;\"> in the Developer&#8217;s Reference, so I would suggest starting there.<\/span><\/span><\/p>\n<h4>RunSub<\/h4>\n<p class=\"MsoNormal\" style=\"margin: 0cm 0cm 0pt;\"><span lang=\"EN-GB\"><span style=\"font-family: Times New Roman;\">The RunSub subroutine was really just a way to get around VBScript not being able to use a variable value as a subroutine name &#8211; i.e. I couldn&#8217;t just pass it the value &#8220;CheckADExports&#8221; and have it run that sub. It&#8217;s basically just a Case statement where I list all my possible subroutines that may be found in the Queue:<\/span><\/span><\/p>\n<blockquote><p><span class=\"StyleMicrosoftSansSerif9pt\"><span lang=\"EN-GB\" style=\"font-size: 9pt;\"><span class=\"StyleMicrosoftSansSerif9pt\"><span lang=\"EN-GB\" style=\"font-size: 9pt;\"><span style=\"font-family: Microsoft Sans Serif;\">Select Case LCase(Name)<\/span><\/span><\/span><\/span><\/span><br \/>\n<span class=\"StyleMicrosoftSansSerif9pt\"><span lang=\"EN-GB\" style=\"font-size: 9pt;\"><span class=\"StyleMicrosoftSansSerif9pt\"><span lang=\"EN-GB\" style=\"font-size: 9pt;\"><span style=\"font-family: Microsoft Sans Serif;\">\u00a0 Case &#8220;checkadexports&#8221;<\/span><\/span><\/span><\/span><\/span><br \/>\n<span class=\"StyleMicrosoftSansSerif9pt\"><span lang=\"EN-GB\" style=\"font-size: 9pt;\"><span class=\"StyleMicrosoftSansSerif9pt\"><span lang=\"EN-GB\" style=\"font-size: 9pt;\"><span style=\"font-family: Microsoft Sans Serif;\">\u00a0 CheckADExports<\/span><\/span><\/span><\/span><\/span><\/p>\n<p><span class=\"StyleMicrosoftSansSerif9pt\"><span lang=\"EN-GB\" style=\"font-size: 9pt;\"><span class=\"StyleMicrosoftSansSerif9pt\"><span lang=\"EN-GB\" style=\"font-size: 9pt;\"><span style=\"font-family: Microsoft Sans Serif;\">\u00a0 Case &#8220;postadexporttasks&#8221;<\/span><\/span><\/span><br \/>\n<\/span><\/span><span class=\"StyleMicrosoftSansSerif9pt\"><span lang=\"EN-GB\" style=\"font-size: 9pt;\"><span style=\"font-family: Microsoft Sans Serif;\">\u00a0 PostADExportTasks<\/span><\/span><\/span><br \/>\n<span style=\"font-family: Microsoft Sans Serif;\"><span style=\"font-size: 12px;\">&#8230;<\/span><\/span><br \/>\n<span class=\"StyleMicrosoftSansSerif9pt\"><span lang=\"EN-GB\"><span class=\"StyleMicrosoftSansSerif9pt\"><span lang=\"EN-GB\" style=\"font-size: 9pt;\"><span style=\"font-family: Microsoft Sans Serif;\">End Select<\/span><\/span><\/span><\/span><\/span><\/p><\/blockquote>\n<h3 style=\"margin: 12pt 0cm 3pt;\"><span lang=\"EN-GB\"><span style=\"font-family: Arial;\">Processing the Queue<\/span><\/span><\/h3>\n<p class=\"MsoNormal\" style=\"margin: 0cm 0cm 0pt;\"><span lang=\"EN-GB\"><span style=\"font-family: Times New Roman;\">The main body of the script is fairly simple. It keeps looping until it gets to a STOP command in the queue (which, by the way, you could insert using a Scheduled Task if you want the syncs to stop overnight). Meanwhile it runs all queued commands and, if the queue is empty, it inserts a default cycle. I also like to add ten minutes of sleep at the end, so the server is not cycling continuously, and I have a window if I need to jump on and do anything manually.<\/span><\/span><\/p>\n<p class=\"MsoNormal\" style=\"margin: 0cm 0cm 0pt;\"><span lang=\"EN-GB\"><span style=\"font-family: Times New Roman;\">I won&#8217;t include all the subroutines in this post, but follow the links if you want to see them.<\/span><\/span><\/p>\n<blockquote>\n<p class=\"Code\" style=\"margin: 0cm 0cm 0pt;\"><span lang=\"EN-GB\"><span style=\"font-size: xx-small; font-family: Microsoft Sans Serif;\">Do While Not STOP<\/span><\/span><\/p>\n<p class=\"Code\" style=\"margin: 0cm 0cm 0pt;\"><span lang=\"EN-GB\"><span style=\"font-size: xx-small;\"><span style=\"font-family: Microsoft Sans Serif;\">\u00a0 If <a href=\"https:\/\/www.wapshere.com\/missmiis\/?page_id=27\">JobInQueue<\/a>(Task, Name) Then<\/span><\/span><\/span><\/p>\n<p class=\"Code\" style=\"margin: 0cm 0cm 0pt;\"><span lang=\"EN-GB\"><span style=\"font-size: xx-small;\"><span style=\"font-family: Microsoft Sans Serif;\">\u00a0 If LCase(Task) = \u00e2\u20ac\u0153stop\u00e2\u20ac\u009d Then<\/span><\/span><\/span><\/p>\n<p class=\"Code\" style=\"margin: 0cm 0cm 0pt;\"><span lang=\"EN-GB\"><span style=\"font-size: xx-small;\"><span style=\"font-family: Microsoft Sans Serif;\">\u00a0WriteLog \u00e2\u20ac\u0153Stopping.\u00e2\u20ac\u009d<\/span><\/span><\/span><\/p>\n<p class=\"Code\" style=\"margin: 0cm 0cm 0pt;\"><span lang=\"EN-GB\"><span style=\"font-size: xx-small;\"><span style=\"font-family: Microsoft Sans Serif;\">STOP = TRUE<\/span><\/span><\/span><\/p>\n<p class=\"Code\" style=\"margin: 0cm 0cm 0pt;\"><span lang=\"EN-GB\"><span style=\"font-size: xx-small;\"><span style=\"font-family: Microsoft Sans Serif;\">Else<\/span><\/span><\/span><\/p>\n<p class=\"Code\" style=\"margin: 0cm 0cm 0pt;\"><span lang=\"EN-GB\"><span style=\"font-size: xx-small;\"><span style=\"font-family: Microsoft Sans Serif;\">\u00a0<\/span><\/span><a href=\"https:\/\/www.wapshere.com\/missmiis\/?page_id=24\"><span style=\"font-size: xx-small; font-family: Microsoft Sans Serif;\">RunQueuedJob<\/span><\/a><span style=\"font-size: xx-small; font-family: Microsoft Sans Serif;\"> Task, Name<\/span><\/span><\/p>\n<p class=\"Code\" style=\"margin: 0cm 0cm 0pt;\"><span lang=\"EN-GB\"><span style=\"font-size: xx-small;\"><span style=\"font-family: Microsoft Sans Serif;\">\u00a0End If<\/span><\/span><\/span><\/p>\n<p class=\"Code\" style=\"margin: 0cm 0cm 0pt;\"><span lang=\"EN-GB\"><span style=\"font-size: xx-small;\"><span style=\"font-family: Microsoft Sans Serif;\">\u00a0Else \u00e2\u20ac\u02dcNo queued job \u00e2\u20ac\u201c insert jobs as listed in the DefaultCycle array<\/span><\/span><\/span><\/p>\n<p class=\"Code\" style=\"margin: 0cm 0cm 0pt;\"><span lang=\"EN-GB\"><span style=\"font-size: xx-small;\"><span style=\"font-family: Microsoft Sans Serif;\">\u00a0For i = 1 To Ubound(DefaultCycle,1)<\/span><\/span><\/span><\/p>\n<p class=\"Code\" style=\"margin: 0cm 0cm 0pt;\"><span lang=\"EN-GB\"><span style=\"font-size: xx-small;\"><span style=\"font-family: Microsoft Sans Serif;\">\u00a0 <a href=\"https:\/\/www.wapshere.com\/missmiis\/?page_id=25\">AddToQueue<\/a> DefaultCycle(i), i<\/span><\/span><\/span><\/p>\n<p class=\"Code\" style=\"margin: 0cm 0cm 0pt;\"><span lang=\"EN-GB\"><span style=\"font-size: xx-small;\"><span style=\"font-family: Microsoft Sans Serif;\">\u00a0 Next<\/span><\/span><\/span><\/p>\n<p class=\"Code\" style=\"margin: 0cm 0cm 0pt;\"><span lang=\"EN-GB\"><span style=\"font-size: xx-small;\"><span style=\"font-family: Microsoft Sans Serif;\">\u00a0 <a href=\"https:\/\/www.wapshere.com\/missmiis\/?page_id=25\">AddToQueue<\/a> \u00e2\u20ac\u0153RunSub,sleep,\u00e2\u20ac\u009d, 99<\/span><\/span><\/span><\/p>\n<p class=\"Code\" style=\"margin: 0cm 0cm 0pt;\"><span lang=\"EN-GB\"><span style=\"font-size: xx-small; font-family: Microsoft Sans Serif;\">Loop<\/span><\/span><\/p>\n<\/blockquote>\n<p>For a list of all the sections of the scheduling script that I&#8217;ve posted see the <strong>jobRunner.vbs<\/strong> section on the <a title=\"https:\/\/www.wapshere.com\/missmiis\/?page_id=30\" href=\"https:\/\/www.wapshere.com\/missmiis\/?page_id=30\">Code Snippets page<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>OK now it&#8217;s time to get into the scheduling script I wrote for MIIS. At some point I&#8217;d like to have a go at rewriting this as a .NET service (addendum: this is now done, see here), but VBScript was where I started, mostly because of the examples in the Developer&#8217;s Reference. I&#8217;m not going&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":[]},"categories":[34,28,10],"tags":[],"class_list":["post-26","post","type-post","status-publish","format-standard","hentry","category-ilm2007","category-miis2003","category-vbscript"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pkp1o-q","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/26","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/comments?post=26"}],"version-history":[{"count":5,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/26\/revisions"}],"predecessor-version":[{"id":3344,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/26\/revisions\/3344"}],"wp:attachment":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/media?parent=26"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/categories?post=26"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/tags?post=26"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}