Skip to Content
Personal website of Steven Peck. Focusing on Microsoft technologies (most notably PowerShell), and other random bits I think to write.

Quest PowerShell extensions rock too

When my co-worker (who is interested in learning PowerShell too) asked me how to get a list of all the members of a given Security group, I didn't have a ready answer for him. I hadn't had occasion to learn how to do that yet and a quick search didn't show anything obvious or simple.

I had read in various blog posting and on the Microsoft newsgroups about Quests PowerShell extensions. As they were supposed to make some Active Directory related tasks easier, I thought this was the perfect time to try them out.

One download and install later I was looking through the 109 page Active Roles Management Shell for Active Directory guide and there in the table of contents was the Get-QADGroupMember commandlet on page 59.

Get-QADGroupMember domainName\GroupName

This gets us name type and DN. To much information and not quite what we need. So off to our favorite discovery tool
Get-QADGroupMember domainName\GroupName | Get-Member -MemberType property

This lets us discover the properties that allow us to use PowerShell's filtering capabilities. As my co-worker needs the logonname and the displayname, we came up with this final code.
Get-QADGroupMember domainName\GroupName | select logonname, dislayname

The total time it took to get here was about 10 minutes. My co-worker is now even more excited about learning PowerShell. So much to learn, so little spare time.

40 already?

How time flies. I worked with a guy once who said, "Old is always 10 years older then your current age" and he was right then but as I am getting older I find that old gets further away. :)

Another friend used to have a saying, "You'll learn" that he would trot out when I said something particularly silly in my 20's. I have a much deeper insight into what he meant. From him I have learned my perceptions may not always be broad enough if I don't have the experience to comprehend the answer.

Every day with my children I remember things my father taught me, which is great as I see my cousins doing very similar things with their kids. Seeing that cycle is enlightening.

I could not have predicted what I am doing now and how rich my life is. I have a wonderful wife and two fantastic children and some very good friends. I like my neighbors and I am part of a world wide community with more friends and acquaintances all over the place.

Life has it's various frustrations and annoyances, but I am pretty happy with where I am overall. It's been fun an adventure so far and I will enjoy seeing what the next 40 years bring.

PowerShell - list Exchange 2003 mailbox information

We have been exporting some mailbox information manually and I was sort of tired of doing it that way. I thought I'd try to make it work with PowerShell to automate it and add some consistency. It took some experimentation and here it is.

It saves to a file, ServerName-Date.csv in the directory it's run from. It has Display Name, Storage Group Name, Store Name, Mailbox size (in kb like ESM) and Date Discovered Absent in DS (which is short for when the Active Directory account the mailbox was associated was deleted).

Presentation slides for Sonoma County SysAdmins

Last Tuesday I did a presentation for the Sonoma County SysAdmins group. It had been a while since I had last done a presentation and this was my first Drupal presentation outside the Drupal community. I tried for a good general over view with the need for best practices and planning.

Backups are IMPORTANT - a reminder

Last week I had a process go crazy on my server. In the end the resulting crash left 2 of the tables on my site in an invalid state and database tools unable to read them. While this was annoying it was not fatal.

I was able to restore the site from the last good backup in about 10 minutes. My current backup schedule is once a week so I lost one post (content I found on /planet's aggregator) and the 3 comments on it (which is annoying as they had some good links). For now I think I will keep my weekly backup schedule but I may be changing that.

Good backups are important. It's my site and as haphazard as it can be, I'm kind of proud of it. I'd really be annoyed if I lost all of my content.

IIS clean URL's

I used to run my site on IIS. For the longest time I didn't care about "clean url's" but eventually tried it with ISAPI_Rewrite. A decent enough product but at times a bit of a pain. It didn't mimic all of mod_rewrites capabilities so you had to really fiddle with the rules to make it work nicely.

Eventually I decided it was time to learn Apache so I switched. Looking thorough the issue queue I came across a mention of a new alternative. Ionics Isapi Rewrite Filter, which is described as;

IIRF is a small, cheap, easy to use, URL rewriting ISAPI filter that combines a good price (free!) with good features. It is reasonably fast, and reasonably powerful. If you use IIS, you can download IIRF and get started right now.

redamo posted the filter rules he used to help you get started. One of these days I'll get time to get my IIS test server built again to play with it myself.

[NOTE: This content is reposted after a database issue, the comments have been lost]

Syndicate content