<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tachytelic.net &#187; Scripts &amp; Utilities</title>
	<atom:link href="http://www.tachytelic.net/category/scripts-utilities/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tachytelic.net</link>
	<description></description>
	<lastBuildDate>Sun, 05 Sep 2010 10:53:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Simple GUI for Linksys SPA 962 / SPA942 / SPA941 Personal Directory</title>
		<link>http://www.tachytelic.net/2010/05/simple-gui-for-linksys-spa942-personal-directory/</link>
		<comments>http://www.tachytelic.net/2010/05/simple-gui-for-linksys-spa942-personal-directory/#comments</comments>
		<pubDate>Thu, 27 May 2010 21:55:42 +0000</pubDate>
		<dc:creator>Paulie</dc:creator>
				<category><![CDATA[Scripts & Utilities]]></category>
		<category><![CDATA[IP Phone]]></category>
		<category><![CDATA[Linksys]]></category>
		<category><![CDATA[SPA941]]></category>
		<category><![CDATA[SPA942]]></category>

		<guid isPermaLink="false">http://www.tachytelic.net/?p=225</guid>
		<description><![CDATA[We&#8217;ve been using the Linksys SPA942 handsets for a while and they have worked very well for us.  One of the major annoyances for us and others is the inability to populate the personal directory automatically.
I&#8217;ve read a number of posts on how to use wget to issue to personal directory to the phone [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve been using the Linksys SPA942 handsets for a while and they have worked very well for us.  One of the major annoyances for us and others is the inability to populate the personal directory automatically.</p>
<p>I&#8217;ve read a number of posts on how to use wget to issue to personal directory to the phone via a HTTP post and this seemed like a good solution.  In particular <strong><a href="http://blog.grimsy.net/2007/02/23/spa942-personal-directory/">this post</a></strong> and <strong><a href="http://abourbih.com/nathan/archive/2007/10/22/linksys-spa942-directory-synchronization-again.aspx" target="_blank">this post</a></strong> inspired me to see if I could create a solution using the same technique in VB.Net.</p>
<p>So I have put together a simple program which will allow you to load/save a personal directory to/from a tab delimited file or handset.  There are loads of enhancements that could be made in order to make the application more sophisticated but this is really a first attempt, so please report any problems.  You will need .net framework 3.0 to run the tool.  I&#8217;ll put the project into a proper setup file if it is sufficiently popular.</p>
<p>Here is a screenshot of the utility:</p>
<p><a href="http://www.tachytelic.net/wp-content/uploads/SPA942PDirTool.png"><img class="aligncenter size-full wp-image-227" title="SPA942 Personal Directory Tool" src="http://www.tachytelic.net/wp-content/uploads/SPA942PDirTool.png" alt="" width="581" height="460" /></a></p>
<p>Download here:</p>
<p><strong><a href="http://www.tachytelic.net/wp-content/uploads/SPA942.exe">SPA 942 Personal Directory Manager</a></strong></p>
<p>I&#8217;m using <strong><a href="../wp-content/uploads/SPA942_6.1.5a.zip">firmware version 6.1.5a</a></strong>, I&#8217;d be interested to hear if this does/does not work on other versions or if anyone has any suggestions for enhancements.</p>
<p>This is also a great way to backup/restore your Linksys SPA handset &#8211; I factory reset my handset and this much easier than re-entering all the personal directory.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tachytelic.net/2010/05/simple-gui-for-linksys-spa942-personal-directory/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Automated and conditional reboots of Draytek routers via telnet</title>
		<link>http://www.tachytelic.net/2010/05/automated-and-conditional-reboots-of-draytek-routers-via-telnet/</link>
		<comments>http://www.tachytelic.net/2010/05/automated-and-conditional-reboots-of-draytek-routers-via-telnet/#comments</comments>
		<pubDate>Tue, 25 May 2010 08:49:42 +0000</pubDate>
		<dc:creator>Paulie</dc:creator>
				<category><![CDATA[Scripts & Utilities]]></category>
		<category><![CDATA[Technical Posts]]></category>
		<category><![CDATA[Draytek]]></category>

		<guid isPermaLink="false">http://www.tachytelic.net/?p=219</guid>
		<description><![CDATA[This is a script that I posted to the Draytek forum a couple of years ago, I noticed that it has been a very popular post so I have decided to post here also.
The function of the script is to perform scheduled reboots of Draytek routers.  Optionally is it possible to reboot the router only [...]]]></description>
			<content:encoded><![CDATA[<p>This is a script that I posted to the Draytek forum a couple of years ago, I noticed that it has been a very popular post so I have decided to post here also.</p>
<p>The function of the script is to perform scheduled reboots of Draytek routers.  Optionally is it possible to reboot the router only if a specified IP address does not respond to a ping request.  This is useful to test if a VPN connection is functioning, and only reboot the router if there is no response.</p>
<p>Early Draytek firmwares had a tendancy to lose VPN connectivity and a reboot is the only way to restore the connection.</p>
<p>First of you need to install the Toolsack Baseline components for this script to work:</p>
<p><a href="http://www.toolsack.com/download/">http://www.toolsack.com/download/</a></p>
<p>The script needs to be supplied with parameters,  so a typical command line would look like this:</p>
<p>cscript reboot.vbs 86.11.93.131 routerpassword</p>
<p>and a conditional command line would look like this:</p>
<p>cscript reboot.vbs 86.11.93.131 routerpassword 192.168.1.254</p>
<p>The 3rd argument will be tested for a ping response, if none is received  then a reboot will be executed.</p>
<p>Here is the code, save it as reboot.vbs:</p>
<pre>
set args=wscript.arguments

If wscript.arguments.count=2 then
   IP=args.item(0)
   Password=args.item(1)
   call reboot(IP,Password)
elseif wscript.arguments.count=3 then
   IP=args.item(0)
   Password=args.item(1)
   TestIP=args.item(2)
   if ping(TestIP)=False then
      call reboot(IP,Password)
   end if
else
   wscript.echo "Invalid number of arguments specified"
   wscript.echo "Please specify router IP address &#038; password and optional test IP"
end if

sub reboot(IP, Password)
   set s = CreateObject("Toolsack.Socket")
   s.Connect IP, 23
       s.Write Password &#038; vbCrLf
   s.write "sys reboot" &#038; vbcrlf
   s.write "quit" &#038; vbcrlf
end sub

Function Ping(strHost)

    dim objPing, objRetStatus

    set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery _
      ("select * from Win32_PingStatus where address = '" &#038; strHost &#038; "'")

    for each objRetStatus in objPing
        if IsNull(objRetStatus.StatusCode) or objRetStatus.StatusCode<>0 then
       Ping = False
        else
            Ping = True
        end if
    next
End Function </pre>
]]></content:encoded>
			<wfw:commentRss>http://www.tachytelic.net/2010/05/automated-and-conditional-reboots-of-draytek-routers-via-telnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New-ExchangeCertificate Cmdlet Syntax Generator</title>
		<link>http://www.tachytelic.net/2010/03/new-exchangecertificate-cmdlet-syntax-generator/</link>
		<comments>http://www.tachytelic.net/2010/03/new-exchangecertificate-cmdlet-syntax-generator/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 22:32:52 +0000</pubDate>
		<dc:creator>Paulie</dc:creator>
				<category><![CDATA[Scripts & Utilities]]></category>
		<category><![CDATA[Technical Posts]]></category>
		<category><![CDATA[Cmdlet]]></category>
		<category><![CDATA[CSR]]></category>
		<category><![CDATA[E-Mail]]></category>
		<category><![CDATA[Exchange]]></category>

		<guid isPermaLink="false">http://www.tachytelic.net/?p=124</guid>
		<description><![CDATA[	
	function gencsr()
	{
	  var CommonName=GetTextBoxValue('CommonName');
	  var CommonNamePath='C:\\' + CommonName.replace(/\./g, '_') + '.csr';
	  var csrCommand='New-ExchangeCertificate -GenerateRequest -Path ' + CommonNamePath + ' -KeySize 2048 -SubjectName "c=' + GetTextBoxValue('Country') + ', s=' + GetTextBoxValue('County')
	  var csrCommand=csrCommand + ', l=' + GetTextBoxValue('City') + ', o=' + GetTextBoxValue('Organisation') + ', ou=' + GetTextBoxValue('Department') + ', cn=' [...]]]></description>
			<content:encoded><![CDATA[<p>	<script>
	function gencsr()
	{
	  var CommonName=GetTextBoxValue('CommonName');
	  var CommonNamePath='C:\\' + CommonName.replace(/\./g, '_') + '.csr';
	  var csrCommand='New-ExchangeCertificate -GenerateRequest -Path ' + CommonNamePath + ' -KeySize 2048 -SubjectName "c=' + GetTextBoxValue('Country') + ', s=' + GetTextBoxValue('County')
	  var csrCommand=csrCommand + ', l=' + GetTextBoxValue('City') + ', o=' + GetTextBoxValue('Organisation') + ', ou=' + GetTextBoxValue('Department') + ', cn=' + CommonName + '"';
	  if (GetTextBoxValue('SubjectAltNames')!=''){var csrCommand=csrCommand + " -DomainName " + GetTextBoxValue('SubjectAltNames')}
	  var csrCommand=csrCommand + ' -PrivateKeyExportable $True'	  
	  document.getElementById('csrrequest').value=csrCommand
	}
	function GetTextBoxValue(id)
	{
	   return document.getElementById(id).value;
	}
	</script></p>
<style>
	.csrlabel {width:175px;}
	.csrinput {width:300px;}
	</style>
<p>I am always forgetting the syntax for the New-ExchangeCertificate cmdlet when I need to do a new certificate request so I decided to write a little bit of javascript to build up the command automatically. Its much easier to copy and paste it from here than work with in it the Exchange 2007 Command Shell.</p>
<p>So just fill in the fields below and the command will be built automatically in the box below. Then just copy into command shell. If required, seperate the &#8220;Subject Alternative Names&#8221; with commas.</p>
<table>
<tr>
<td>
<p class="csrlabel">Common Name:</td>
<td>
<input type="text" id="CommonName" class="csrinput" onkeyup="gencsr();"></td>
</tr>
<tr>
<td>Subject Alternative Names:</td>
<td><textarea id="SubjectAltNames" rows="3" cols="20" class="csrinput" onkeyup="gencsr();"></textarea></td>
</tr>
<tr>
<td>Organisation:</td>
<td>
<input type="text" id="Organisation" class="csrinput" onkeyup="gencsr();"></td>
</tr>
<tr>
<td>Organisational Unit:</td>
<td>
<input type="text" id="Department" class="csrinput" onkeyup="gencsr();"></td>
</tr>
<tr>
<td>Town/City:</td>
<td>
<input type="text" id="City" class="csrinput" onkeyup="gencsr();"></td>
</tr>
<tr>
<td>County/State:</td>
<td>
<input type="text" id="County" class="csrinput" onkeyup="gencsr();"></td>
</tr>
<tr>
<td>Country:</td>
<td>
<select name="Country" id="Country" class="csrinput" onchange="gencsr();">
<option value="">Country&#8230;</option><br />
<option value="GB">United Kingdom</option><br />
<option value="US">United States of America</option><br />
<option value="AF">Afghanistan</option><br />
<option value="AL">Albania</option><br />
<option value="DZ">Algeria</option><br />
<option value="AS">American Samoa</option><br />
<option value="AD">Andorra</option><br />
<option value="AG">Angola</option><br />
<option value="AI">Anguilla</option><br />
<option value="AG">Antigua &amp; Barbuda</option><br />
<option value="AR">Argentina</option><br />
<option value="AA">Armenia</option><br />
<option value="AW">Aruba</option><br />
<option value="AU">Australia</option><br />
<option value="AT">Austria</option><br />
<option value="AZ">Azerbaijan</option><br />
<option value="BS">Bahamas</option><br />
<option value="BH">Bahrain</option><br />
<option value="BD">Bangladesh</option><br />
<option value="BB">Barbados</option><br />
<option value="BY">Belarus</option><br />
<option value="BE">Belgium</option><br />
<option value="BZ">Belize</option><br />
<option value="BJ">Benin</option><br />
<option value="BM">Bermuda</option><br />
<option value="BT">Bhutan</option><br />
<option value="BO">Bolivia</option><br />
<option value="BL">Bonaire</option><br />
<option value="BA">Bosnia &amp; Herzegovina</option><br />
<option value="BW">Botswana</option><br />
<option value="BR">Brazil</option><br />
<option value="BC">British Indian Ocean Ter</option><br />
<option value="BN">Brunei</option><br />
<option value="BG">Bulgaria</option><br />
<option value="BF">Burkina Faso</option><br />
<option value="BI">Burundi</option><br />
<option value="KH">Cambodia</option><br />
<option value="CM">Cameroon</option><br />
<option value="CA">Canada</option><br />
<option value="IC">Canary Islands</option><br />
<option value="CV">Cape Verde</option><br />
<option value="KY">Cayman Islands</option><br />
<option value="CF">Central African Republic</option><br />
<option value="TD">Chad</option><br />
<option value="CD">Channel Islands</option><br />
<option value="CL">Chile</option><br />
<option value="CN">China</option><br />
<option value="CI">Christmas Island</option><br />
<option value="CS">Cocos Island</option><br />
<option value="CO">Colombia</option><br />
<option value="CC">Comoros</option><br />
<option value="CG">Congo</option><br />
<option value="CK">Cook Islands</option><br />
<option value="CR">Costa Rica</option><br />
<option value="CT">Cote D&#8217;Ivoire</option><br />
<option value="HR">Croatia</option><br />
<option value="CU">Cuba</option><br />
<option value="CB">Curacao</option><br />
<option value="CY">Cyprus</option><br />
<option value="CZ">Czech Republic</option><br />
<option value="DK">Denmark</option><br />
<option value="DJ">Djibouti</option><br />
<option value="DM">Dominica</option><br />
<option value="DO">Dominican Republic</option><br />
<option value="TM">East Timor</option><br />
<option value="EC">Ecuador</option><br />
<option value="EG">Egypt</option><br />
<option value="SV">El Salvador</option><br />
<option value="GQ">Equatorial Guinea</option><br />
<option value="ER">Eritrea</option><br />
<option value="EE">Estonia</option><br />
<option value="ET">Ethiopia</option><br />
<option value="FA">Falkland Islands</option><br />
<option value="FO">Faroe Islands</option><br />
<option value="FJ">Fiji</option><br />
<option value="FI">Finland</option><br />
<option value="FR">France</option><br />
<option value="GF">French Guiana</option><br />
<option value="PF">French Polynesia</option><br />
<option value="FS">French Southern Ter</option><br />
<option value="GA">Gabon</option><br />
<option value="GM">Gambia</option><br />
<option value="GE">Georgia</option><br />
<option value="DE">Germany</option><br />
<option value="GH">Ghana</option><br />
<option value="GI">Gibraltar</option><br />
<option value="GB">Great Britain</option><br />
<option value="GR">Greece</option><br />
<option value="GL">Greenland</option><br />
<option value="GD">Grenada</option><br />
<option value="GP">Guadeloupe</option><br />
<option value="GU">Guam</option><br />
<option value="GT">Guatemala</option><br />
<option value="GN">Guinea</option><br />
<option value="GY">Guyana</option><br />
<option value="HT">Haiti</option><br />
<option value="HW">Hawaii</option><br />
<option value="HN">Honduras</option><br />
<option value="HK">Hong Kong</option><br />
<option value="HU">Hungary</option><br />
<option value="IS">Iceland</option><br />
<option value="IN">India</option><br />
<option value="ID">Indonesia</option><br />
<option value="IA">Iran</option><br />
<option value="IQ">Iraq</option><br />
<option value="IR">Ireland</option><br />
<option value="IM">Isle of Man</option><br />
<option value="IL">Israel</option><br />
<option value="IT">Italy</option><br />
<option value="JM">Jamaica</option><br />
<option value="JP">Japan</option><br />
<option value="JO">Jordan</option><br />
<option value="KZ">Kazakhstan</option><br />
<option value="KE">Kenya</option><br />
<option value="KI">Kiribati</option><br />
<option value="NK">Korea North</option><br />
<option value="KS">Korea South</option><br />
<option value="KW">Kuwait</option><br />
<option value="KG">Kyrgyzstan</option><br />
<option value="LA">Laos</option><br />
<option value="LV">Latvia</option><br />
<option value="LB">Lebanon</option><br />
<option value="LS">Lesotho</option><br />
<option value="LR">Liberia</option><br />
<option value="LY">Libya</option><br />
<option value="LI">Liechtenstein</option><br />
<option value="LT">Lithuania</option><br />
<option value="LU">Luxembourg</option><br />
<option value="MO">Macau</option><br />
<option value="MK">Macedonia</option><br />
<option value="MG">Madagascar</option><br />
<option value="MY">Malaysia</option><br />
<option value="MW">Malawi</option><br />
<option value="MV">Maldives</option><br />
<option value="ML">Mali</option><br />
<option value="MT">Malta</option><br />
<option value="MH">Marshall Islands</option><br />
<option value="MQ">Martinique</option><br />
<option value="MR">Mauritania</option><br />
<option value="MU">Mauritius</option><br />
<option value="ME">Mayotte</option><br />
<option value="MX">Mexico</option><br />
<option value="MI">Midway Islands</option><br />
<option value="MD">Moldova</option><br />
<option value="MC">Monaco</option><br />
<option value="MN">Mongolia</option><br />
<option value="MS">Montserrat</option><br />
<option value="MA">Morocco</option><br />
<option value="MZ">Mozambique</option><br />
<option value="MM">Myanmar</option><br />
<option value="NA">Nambia</option><br />
<option value="NU">Nauru</option><br />
<option value="NP">Nepal</option><br />
<option value="AN">Netherland Antilles</option><br />
<option value="NL">Netherlands (Holland, Europe)</option><br />
<option value="NV">Nevis</option><br />
<option value="NC">New Caledonia</option><br />
<option value="NZ">New Zealand</option><br />
<option value="NI">Nicaragua</option><br />
<option value="NE">Niger</option><br />
<option value="NG">Nigeria</option><br />
<option value="NW">Niue</option><br />
<option value="NF">Norfolk Island</option><br />
<option value="NO">Norway</option><br />
<option value="OM">Oman</option><br />
<option value="PK">Pakistan</option><br />
<option value="PW">Palau Island</option><br />
<option value="PS">Palestine</option><br />
<option value="PA">Panama</option><br />
<option value="PG">Papua New Guinea</option><br />
<option value="PY">Paraguay</option><br />
<option value="PE">Peru</option><br />
<option value="PH">Philippines</option><br />
<option value="PO">Pitcairn Island</option><br />
<option value="PL">Poland</option><br />
<option value="PT">Portugal</option><br />
<option value="PR">Puerto Rico</option><br />
<option value="QA">Qatar</option><br />
<option value="ME">Republic of Montenegro</option><br />
<option value="RS">Republic of Serbia</option><br />
<option value="RE">Reunion</option><br />
<option value="RO">Romania</option><br />
<option value="RU">Russia</option><br />
<option value="RW">Rwanda</option><br />
<option value="NT">St Barthelemy</option><br />
<option value="EU">St Eustatius</option><br />
<option value="HE">St Helena</option><br />
<option value="KN">St Kitts-Nevis</option><br />
<option value="LC">St Lucia</option><br />
<option value="MB">St Maarten</option><br />
<option value="PM">St Pierre &amp; Miquelon</option><br />
<option value="VC">St Vincent &amp; Grenadines</option><br />
<option value="SP">Saipan</option><br />
<option value="SO">Samoa</option><br />
<option value="AS">Samoa American</option><br />
<option value="SM">San Marino</option><br />
<option value="ST">Sao Tome &amp; Principe</option><br />
<option value="SA">Saudi Arabia</option><br />
<option value="SN">Senegal</option><br />
<option value="SC">Seychelles</option><br />
<option value="SL">Sierra Leone</option><br />
<option value="SG">Singapore</option><br />
<option value="SK">Slovakia</option><br />
<option value="SI">Slovenia</option><br />
<option value="SB">Solomon Islands</option><br />
<option value="OI">Somalia</option><br />
<option value="ZA">South Africa</option><br />
<option value="ES">Spain</option><br />
<option value="LK">Sri Lanka</option><br />
<option value="SD">Sudan</option><br />
<option value="SR">Suriname</option><br />
<option value="SZ">Swaziland</option><br />
<option value="SE">Sweden</option><br />
<option value="CH">Switzerland</option><br />
<option value="SY">Syria</option><br />
<option value="TA">Tahiti</option><br />
<option value="TW">Taiwan</option><br />
<option value="TJ">Tajikistan</option><br />
<option value="TZ">Tanzania</option><br />
<option value="TH">Thailand</option><br />
<option value="TG">Togo</option><br />
<option value="TK">Tokelau</option><br />
<option value="TO">Tonga</option><br />
<option value="TT">Trinidad &amp; Tobago</option><br />
<option value="TN">Tunisia</option><br />
<option value="TR">Turkey</option><br />
<option value="TU">Turkmenistan</option><br />
<option value="TC">Turks &amp; Caicos Is</option><br />
<option value="TV">Tuvalu</option><br />
<option value="UG">Uganda</option><br />
<option value="UA">Ukraine</option><br />
<option value="AE">United Arab Emirates</option><br />
<option value="UY">Uruguay</option><br />
<option value="UZ">Uzbekistan</option><br />
<option value="VU">Vanuatu</option><br />
<option value="VS">Vatican City State</option><br />
<option value="VE">Venezuela</option><br />
<option value="VN">Vietnam</option><br />
<option value="VB">Virgin Islands (Brit)</option><br />
<option value="VA">Virgin Islands (USA)</option><br />
<option value="WK">Wake Island</option><br />
<option value="WF">Wallis &amp; Futana Is</option><br />
<option value="YE">Yemen</option><br />
<option value="ZR">Zaire</option><br />
<option value="ZM">Zambia</option><br />
<option value="ZW">Zimbabwe</option><br />
</select>
</td>
</tr>
</table>
<p>	CSR Command:<br />
	<textarea id="csrrequest" rows="10" style="width:475px"></textarea></p>
<p> I am thinking of duplicating this code and writing another post which will generate the commands for the import of the newly generated certificate.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tachytelic.net/2010/03/new-exchangecertificate-cmdlet-syntax-generator/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Setting up email alerts from Dell Openmanage (OMSA)</title>
		<link>http://www.tachytelic.net/2010/03/setting-up-e-mail-alerts-from-dell-openmanage-omsa/</link>
		<comments>http://www.tachytelic.net/2010/03/setting-up-e-mail-alerts-from-dell-openmanage-omsa/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 01:20:27 +0000</pubDate>
		<dc:creator>Paulie</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Scripts & Utilities]]></category>
		<category><![CDATA[Technical Posts]]></category>
		<category><![CDATA[Automatic Notifcation]]></category>
		<category><![CDATA[Dell]]></category>
		<category><![CDATA[E-Mail]]></category>
		<category><![CDATA[OMSA]]></category>
		<category><![CDATA[VBScript]]></category>

		<guid isPermaLink="false">http://www.tachytelic.net/?p=104</guid>
		<description><![CDATA[Dell Openmanage Server Administrator is a really useful tool for configuring and monitoring server hardware but it lacks built in E-Mail alerting or notifications.
The software is capable of calling external programs or scripts when a server alert is triggered so I have written a simple script that provides E-Mail alert functionality.
There are a couple of [...]]]></description>
			<content:encoded><![CDATA[<p>Dell Openmanage Server Administrator is a really useful tool for configuring and monitoring server hardware but it lacks built in E-Mail alerting or notifications.</p>
<p>The software is capable of calling external programs or scripts when a server alert is triggered so I have written a simple script that provides E-Mail alert functionality.</p>
<p>There are a couple of scripts out there that do similar, but I wanted something self contained and capable of using SMTP Authentication with an external relay.</p>
<p>The other problem with OMSA is that you need to go into each individual alert to configure the settings which can be very time consuming, I wanted a way to add them all automatically as I am going to install the script on a number of servers.</p>
<p>Install the script by extracting the DellAlert.Vbs script file from this zip file:</p>
<p><strong><a href="http://www.tachytelic.net/wp-content/uploads/DellAlert.zip">Dell OMSA E-Mail Alerts</a></strong></p>
<p>Once you have extracted the zip file you will need to edit the variables at the top of the script to make them appropriate for your environment:</p>
<p><a href="http://www.tachytelic.net/wp-content/uploads/DellOMSAVariables.png"><img class="aligncenter size-full wp-image-107" title="Dell OMSA Script Variables" src="http://www.tachytelic.net/wp-content/uploads/DellOMSAVariables.png" alt="" width="477" height="403" /></a></p>
<p>The variables at the top define the e-mail settings and are hopefully self explanatory. If a remote SMTP server is not specified the local machine will be used to send the E-Mail.</p>
<p>Below these you can to decide what events you want to be notified of, just comment out any that you aren&#8217;t interested in, e.g:<br />
<code><br />
AlertConfig(0)="powersupply|Power supply failure"<br />
AlertConfig(1)="powersupplywarn|Power supply warning"<br />
'AlertConfig(2)="tempwarn|Temperature warning"<br />
'AlertConfig(3)="tempfail|Temperature failure"<br />
</code></p>
<p>I have included every alert available in OMSA 6.2 on a PE T710, some of these alerts won&#8217;t be available on older versions or machines.</p>
<p>After you have configured the script, I suggest you test that the E-Mail options by running:</p>
<p><strong><code>cscript dellalert.vbs testemail</code></strong></p>
<p>You should receive a test e-mail, if not something isn&#8217;t working properly.</p>
<p>When you have successfully tested e-mail, configure OMSA to send alerts by running:</p>
<p><strong><code>cscript dellalert.vbs setup</code></strong></p>
<p>You will then see the script go through and setup all the appropriate alerts as per your settings. This process can take a couple of minutes as the &#8220;omconfig&#8221; command takes a while. This step will not work if you do not have OMSA installed.</p>
<p>Once this is done you should be able to see that the script has been added into OMSA:</p>
<p><a href="http://www.tachytelic.net/wp-content/uploads/OMSASetting.png"><img class="aligncenter size-full wp-image-110" title="OMSA Alert Setting" src="http://www.tachytelic.net/wp-content/uploads/OMSASetting.png" alt="" width="645" height="110" /></a></p>
<p>Now you need to generate some real alerts to test the script properly. How you do this will depend on the capabilities of your server, I was able to disconnect the redundant power supply and have an alert generated almost immediately. I think opening the case will also generate an event, but I am not sure as I didn&#8217;t test. Hopefully you should get something like this in your Inbox:</p>
<p><a href="http://www.tachytelic.net/wp-content/uploads/OMSAEMail.png"><img class="aligncenter size-full wp-image-112" title="OMSA EMail Alert" src="http://www.tachytelic.net/wp-content/uploads/OMSAEMail.png" alt="" width="737" height="92" /></a></p>
<p>I have installed this on a few servers and it seems to be working well. I will update the script with any tweaks that I add as I roll it out further. Hope this is useful to someone else.</p>
<p><strong>If you are using Exchange 2007&#8230;..</strong></p>
<p>This script will not work properly until you register the 32-Bit version of cdo.dll.  Follow the instructions for doing this here:</p>
<p><a href="http://blogs.msdn.com/mstehle/archive/2007/12/11/fyi-after-installing-exchange-2007-sp1-32-bit-cdosys-might-not-be-registered.aspx">http://blogs.msdn.com/mstehle/archive/2007/12/11/fyi-after-installing-exchange-2007-sp1-32-bit-cdosys-might-not-be-registered.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tachytelic.net/2010/03/setting-up-e-mail-alerts-from-dell-openmanage-omsa/feed/</wfw:commentRss>
		<slash:comments>85</slash:comments>
		</item>
		<item>
		<title>Sending backup tape reminder e-mails</title>
		<link>http://www.tachytelic.net/2007/10/sending-backup-tape-reminder-e-mails/</link>
		<comments>http://www.tachytelic.net/2007/10/sending-backup-tape-reminder-e-mails/#comments</comments>
		<pubDate>Mon, 15 Oct 2007 19:47:40 +0000</pubDate>
		<dc:creator>Paulie</dc:creator>
				<category><![CDATA[Scripts & Utilities]]></category>
		<category><![CDATA[Technical Posts]]></category>
		<category><![CDATA[Automatic Notifcation]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[E-Mail]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[VBScript]]></category>

		<guid isPermaLink="false">http://www.tachytelic.net/?p=26</guid>
		<description><![CDATA[This is just a very quick script written in response to a question posted in one of the SBS yahoo groups.
It sends an e-mail to a specified recipient reminding them to change the backup tape in a server.  The SBS backup system does this automatically, so this is meant for use on SBS servers [...]]]></description>
			<content:encoded><![CDATA[<p>This is just a very quick script written in response to a question posted in one of the SBS yahoo groups.</p>
<p>It sends an e-mail to a specified recipient reminding them to change the backup tape in a server.  The SBS backup system does this automatically, so this is meant for use on SBS servers using something other than the in-built SBS backup.</p>
<p>Installation is simply a case of extracting the contents of <a href="http://www.tachytelic.net/files/tapereminder.zip">this zip file</a> to a folder on your SBS server and then changing the variables at the top of the script to appropriate values for your environment.</p>
<p>Once done you can test interactively from a command line by running &#8220;cscript tapereminder.vbs&#8221; and once you are happy with the results setup a scheduled task to do the job daily.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tachytelic.net/2007/10/sending-backup-tape-reminder-e-mails/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Windows update automatic e-mail notification</title>
		<link>http://www.tachytelic.net/2007/08/windows-update-automatic-e-mail-notification/</link>
		<comments>http://www.tachytelic.net/2007/08/windows-update-automatic-e-mail-notification/#comments</comments>
		<pubDate>Mon, 27 Aug 2007 22:29:17 +0000</pubDate>
		<dc:creator>Paulie</dc:creator>
				<category><![CDATA[Scripts & Utilities]]></category>
		<category><![CDATA[Technical Posts]]></category>
		<category><![CDATA[Automatic Notifcation]]></category>
		<category><![CDATA[E-Mail]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[VBScript]]></category>
		<category><![CDATA[Windows Automatic Updates]]></category>

		<guid isPermaLink="false">http://www.tachytelic.net/?p=18</guid>
		<description><![CDATA[As the number of servers that I am responsible for managing increases, it becomes more difficult to ensure that they are all patched up to date.
As most of the machines I manage are SBS boxes I thought that it would be nice to put something together which behaves in much the same way as the [...]]]></description>
			<content:encoded><![CDATA[<p>As the number of servers that I am responsible for managing increases, it becomes more difficult to ensure that they are all patched up to date.
<p>As most of the machines I manage are SBS boxes I thought that it would be nice to put something together which behaves in much the same way as the SBS generated e-mail alerts.
<p>So, the result is a script which sends e-mail notifications to a specified address and gives details of which patches are available to be installed.&nbsp; The administrator can choose which of the four patch levels will trigger an e-mail alert (Critical, Important, Moderate &amp; Low).
<p>If there are no outstanding patches at the appropriate alert levels to be installed then the script will quit without sending an e-mail.
<p>The script is then run as a scheduled task every evening and I can quickly see if I have anything to action.&nbsp; The report includes links to the relevant KB articles and further information made available by Microsoft.
<p><a href="http://www.tachytelic.net/wp-content/autoupdate1.jpg" atomicselection="true"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="397" alt="AutoUpdate" src="http://www.tachytelic.net/wp-content/autoupdate-thumb1.jpg" width="640" border="0"></a> </p>
<p>The script only takes a couple of minutes to setup as there are only six settings at the top of the file&#8230;</p>
<p>Setting any of the following to 1 will generate trigger alerts for that particular update severity:</p>
<ul>
<li>AlertCritical
<li>AlertImportant
<li>AlertModerate&nbsp;
<li>AlertLow<br /> 
<li>EmailFrom &#8211; Specifies the e-mail address the report will&nbsp;be sent from.
<li>EmailTo &#8211; Specifies the e-mail address to send the reports to.</li>
</ul>
<p><a href="http://www.tachytelic.net/wp-content/variables1.jpg" atomicselection="true"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="88" alt="variables" src="http://www.tachytelic.net/wp-content/variables-thumb1.jpg" width="400" border="0"></a> </p>
<p>As shown above I have been running with AlertCritical/AlertImportant set to 1 and the other two set to 0.&nbsp; </p>
<p>So, if you want to receive email alerts all you need to do is download this <a href="http://www.tachytelic.net/wp-content/winupdates.zip">Zip file</a>, extract the contents to a folder on your server and then edit the variables at the top of the script.&nbsp; To perform a test run go into a command prompt and change directory to the location where you extracted the script and run:</p>
<p>cscript winupdates.vbs</p>
<p>With any luck you should get an e-mail soon after with the results.&nbsp; If you find that it is not generating you an e-mail as expected, one reason may be that there are no patches available to install.&nbsp; Bear in mind that not all items from Windows update will appear.&nbsp; For example &#8220;Internet Explorer 7&#8243; is not a patch and therefore will not be listed.</p>
<p>Running the script interactively as above will take a few moments&nbsp;while Windows Update(or WSUS&nbsp;if you have it installed) are checked for new updates.&nbsp;</p>
<p>Once you have completed a successful test you can go ahead and setup a scheduled task.&nbsp; Assuming an installation directory of &#8220;c:\scripts&#8221; the scheduled task command should look something like this:</p>
<p>C:\WINDOWS\system32\cscript.exe c:\scripts\winupdates.vbs</p>
<p>Also worth a mention that I have used this on standard(non-sbs) Windows servers and it works well.</p>
<p>Perhaps if enough people use this script, it will actually save as much time as it took to make it, but I doubt it. <img src='http://www.tachytelic.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.tachytelic.net/2007/08/windows-update-automatic-e-mail-notification/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Using ISMTPOnArrival_OnArrival event to save messages to a filesystem based on the message subject</title>
		<link>http://www.tachytelic.net/2007/07/using-ismtponarrival_onarrival-event-to-save-messages-to-a-filesystem-based-on-the-message-subject/</link>
		<comments>http://www.tachytelic.net/2007/07/using-ismtponarrival_onarrival-event-to-save-messages-to-a-filesystem-based-on-the-message-subject/#comments</comments>
		<pubDate>Thu, 26 Jul 2007 16:31:59 +0000</pubDate>
		<dc:creator>Paulie</dc:creator>
				<category><![CDATA[Scripts & Utilities]]></category>
		<category><![CDATA[Technical Posts]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[ISMTPOnArrival_OnArrival]]></category>
		<category><![CDATA[SBS 2003]]></category>

		<guid isPermaLink="false">http://www.tachytelic.net/?p=8</guid>
		<description><![CDATA[The ISMTPOnArrival_OnArrival event sink in Exchange 2003 can be used to trigger code to perform various tasks.  I have recently used this method to strip attachments from messages and then FTP them to a remote machine, based on the message subject and recipient.
In this, more basic example the entire message is saved to the [...]]]></description>
			<content:encoded><![CDATA[<p>The ISMTPOnArrival_OnArrival event sink in Exchange 2003 can be used to trigger code to perform various tasks.  I have recently used this method to strip attachments from messages and then FTP them to a remote machine, based on the message subject and recipient.</p>
<p>In this, more basic example the entire message is saved to the filesystem in .eml format to a folder specified within a variable.  The script could be made much more elaborate with the addition of a couple of arrays to specify multiple subjects/locations.  The idea is that you could setup a system where e-mails can be automatically filed without having to depend on user intevention and avoiding the requirement for 3rd party software.</p>
<p>This can be implemented by following the example from this <a href="http://support.microsoft.com/kb/313404">Microsoft Knowlegbase article</a>.  The file referred to in the article called SMTPREG.VBS can be found <a href="http://msdn2.microsoft.com/en-us/library/ms528023.aspx">here on MSDN</a>.  Instead of the SMTPMsgCheck.vbs file referenced in the article create a file called SMTPSubjectCheck.vbs and insert the following code(you will also need to modify the registration batch file accordingly) :</p>
<pre><code>
&lt;SCRIPT LANGUAGE=&quot;VBScript&quot;&gt;
Sub IEventIsCacheable_IsCacheable()
	'To implement the interface, and return S_OK implicitly
End Sub

Sub ISMTPOnArrival_OnArrival(ByVal Msg, EventStatus )
	Dim Pos, SubjectToFind, SaveFolder, MsgStream

	SubjectToFind=&quot;Project1&quot;
	SaveFolder=&quot;c:\\&quot;

	Pos=InStr(1,Msg.Subject,SubjectToFind,1)

	if Pos &lt;&gt; 0 then
		set MSGStream= Msg.Getstream
		SaveFile=SaveFolder &amp; Msg.Senton &amp; &quot;-&quot; &amp; msg.subject &amp; &quot;.eml&quot;
		SaveFile=Replace(SaveFile, &quot;/&quot;, &quot;_&quot;)
		SaveFile=Replace(SaveFile, &quot; &quot;, &quot;_&quot;)
		SaveFile=Replace(SaveFile, &quot;:&quot;, &quot;_&quot;,3)
		MsgStream.SaveToFile savefile,2
		MsgStream.Close
		Set MsgStream = Nothing
	End if
End Sub
&lt;/SCRIPT&gt;
</code></pre>
<p>In this example the script is looking for a subject line that contains the text &#8220;project1&#8243;(not case sensitive) and saving it to the root of c:</p>
<p>I have attached a zip file to the blog post with all the required files in one zip file, just be cautious of using it if you already have event sinks registered(drop the files into c:\eventsink).<br />
<a href='http://www.tachytelic.net/wp-content/subjectcheck.zip' title='subjectcheck.zip'>subjectcheck.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tachytelic.net/2007/07/using-ismtponarrival_onarrival-event-to-save-messages-to-a-filesystem-based-on-the-message-subject/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exchange 2003 SP2 IMF Keyword Manager</title>
		<link>http://www.tachytelic.net/2007/01/exchange-2003-v2-imf-keyword-manager/</link>
		<comments>http://www.tachytelic.net/2007/01/exchange-2003-v2-imf-keyword-manager/#comments</comments>
		<pubDate>Sun, 28 Jan 2007 19:20:49 +0000</pubDate>
		<dc:creator>Paulie</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Scripts & Utilities]]></category>
		<category><![CDATA[E-Mail]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[SBS 2003]]></category>
		<category><![CDATA[Spam]]></category>

		<guid isPermaLink="false">http://www.tachytelic.net/?p=4</guid>
		<description><![CDATA[Exchange 2003 sp2 comes with an updated intelligent message filter. One of the new features of the updated IMF is the ability to add a custom weighting file that gives administrators more control over incoming mail.
I have used this file a few times on customers systems, usually to allow certain automated e-mails through the IMF [...]]]></description>
			<content:encoded><![CDATA[<p>Exchange 2003 sp2 comes with an updated intelligent message filter. One of the new features of the updated IMF is the ability to add a custom weighting file that gives administrators more control over incoming mail.</p>
<p>I have used this file a few times on customers systems, usually to allow certain automated e-mails through the IMF which were being incorrectly identified as spam.</p>
<p>The problem is that Microsoft have not included a GUI to edit the MSExchange.UceContentFilter.xml file. ?Ǭ�So it must be generated by hand, and while this isn&#8217;t difficult, it is not very convenient and it is easy to make a mistake.</p>
<p>I was looking for an excuse to have a play with Visual Basic 2005 and so I have made a little utility to make creating and managing the MSExchange.UceContentFilter.xml a little easier.</p>
<p><img src="http://www.tachytelic.net/images/UCE.jpg" alt="Screenshot 1" /></p>
<p>Becomes&#8230;.</p>
<p><img src="http://www.tachytelic.net/images/ucexml.jpg" alt="Generated XML File" /></p>
<p>The utility can be downloaded from <a href="http://www.tachytelic.net/files/exchangeimf/setup.msi">here</a>.(Requires .net 2.0).</p>
<p>If you need more information on how to implement the custom weighting feature then see:<br />
<a href="http://download.microsoft.com/download/f/b/5/fb5c54af-fe5c-48e9-be97-f9e8207325ab/Ex_2003_SP2_RelNotes.htm"><br />
Microsoft Exchange Server 2003 Service Pack 2 Release Notes</a><br />
<a href="http://support.microsoft.com/kb/907747">Microsoft Exchange Server Intelligent Message Filter v2 Operations Guide</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tachytelic.net/2007/01/exchange-2003-v2-imf-keyword-manager/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
	</channel>
</rss>
