northben's blog

Windows equivalent of hostname variable

I needed to get the network name of a computer through an environment variable. The "hostname" command gives this information, but it's not a system variable. The proper system variable for the dns name of a computer is %COMPUTERNAME%. That was easy!

List files and paths in a directory tree (including files in subdirectories)


Recently I needed to list all of the files in a large directory tree. Each line needed to include the full path to the file, and I didn't want to include the directories themselves in the list, just the files. Here's how I did it:

dir /a:-d /s /b > files.txt

The dir command, as you probably know, lists files in the current directory, but the default settings are not useful here - it does not include file path, for one thing.

SQL Convert datetime to just a date


Here is how to use the SQL convert function to extract just the date portion of a SQL datetime field.

convert(varchar(10), eventdate, 101)

It will result in something like this:


You can change the syntax slightly if you want a different date format. Here is the full documentation on the convert function:

Set Application Compatibility through the registry, across a network


Here's how to control Window's Application Compatibility settings through the registry. This is normally controlled by right-clicking on an executable, clicking on the Compatibility tab, and making a selection in the Compatibility mode area. However, you can easily control Application Compatibility for all computers in a domain or network environment through the registry.

The registry key is HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags

Unable to load client print control


If you see this message when trying to print a SQL Server Report, you probably don't have local admin rights. These instructions explain how to resolve the issue

 Personally, I used the excellent VNCScan to make a remote script so I
can fix this with one click.

Page Skew on HP LaserJet 1200

If you are getting crooked prints from your printer, the solution might be as simple as replacing your toner cartridge. I was using a refurb toner cart in my HP LaserJet 1200 and thought the fuser was bad - I went so far as replacing it, before I realized that my almost-new toner cartridge was to blame.

Page skew is when the image and text on your paper is rotated or crooked. On mine, the top right corner of printing was off the page, while the top right corner looked ok. The whole print was rotated counter-clockwise.

Resize Photo Attachments in Outlook 2007

When you attach a picture to an email in Outlook 2007, Outlook can resize the photos for you. Here's how to control this useful feature.

Event 562 Success audit in Security log on Exchange 2003 Server

If you turn on Audit Object Access, which is useful to find when and who access and deleted files, you may see thousands of Event 562 in the Windows Security event log. Here's how I fixed it.

After turning on Success auditing for Object
Access on the SBS 2003 Server,
the security event is fills up with:

Quick fix for an iPhone battery that doesn't last for a day


My iPhone battery was very weak. It would go dead before the end of a day of moderate usage. Apple would replace my iPhone for about 200 bucks. AT&T suggested restoring my iPhone 3G from scratch, and then reloading my Apps one-by-one. I found a solution that made my iPhone 3G last all day, and then some.

"your client access licenses are not valid" on Server 2003 or SBS 2003


Event ID 1017 "The license store for the client access licenses was corrupt and had to be deleted." Other messages on the server console indicating that license usage has been exceeded, and users' inability to access network resources may be symptoms of a full C: volume.

Treesize can help with this problem by finding the largest directories on your hard drive.


Subscribe to RSS - northben's blog