Windows

Quickie: Is firewall port open

Our DPM servers keep failing to recover data to our Exchange servers. Exchange by default can randomly pick the default DPM ports and block functionality.

netstat -ano | find /I ":5719"

If it returns results, there's a match.

Quckie - Get Windows Service Pack Level

We had a cluster issue with one of our Exchange 2007 CCR clusters. It didn't successfully failover when the virtual server quit responding. On this, we noticed that this server was still running Windows 2008 SP1.

This quick script exports all the windows versions and service packs for all current Exchange servers in your environment.

$servers = Get-ExchangeServer

$report = @()
foreach ($S in $servers) {
        $colItems = get-wmiobject -class "Win32_OperatingSystem" -namespace "root\CIMV2" -computername $s.Name
        $report += $colItems | select Caption, CSName,CSDVersion
}

Find an email address in your environment

In my environment, I am always looking up a user's email address, or trying to find out what Exchange server their mailbox is on. That's why I developed the attached script.

It will do a wild-card search against your currently logged on domain to find any account with those values. It searches the Displayname, proxyaddresses and mail fields.

Set Default Outlook Address Book via Script

The default Outlook Address Book is saved in the Windows registry. I've created this script to be used to push down a new Address Book view at logon for a large group of users. The script will read the current default Outlook profile for the currently logged on user, then push down the address book view you specify.

Query Size and Free Space of Windows Volume Mount Points

I have been tasked with writting a script to analyze our servers on a daily basis. I found this most excellent server inventory script that pulls virtually every conceivable value from a server.

Now, on our Exchange cluster, we've used Volume Mount Points for the resources. This means that a 9gb drive with eight 330gb folders (or mount points) to SAN storage. If I simply pull the drive freespace, I get ~6gb (local hard drive), even though the mount points each show over 100gb free.

Google Search Gadget

After I got my new PC, the first thing I wanted to do was replace some of the functionality of my dynamic desktop. Primarily this meant a useful Google Search box. My search found 3 gadgets already in play, but to my dismay, they all link to adwords sponsored websites.

So, using Darren's example, I found that gadgets are really just little tiny websites. Hmm, I can code websites. Even really tiny ones.

Powershell - Enumerate Delegate Rights for a mailbox

Troubleshooting Outlook delegate permissions is a pain. I found the easiest way to get a user's delegates is to create a profile, open their mailbox and check each person.

That's why I created this script. Using the Quest Powershell addons for AD, it reads the delegate permissions for a specified mailbox, then looks up the display name for each delegate or mailbox they are a delegate for.

PowerShell - Find all enabled AD users

A friend is working on a script to pull active LCS accounts from his AD. One last bit of information that he that was troubling him was enabled/disabled AD accounts.

Lookup email addresses from CSV in AD

Scenario: I was given a list of 15,000 email addresses and asked if they were still valid in our Exchange environment.

Easy method: I ran a simple VBScript that does an LDAP query against each email address. This worked great, except that it took close to 5 seconds per email address to query our environment. (~20 hrs!) The over-all run time was going to be too extreme.

Creating a REALLY BIG file!

I ran into an occurrence where I needed to create a really big file. I was having an issue with a backup procedure failing at only 16gb. After extensive troubleshooting, I thougth that maybe the issue was with the hard drive. The backup solution would reach the 18gb mark and fail due to some inconsistency.

So, where I can I find a big file?

  1. Copy an existing large file off another server or workstation - great, but all the large files are open and I didn't want to shut something down.