Friday, November 21, 2008

RDP Admin fun with your Hackintosh

I do IT consulting for a living now-a-days and I use a MacBook Pro laptop as my weapon of choice for my mobile computing platform for a few reasons.


  1. I have all the major Operating System flavors legally on one machine and at my finger tips, ie: Windows (in Bootcamp or VM Fusion), Mac and Unix (FreeBSD/Darwin), which is great when you're a road warrior.
  2. It's the only version of Unix-like OSes that has Micro$oft Office coded for it natively, can you say "PowerPoint" boys and girls?
  3. Let's be honest, they look damn cool and the Aqua GUI trumps windows, yes, even Vista, for sleekness and functionality.
  4. Plus the chicks dig it ... lol

That being said there are a few little snurks that disturb the otherwise stillness of the pond of my Mac meditation. Two of those are the lack of a few keyboard keys and a right-click touchpad button that I use frequently while connected via RDP to a remote Windows server.

If you have ever used Remote Desktop (RDP) to connect to a Windows server from your house in your undies, when you get a call at 2:00 AM from a frantic client about a critical service being down instead of having to hop into your clothes and drive 30 miles to their office, you'll understand it's incalculable value to you. I use it almost hourly, every day. (Man, I need to get a life.)

If you happen to want to lock the screen on that Windows server without having to log off or disconnect from the RDP session, then you are out of luck on a Mac laptop because you have no END key to perform the RDP version (CTRL+ALT+END) of the 3 finger salute (CTRL+ALT+DEL) to access the Windows Security dialog box so that you can lock the screen.

There is a way around this by creating a shortcut on the desktop of the Windows server you remotely connect to:


  • Right click on any empty spot on the remote machine's desktop. Click on New and then Shortcut.
  • In the dialog box that appears, type:

rundll32 user32.dll,LockWorkStation

  • Click Next to continue.
  • Enter a name for the new shortcut, i.e. "RDP Screenlock" or whatever makes sense to you.
  • Click Finish to complete the task.
  • If you are feeling particularly Mac-ish you can go to properties and assign a pretty icon with a key or lock or something. ;)

The lack of a right-click touchpad button can be resolved by either CTRL+CLICK-ing whatever you want to right-click on or by purchasing a Mac-compatible 2-button USB mouse (I prefer the wireless ones, myself.)

NOTE: The best Remote Desktops Manager software for Mac is a program called CoRD. I highly recommend it for creating your quick-list of RDP connection links and storing the credentials for each connection. Awesome app.

Enjoy!

Sunday, November 16, 2008

Rounding up the usual suspects - Network Troubleshooting Part 1

When you are troubleshooting a network issue, it can be a little overwhelming if you don't begin the process by narrowing the cause of the problem. You do this by "rounding up the usual suspects", the common causes of network issues.

The Usual Suspects

Taking a queue from the Scientific Method and Occam's Razor , apply the following rule of thumb when localizing and narrowing down the problem: "All things being equal, the simplest explanation is probably the correct one."

Here are a few of the usual suspects:

  • Logon Credentials
  • The Obvious
  • User error (aka PEBKAC)

Logon Credentials

Access to the network depends on a user providing correct logon credentials, normally a username and it's associated password/passtoken. These 2 items must match exactly to what is "on file" with the server that controls network-access, especially passwords, which are case-sensitive. Now technically this usual suspect actually fits into the User error category but user's mistype their passwords so often it is it's own category.

Typical causes of this error are :

  1. CAPS Lock is On.
  2. User simply mis-typed 1 or both items.
  3. User forgot the correct password after having to recently change it due to company password policy enforcement.
The Obvious

Don't neglect the obvious stuff of OSI layer 1 (physical environment) Loose or damaged cables are common causes of physical layer networking issues. Check:

  1. Network cables
  2. Connectors (cable-end terminators, retaining clips break off of these constantly)
  3. Switches installed by users in their workspaces with/without approval
  4. Wall jacks (Ethernet)
  5. Power plugs
User Error

Among IT professionals you'll hear terms like PEBKAC, ID Ten T , and Layer 8 when describing this usual suspect. One of my favorites is EEOC "Equipment Exceeds Operator Capability" ;)

Simply put, human error accounts for most problems, networking ones included. This issue is partly a problem of user education, as a networking professional it's part of your job to properly educate your end-users on the proper use and expectations of your network. So maybe a better acronym would be PEBAAU "Problem Exists Between Admin And Users" ;)

When you suspect that user error is the cause of a reported network issue, have the user reproduce the issue while you observe him/her. If it turns out to be that the user is following an incorrect procedure or other type of user error, the solution will be fairly obvious. If not, back to the drawing-board.

Good Luck in your networking adventures!

Saturday, November 15, 2008

*** is not a valid Windows network message number.

It is always fun in Windows-land. Fun, fun, fun. [thinkingofmyhappyplace] ;)

I have a really good buddy who works at Micro$oft and being a good guy he passed along a tip about the Microsoft Exchange Server Error Code Look-up tool.

Turns out it "determines error values from decimal and hexadecimal error codes in (all) Microsoft Windows® operating systems." not just for Exchange.

Now that would have been a useful thing for Micro$oft to hype a little more than leading us to believe that this little tool was just for Exchange... [sigh] don't get me started... one day I'll regale you on multi-terabyte enterprise DFSr implementations held up by Micro$oft "unpublished" KBs.

The Error Code Lookup tool can look up one or more values at a time. If available, informational data associated with the value(s) will also be shown (see below).

Cmd line output from err /?
Table ? could not be found.

USAGE: err {value} [value] [value] ...
where must be of one of the following forms:
1. decorated hex (0x54f)
2. implicit hex (54f)
3. ambiguous (1359)
4. exact string (=ERROR_INTERNAL_ERROR)
5. substring (:INTERNAL_ERROR)

All values on the command line will be looked up in our internal tables and presented to you. If available, informational data associated with the value(s) will also be shown (see below). All tables are searched by default, but you can restrict the output to those tables you deem appropriate by adding "/" to the beginning of the cmd-line.

Example:

> err /winerror.h /ntstatus.h 0
# winerror.h selected.
# ntstatus.h selected.
# for hex 0x0 / decimal 0 :
STATUS_WAIT_0 ntstatus
ERROR_SUCCESS winerror
# The operation completed successfully.
NO_ERROR winerror
SEC_E_OK winerror
S_OK winerror
# 5 matches found for "0"

Last compiled on Mar 31 2003 14:39:19.
This app has support derived from the following headers and privates

...
There are currently 19871 return codes registered from 172 sources.
Cmd line output from err 5000
# for decimal 5000 / hex 0x1388 :
SPMEVENT_PACKAGE_FAULT lsapmsgs.mc
# The supplemental credentials for security package %1 for
# user %2%3 could not
# updated. The return code is the data.
# for hex 0x5000 / decimal 20480 :
CCERR_CHOOSECOLORCODES cderr.h
# 2 matches found for "5000"
After learning about this tool and playing with it, I did some more googling and found some additional information on the subject.

Check out To err is Admin and Information about the err.exe tool I use to look up error codes when debugging setup issues for more information.

Disk is Full. Clear up some space on your disk... WTH!?!

If you have been in IT long enough you will likely have run into something along these lines on a user data volume or (more annoyingly) a server OS partition. And you have come out of the server room IT guns blazing, shouting "Who done burned up all the storage on the server?!! DIE!!!" ;)

Well I have an app that I like to use in these instances to help me identify the who/what/where/how much of these storage issues. Best of all it's free, and you know I love me some free software that actually kicks butt and gets the job done. Makes my day.

For your directory scanning pleasure, I present:

JDiskReport a cross platform java-based tool, authored by Karsten Lentzsch of JGoodies, that focuses on understanding how much space the files and directories consume on your disk drives, and it helps you find obsolete files and folders.

The tool analyses your disk drives and collects several statistics which you can view as overview charts and details tables:

There are free binaries for Win32, OS X, Web Start and Java available.

Check it out, you won't be sorry.