I’m very fond of the powerful AdFind command line utility from joeware.net. Here’s a little overview of a little list I’m keeping for my own refernce:
Find the user behind a GUID:
adfind -binenc -gc -s subtree -b dc=test,dc=com -f “objectGUID={{GUID:????????-????-????-????-????????????}}” displayName
Likewise, you can use the same tool to find the e-mail address of a certain user:
adfind -gc -b dc=???,dc=??? -nodn -nolabel -f “sAMAccountName=??????” mail
The command above is actually part of script, so I used the “-nodn” and “-nolabel” parameters to have the tool only return the e-mail address. You obviously need to replace the question marks with something meaningful in the examples above.
List all distribution groups:
adfind -csv -nodn -f “(&(objectcategory=group)(mail=*))” displayname
List all contacts:
adfind -csv -nodn -f “(&(&(& (mailnickname=*) (| (&(objectCategory=person)(objectClass=contact)) ))))” displayname
List all mailbox-enabled users:
adfind -csv -nodn -f “(&(&(& (mailnickname=*) (| (&(objectCategory=person)(objectClass=user)(|(homeMDB=*)(msExchHomeServerName=*))) ))))” displayname
Run a query against another domain:
adfind -h %servername% -u %domain%\%username% -up %password% -csv -nodn -f “displayname=John Doe” displayname
More info
(Repost) Al een tijdje rijd ik rond met het idee zelf een rek te bouwen voor het binnenruim van mijn VW Touran. ‘t heeft lang geduurd maar uiteindelijk is een eerste ontwerp toch afgeraakt:
In de lokale doe-het-zelf zaak vond ik alu profielen die met hun 10cm breedte perfect tussen de benen van de voorvork van een fiets passen. De hoofdbalk wordt bevestigd op de beugels voor de achterzetels door middel van oogvijzen (8mm) en “draaiknoppen” recupereer ik van een oude grasmachine. Daarop heb ik dan 2 dwarsbalken gevezen dmv 8mm bouten en bolkapmoeren.
Elk van de dwarsbalken heeft 2 mogelijke posities. De eerste kan enkel gebruikt worden voor de mtb én wanneer de stoelen volledig verwijderd zijn. De 2° positie biedt plaats voor de koersfiets of de mtb (met opgeklapte achterzetels dan). Er zijn dus ook 2 uitsparingen voor de schijfremmen.
Het moeilijkste waren de gaten in de breedte voor de snelspanners (5mm). Het profiel heeft in het midden ook een wand en met het hobby materiaal waarover ik kon beschikken is het moeilijk die 3 gaten (2x buiten- + 1x binnenwand) netjes op een lijn te krijgen. Ik moest immers in 2 keer boren.
Commerciële alternatieven:
Nog enkele foto’s en shema’s (die spijtig genoeg in veel te lage resolutie gescanned werden):
Om het af te werken nog een dikker rubber mat op maat gesneden zodat het kofferruim niet al te vuil wordt.
Tot slot nog een bedankje aan Dirk De Meyer die iets gelijkaardig (maar dan achterstevoren) bouwde en me enkele nuttige tips gaf.
I started commuting by bike once a week since Thursday of last week. I’m still suffering a bit as I quit cycling on a regular basis about 2 years ago.

Ninove-Merelbeke (35km)
A little self-motivational post ;-)
Got some questions from one of our customers about Exchange 2010 archiving. First of all its important to understand that the solution proposed by Microsoft is like having a second mailbox in the same database. I’m sure the technology will evolve later on but this seems kind of a drawback to me.
You can either read the details on the Exchange 2010 product home page or checkout this assessment (less Marketing!) from Ferris Research. Screenshot junkies on the other hand can check out this blog post from The Three UC Amigos. Last but not least there’s a TechNet webcast coming up (10th of June) which covers the new “Archiving & Retention” features.
Update 2009-06-26: Noticed an interesting discussion in the TechNet forums covering the “Personal Archive” feature.
-
TechNet Webcast: Exchange 2010 High Availability (Level 300) Monday, June 1, 2009 9:00 A.M.–10:00 A.M. Pacific Time
-
TechNet Webcast: Exchange 2010 Overview (Level 200) Wednesday, June 3, 2009 9:00 A.M.–10:00 A.M. Pacific Time
-
TechNet Webcast: Forefront code name “Stirling” – The next generation of Forefront Security for Exchange Server (Level 200) Thursday, June 4, 2009 1:00 P.M.–2:00 P.M. Pacific Time
-
TechNet Webcast: Exchange 2010 Management Tools (Level 300) Monday, June 8, 2009 1:00 P.M.–2:00 P.M. Pacific Time
-
TechNet Webcast: Microsoft Exchange Hosted Filtering is now Forefront Online Security for Exchange (Level 200) Tuesday, June 9, 2009 1:00 P.M.–2:00 P.M. Pacific Time
-
TechNet Webcast: Exchange 2010 Archiving and Retention (Level 300) Wednesday, June 10, 2009 9:00 A.M.–10:00 A.M. Pacific Time
-
TechNet Webcast: Exchange 2010 Outlook Web Access (Level 200) Monday, June 15, 2009 9:00 A.M.–10:00 A.M. Pacific Time
-
TechNet Webcast: Exchange 2010 Architecture (Level 300) Wednesday, June 17, 2009 9:00 A.M.–10:00 A.M. Pacific Time
-
TechNet Webcast: Federation in Exchange 2010 (Level 300) Monday, June 22, 2009 9:00 A.M.–10:00 A.M. Pacific Time
-
TechNet Webcast: Exchange 2010 Voice Mail enabled by Unified Messaging (Level 300) Wednesday, June 24, 2009 9:00 A.M.–10:00 A.M. Pacific Time
-
TechNet Webcast: Exchange 2010 Information Protection and Control (Level 300) Monday, June 29, 2009 9:00 A.M.–10:00 A.M. Pacific Time
-
TechNet Webcast: Exchange 2010 Transition and Deployment (Level 300) Wednesday, July 1, 2009 9:00 A.M.–10:00 A.M. Pacific Time
I gave a custom Exchange 2007 course to one of our customers yesterday. Not unsurprisingly, it also included a demo of Exchange Management Shell (EMS). These demos tend to end up in a quest for the exact command, which is quite annoying if you’re in front of an audience (even a small one). Think about:
- about_regular_expressions or about_regular_expression?
- $_. or $._?
- Why is -Confirm $False not working?
This time I decided to try and automate that demo by using the autoreplace feature (Hotstring) in AutoHotKey. The main goal is avoiding typo’s by using tried and true commands in a working order. A poor man’s Start-Demo script if you wish ;-)
The script starts of with a bunch of commands controlling the overall functionallity (the first 3 come with the default template):
#NoEnv
Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input
Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%
Ensures a consistent starting directory.
#Hotstring EndChars `n
Limit the hotstring end characters to ENTER only
#Hotstring O
Don’t actually type the end character. (I want to launch the command myself after/during my explanation.)
#Hotstring R
Type replacement text in raw mode. (To prevent AHK from interpreting e.g. “{”)
The remainder of the script is actually a long list of hotstring definitions like these ones
::ems01::Get-Help
::ems02::Get-Help About
::ems03::Get-Help About_Regular_Expression
::ems04::Get-Command *mailbox
::ems05::Get-Help New-Mailbox
::ems06::Get-Help New-Mailbox -Detailed
::ems07::Get-Help New-Mailbox -Full
and so on.
Seems stupid with these simple examples, but the advantage becomes clear for more complex commands. Lets take “ems26″ for example;
::ems26::1..10 | Foreach-Object { new-mailbox -Database “Mailbox Database 2″ -Name (”User” + $_) -UserPrincipalName (”User” + $_ + “@exchange2007.lab”) -Password $Pwd }
When I type “ems26″+ENTER in EMS AutoHotKey executable automatically replaces this string with “1..10 | Foreach-Object { new-mailbox -Database “Mailbox Database 2″ -Name (”User” + $_) -UserPrincipalName (”User” + $_ + “@exchange2007.lab”) -Password $Pwd }” and waits. I do my talking and then hit ENTER again to execute the command.
It worked nicely actually. People were impressed with my typing skills ;-) I only encountered one error because I didn’t delete some manually after a test the day before. It even works with shell running inside a VM while the AutoHotKey script is running on my physical computer.
Hundreds of blogs already reported on the release of the beta of Exchange 2010/Exchange 14.
Anyway, here are some resources in case you would want to catch up with the latest messaging bits from Microsoft:
The most important changes:
- SCR, LCR & SCC all dissapear. CCR will be enhanced with multiple replicas of the same database
- Web based management console (on top of PowerShell)
- OWA becomes “Outlook Live”
- Self-service features for the end user: e.g. request membership of a DL
- Premium interface finally supports Firefox (and Safari)
- Gmail like conversation view.
- Role Based Access Control for an even more granular delegation model
- Storage groups are replaced by Availability Groups.
- All mailbox access passes through the CAS servers, adding an extra abstraction layer.
A more extensive write-up of the new E2K10 can be found on simple-talk.com. Some installation guidance can be found on Scott Schnoll’s Blog on the other hand.
Note that the only supported Operating System so far is Windows Server 2008 x64 (no R2!)
Happy testing!
After converting some training videos with SUPER I could successfully watch them from the comfort of my couch via my latest toy; a WD TV HD MediaPlayer.
Session 1: PowerShell v2 (Bart De Smet)
Bart kicked of the last day of this event with a session on PSv2. After outlining the PS mission (as integrated with the OS as bash, as programmatic as Perl/python, as …) he explained the deliverables for PSv2:
- Make it easier to use and learn
- Layer apps on top of PS
- Managed everything, everywhere
The demo’s of Graphical PowerShell, Debugger, new Cmdlets, modules, Native Code and remoting were enough to make me start thinking about installing Win7 on my personal laptop ;-)
Session 2: Sysvol replication – FRS vs. DFS-R (Rhonda Layfield)
Rhonda discussed the strengths and weakness of both FRS (File Replication Service) and DFS-R (Distributed File System – Replication), the benefits of using the latter for sysvol replication and the procedure to migrate from one to the other.
Session 3: Object Recovery in AD (Jorge de Almeida Pinto)
Prior to this session there was a general power cut. The speaker announced a delay of half an hour. But when we returned the presentation had already started. We missed the first couple of slides. Jorge basically covered the solutions for restoring accidentally deleted items from Windows 2000 up to Windows Server 2008 R2, including the new AD Recycle Bin feature.
Session 4: Exchange Server 2007 High Availability (Ilse van Criekinge)
Yet another presentation by Ilse. This time covering Continuous Replication. After uncovering the 4 High Availability methods in Exchange Server 2007 (LCR, SCC, CCR & SCR) she went into a more detailed comparison of SCC (Single Copy Cluster) and CCR (Cluster Continuous Replication).
Last but not least we got into a bit more details about lost log resilience, log roll, reseeding and the transport dumpster.
Session 5: Patching Sharepoint (Sam Hassani)
This session was way to specific for me as I don’t have any particular knowledge about the Product.
Session 6: Network Monitor (Rhonda Layfield)
Rhonda entertained us with with a session about net latest versions of Network Monitor 3.2 & 3.3 beta.
Back to work now…