Friday, 31 July 2015

12 ways to annoy IT Support

1. Report an urgent problem just before you leave for the day. Don't provide any detailed information about the problem (who's affected, what's happening, how can it be reproduced etc). Be sure to  complain first thing the next morning that it hasn't been fixed yet. Bonus points are awarded if your Out of Office reply has been turned on before support email for more information.

2. Constantly tell the support person you're speaking to that you don't understand IT, then no matter how simply they attempt to explain something, flatly refuse to try the things they're suggesting might fix your issue.

3. When you receive an email containing an error (for instance when it's unable to deliver your message) go ahead and delete it permanently. Once it's been removed you can contact support and demand that they tell you what the error message means. Make sure you've made no attempt to remember what it said.

4. Ensure you're up to date with your email filing before calling IT regarding email issues. If you're complaining about spam volumes, ensure they’ve already been deleted, otherwise hide the message you're calling about where it can't easily be found.

5. Even though you called IT for help, feel free to assume you know more than they do. When the support person gives you step by step instructions, treat them more as suggestions. Go ahead and select divergent options or jump ahead of them, then complain about their lack of knowledge when what you see on screen isn't what they expect.

6. Call support and insist you know what the cause of your problem is. Resist any attempts to fully troubleshoot the issue, and if necessary lie or withhold information that might lead support to a different conclusion. Feel free to omit certain information if you feel it's not relevant, regardless of whether support have specifically asked for.

7. Call support and complain that "everything's slow" today. Refuse to elaborate or clarify what is slow or who is affected and insist that you're far too busy to discuss it, but do make it very clear that the issue is costing you time and money and you want it fixing.

8. When comparing prices, if you don’t understand what a certain component is or its significance (for instance the difference between Home and Pro editions) then don't worry. Ignore it and focus on comparing just those elements you do understand. Based on those few elements, complain that you can purchase the machine elsewhere for less.

9. If support email you asking for three pieces of information to allow them to troubleshoot, pick just one of those three and answer it. Resist further attempts to provide answers to the other questions.

10. When asking IT for advice to resolve a problem feel free to reject their solution. Wait a month and then complain that your problem still exists, but continue to reject the solution being offered.

11. When you get an error on your computer, make sure you've closed it before calling IT and be unable to remember the exact wording of the message. If the message comes up while on the phone, cherry pick elements of the text to give them, avoiding any error numbers or potentially useful information. If you're absolutely pushed into reading out the entire text, do so quickly and impatiently so as to prevent any form of note taking.

12. And finally... Utter the words "since you did…" or "can you just…", we love them!

Thursday, 28 May 2015

Updating the MasterServer property on all secondary DNS zones using PowerShell

I recently found myself with an interesting issue. Along with the DNS primary zones we host on our DNS servers, we also have a few customers with their own DNS servers for whom we host secondaries of their domains to provide some resiliency. One customer who has a lot of domains setup on our servers recently moved his server to a different site, and with that a different IP address, and as such the Master Servers property on every one of his secondary domains needing updating to the new IP Address.

Unfortunately while you can do many things with PowerShell, or even dnscmd for that matter, it does seem there are some limitations. Try as I might I've been unable to find a way using either system to query DNS for all secondary domains that have a specific Master Server IP address (they have 100+ domains, and that's a fraction of those we maintain, so manually checking wasn't an option!).

Fortunately I found a work around using the registry!

Windows DNS Server stores all non-AD Integrated zone data in the registry by default, and that includes settings relating to Secondary zones. By querying the registry using PowerShell you can do what I was looking for. So for instance, to simply list all domains who have a MasterServer of you can run :

$AllTargetDomains=Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server\Zones' |
    ForEach-Object {Get-ItemProperty $_.pspath | Where-Object {$_.MasterServers -eq ""}}

Note, you can also change the last line to :


If you just want to know how many domains were found.

Now, to change the MasterServer property for all zones, in this case to, you run the following version. Note, the entire thing can be run as a single line of code.

Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DNS Server\Zones' |
    ForEach-Object {Get-ItemProperty $_.pspath | Where-Object {$_.MasterServers -eq ""}} |
    ForEach-Object {Set-DnsServerSecondaryZone -name $_.PSChildName -MasterServers ""}

If you re-run the earlier list version of the code you'll see no entries remaining, and if you check the domain within DNS Management you'll find that the Master Servers list has been changed.