Scripts page
I’ve created a page for script examples and have posted a script there. I’ll add some more in the near future.
I’ve created a page for script examples and have posted a script there. I’ll add some more in the near future.
I found that there were too many limitations with blogger so I decided to migrate to WordPress. I now have my blog uploaded to a web hosting server which gives me more flexibility. The primary reasons for migrating to WordPress were:
I still have a bit of work to do in getting my blog back to normal (mainly moving all of the images across). I’m also still searching for a template that I really like, in the meantime this one will do.
There are some awesome utilities that you can download from the Microsoft website. Although there doesn’t seem to be a single download file for all of the utilities, they all fall under the “PowerToys” name. I haven’t downloaded all of them yet, but I’ve played with a few.
Alt+Tab Replacement
This download replaces the standard Alt+Tab dialog with a new one that includes a preview of the application at that you have selected. My only complaint is that it won’t show a preview for applications that are minimized. Despite that limitation, it’s a great enhancement and I’m really happy with it. It has proved to be particularly useful when you have a whole bunch of web pages open and find yourself constantly switching between them.
Open Command Window Here
I’ve used a registry hack to achieve this in the past, but it’s easier to just install this utility instead. This feature adds a menu item to the context menu (right mouse click) of a file system folder. In other words, if you right click on a folder you can select “Open Command Window Here” and it will open a command prompt with the currently selected folder as the current directory.
Virtual Desktop Manager
This utility allows you to use 4 different “virtual desktops”. A virtual desktop in the context of the Virtual Desktop Manager utility is simply a lay-out of program windows. When you install the utility it creates a new toolbar that you can add to the Windows taskbar.
The toolbar allows you to switch between the virtual desktops. The Green button displays all 4 desktops at once to make it easier to select the window layout that you’re after.
There’s a whole bunch of other PowerToys that you can download, including the latest version of TweakUI.
http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx.
This year daylight savings in NSW, Victoria, ACT, Tasmania and SA has been extended to allow for the Commonwealth Games that will be held in Melbourne. Gary forwarded a message to me that he received from Office Watch reporting that there is a hotfix available to prepare machines for the adjusted daylight savings period.
There’s information regarding the issue and the hotfix here:
http://www.microsoft.com/australia/timezone/2005.aspx
The idea is to get the patch applied as soon as possible as Outlook calendar appointments that are created before the patch is installed will be 1 hour out of wack during the extended period. Appointments that are created after the patch is installed will show the correct time. Apparently Outlook does the time zone calculation when the appointment is created which explains why this is the case.
During the Olympic Games in Sydney daylight savings actually started earlier, and I don’t recall having any issues with screwed up calendar appointments. In any case we’ll get this hotfix out to all of our machines in Australia.
Some colleagues of mine (Ant and Gary) have been using Mind Manager as a way to brainstorm or map out projects into a logical format. I recently read a blog entry from Gary where he mentioned that he’d used Mind Manager to document the ITIL Service Management principles. I’m planning to do the ITIL foundation certificate so I thought it would be a nice study reference. With that thought in my mind, I realised that mind mapping could be a great way to compile study notes.
I’m currently studying for the Microsoft 70-291 exam, so I installed Mind Manger on Thursday night and started to play around with it. So far I have mapped out all of the DNS objectives and some of the IP Addressing/DHCP and Security topics. I’ve taken the approach of mapping out the exam objectives first (I’ve formatted the actual objectives with a different colour for clarity) and then branching out from each main topic with individual notes. It’s proved to be an extremely effective way to compile study notes and here is why:
The mind mapping process feels organic. By that I mean that the way you map out topics in Mind Manager is similar to how you do it in your head (well in my mind anyway). I guess this is the reason why I like it so much.
Here are some pics of my study notes so far (still very much a work-in-progress).
How reliable is email? I get that question alot from users, and in recent times I’ve had to tell them that it’s not very reliable at all. There’s no doubt that spam is to blame; several years ago I beleived that email was reliable - you could realistly expect that if you addressed a message properly that the recipient would receive it, if not you’d receive a mail failure.
In Fred Langa’s experiement he found a 40% failure rate for valid, non-spam emails. Based on his findings, Fred concludes that spam filters are often to blame. Over-sensitive spam filters are definitely the main cause for most lost mail, and the problem is that if a message is blocked as spam, the sender won’t receive a mail failure and therefore is unaware that the message never got to the intended recipient.
The other problem however is that spam has bred a culture of ‘delete key happy’ users; if an email looks like spam then it’s probably going to get deleted, and in alot of cases it will be deleted without being opened at all. Although spam filters appear to be the main cause for lost email, the human element is starting to play a large role too. I’ve come across cases where users have asked me to track down an email that “they never received”; after checking the mail gateway where our filtering takes place, and performing an Exchange message tracking center search, I’ve discovered that the message was in fact delivered to their mailbox. Take a quick look in either their deleted items or the items that have been permantely deleted from their mailbox (retreivable by using the DumpsterAlwaysOn reg key) and its not rare to find the message that was “never received”. Usually in these cases the user was not actually expecting the message and the subject looked like spam so they deleted it. Afterwards, the sender has told them that they sent them a message but the user doesn’t make the connection between the message that they deleted and the message that they are now expecting to have received.
While there are efforts by various vendors and groups to improve SMTP (like Microsoft’s Sender ID for example) I think it will be a while yet before internet mail will be reliable and trustworthy.
I’ve been doing some work for a lady who owns two retail stores. One of the tasks on my list is to implement a decent backup solution for the point of sales systems.
Whenever I plan backups I like to consider the following scenarios:
When I was looking for the right solution for her businesses I wanted to make sure that I covered those scenarios.
I considered hardware first. I decided that an external HDD or entry level NAS box would be the best way to go. The shops are next to each other, so a wireless link to a shared NAS box would work, or I could recommend external hard drives for both POS systems [The POS systems are Windows XP with MYOB Retail Manager]. Maxtor have a Shared Storage Drive that’s essentially a networked external HDD - It’s a single drive so it doesn’t offer RAID0 or RAID1 but the price fits well. The owner has a laptop that she keeps at home that has plenty of HDD space so the plan is to backup to the shared storage drive and then periodically copy the latest backups on to her laptop so that she has an offsite restore point.
Next I put some thought into the actual backup process. I wanted to keep the costs down so I considered the XP backup utility or robocopy to copy the MYOB data and my docs. I also considered using XP’s ASR feature as a complete system restore solution. I’ve tested ASR before and it seemed to work OK but there were several things I wasn’t comfortable with:
Having used early versions of Ghost before (more for deployment than backup mind you), I considered using it take an image of the PC in case an OS rebuild was required in future. I didn’t think however that I would be able to schedule ghost images. In the old days you would have to boot into DOS to take a ghost image. I had heard though that later versions of Ghost can take images while windows is running and that was enough to persuade me to check out the latest version of Ghost - Ghost 10.
I downloaded and read through the ghost manual and was extremely impressed, so I downloaded the Ghost 10 trial and tried it out. It had me sold in an instant, and this is why:
Ghost 10 licenses are around $110(AUD) and in my opinion are well worth the investment. The solution that I’ve proposed for the shop owner is to purchase 2 copies of Ghost 10 and a Maxtor shared storage drive to backup each machine to. She can then copy the most recent recovery point to her laptop each week. Although she won’t have daily offsite backups, she will have a fallback if there is a complete disaster. For any other scenario she will have the ability to restore single files easily herself or a restore complete system (with my help - Symantec are still marketing Ghost 10 to more advanced users).
I just finished viewing this on-demand web cast where Mark Russinovich goes into great depth about how various malware works and how to effectively remove them. Mark also covers the use of rootkits which malware writers are starting to take advantage of these days. It’s worth the 1:12 minutes.
I’ll certainly be adding the free sysinternals utilities that Mark demonstrated to my tool kit. The utilities include process explorer, sigcheck, autoruns and Rootkit Defender.
Using Sysinternals’ psexec it’s possible to open a command prompt on your local machine for a remote desktop or server. This can be a real time saver when you need to obtain information or issue a command on a remote machine but don’t want to connect to the machine using a remote desktop connection or remote connection software like VNC or Dameware. For example, if you wanted to check what DNS server a client computer is using you could start the psexec session and then issue the ipconfig /all command. This is much quicker than establishing a remote desktop connection and issuing the command within that session.
To open a remote command line, simply open a command prompt on your local machine and type:
psexec \\remotecomputer cmd.exe
Note that for the command above to work you’ll need psexec.exe in the current directory, or in a directory that is included in the path system environment variable. You’ll also need admin rights on the machine that you’re connecting to. You can specify a username and password by using the -u and -p switches
You can download the whole pstools kit, including psexec for free from www.sysinternals.com.
Setting an alternate reply address is particularly useful if you are using a mail enabled public folder or distribution list for a group of users and would like the replies to messages that they send to go to the group smtp address instead of the sender’s mailbox.
There are a several ways to set the reply address for a new message. The first two methods that I will cover are acheived using a custom form. The other method is to set the address programmatically by using vbscript (or another language).
Custom Form methods:
There are 2 different ways to set the reply address using a custom form; both methods have slightly different results. The first method is to simply populate the ‘from’ field with the address that you’d like replies to be sent to. When using this method, the recipient will clearly see that the message has a different ‘from’ address and, as expected, when they hit reply their mail client will address the message to the ‘from’ address.
The second method is to click on the options button for the new message and enter an address in the “have replies sent to:” field. This method preserves the sender’s name, but sets a different reply address. The recipient will see that the message was sent by the sender, but when they hit reply the mail client will address the message to an alternate address.
With both of these methods you need to compose a new message, set the required options and then publish the item as a custom form. You can then use that custom form when you wish to send a message with the alternate reply address. There is a way that you can programmatically create a new message based a custom form; I promise I’ll post that soon.
Custom forms have their limitations however. For a start, the form needs to be published somewhere first; either in the organisational forms library, personal forms library, or a folder. Forms in the local forms cache are also prone to corruption and custom forms in general can be fiddly. Therefore the custom form method is not my preferred method.
Scripted Method (vbscript)
There are few different ways to make it easy for users to click a button to compose their message with the alternate reply address. You could write some VBA code and assign a toolbar button to it; when the users want to send a message using the alternate reply address they simply click the toolbar button. Another approach is to create an html folder homepage for a folder or public folder. In the html code, you can create a button to run some vbscript code to create the message and set the reply address (see below). The advantage to using a public folder homepage is that you avoid having to copy the VBA code to each workstation and manually creating a toolbar button. You can extend the concept by using the Outlook View Control(OVC) in your HTML homepage so that you have a ‘New Message’ button, and directly below have the contents of the public folder displayed in the OVC. The Outlook View Control is beyond the scope of this entry but because it’s so useful it’s on my list of blog topics!
When I first attempted to set the reply address using vbscript (before I downloaded the object model map!) I was trying to set the reply address using the wrong property. I tried two properties first: the SenderName and SenderEmailAddress properties. When I tried to set these properties with vbscript I would receive an error message stating “property is read-only”. If you refer to the object model you’ll see that these are in fact read-only.
The correct property to assign a reply address is the SentOnBehalfOfName property. I’ll admit that when I first saw this property I didn’t try it straight away as I assumed that it would have been read-only too based on the fact that the name of the property is in past tense (SentOnBehalfOfName). The SentOnBehalfOfName sets the ‘from’ field in the new message, so using this method has the same effect as the first custom form method above.
Here is an example of how create a new outlook mail item with an alternate reply address:
Set OlApp = CreateObject("Outlook.Application")
Set NewMessage = olApp.CreateItem(0)
NewMessage.SentOnBehalfOfName = "test@test.com"
NewMessage.Display
if you are scripting or programming with Outlook 2003, I recommend that you download the Outlook 2003 object model map from the microeye website (http://www.microeye.com/resources/code.htm).