Converting Exchange 2003 conference rooms to Exchange 2010

I’m wrapping up moving mailboxes to Exchange 2010. The last ones to be moved (except for BlackBerry users… thanks BES) are the conference rooms. So the first step was to move them using the Local Move tool, which was pretty simple. But I don’t want them in 2010 as user mailboxes if they can be designated as “rooms,” which they can. So here’s how I’m doing it:

Identify the mailboxes to be moved

Once you figure out the syntax for the “-Filter” flag to get-mailbox, this is easy

[PS] C:\Windows\system32>get-mailbox -filter { (RecipientTypeDetails -eq "UserMailbox") -and ( DisplayName -like "*conference*") }

Name                      Alias                ServerName       ProhibitSendQuota
----                      -----                ----------       -----------------
Conference Room2          ConferenceRoom2      exch2010be1      unlimited
Production Conference ... productionconf       exch2010be1      unlimited
Conference Room 1         conference1          exch2010be1      unlimited
L&D Conference Room       ldconference         exch2010be1      unlimited
Tech Conference Room      techconference       exch2010be1      unlimited
Client Services Confer... csconference         exch2010be1      unlimited
Suite 202 Conference Room 202conf              exch2010be1      unlimited

Convert them to rooms

As Microsoft says in this story about converting mailboxes to rooms, this can only be done via Exchange Management Shell (not EMC), so just pipe the output from the previous command to Set-Mailbox -Type Room:

[PS] C:\Windows\system32>get-mailbox -filter { (RecipientTypeDetails -eq "UserMailbox") -and ( DisplayName -like "*confe
rence*") } | set-mailbox -type room
[PS] C:\Windows\system32>

Done! Now when you create an appointment in Outlook 2007, in Scheduling Assistant, you can click the “Add Room” button to add a room. Hooray.

Ripping a DVD to iPhone or iPod-compatible m4v for free?

I was stuck somewhere the other day wishing I had the full movie “Cars” on my iPhone. Surprisingly, this is not something you can presently do through iTunes. After some searching I figured out an easy way to do it for free. The two programs you’ll need are good old DVD Decrypter and WinFF. Put DVD Decryptor in IFO mode and set it not to split the .vob files by size (so it rips them to one huge 6+ GB .vob file). Then drag the .vob file onto WinFF (making sure to use the proper preset for iPhone/iPod) and click “Convert.” It’ll take a while but it works. With my first attempt there seem to be some audio/video sync issues but I’ll play around with it.

Also, see this previous post for more info about WinFF and iPhone-compatible video.

One-click converting .avi to .mp4 for iPod or iPhone

After a lot of searching for an easy way to do this, I stumbled onto WinFF, which is a gui wrapper around ffmpeg, a GPL’d MPEG encoder. It worked pretty well out of the box, but for all of the AVIs I’d recorded with my old camera (Canon Powershot A540) it would fail immediately with this error:

Audio resampler only works with 16 bits per sample. patch welcome.

After some searching it seems this is related to a known bug which was apparently fixed in February 2009. I set out to find a newer ffmpeg.exe (which is what WinFF calls to do the actual conversion). I found some Win32 builds of ffmpeg here but found that they all claimed to not know the “libfaac” codec. After some more digging I learned that libfaac (the audio codec for MP4 for iPod/iPhone) is no longer considered free software and was dropped from the repository in mid-April. Fortunately there were older builds available, and I grabbed the one dated 2009-04-01, extracted the ffmpeg.exe into my WinFF directory and voila, it worked.

Old ffmpeg.exe:

C:\Documents and Settings\Evan>"C:\Program Files\WinFF\ffmpeg.exe" -version
FFmpeg version SVN-r15986, Copyright (c) 2000-2008 Fabrice Bellard, et al.
  configuration: --extra-cflags=-fno-common --enable-memalign-hack --enable-pthr
eads --enable-libmp3lame --enable-libxvid --enable-libvorbis --enable-libtheora
--enable-libspeex --enable-libfaac --enable-libgsm --enable-libx264 --enable-lib
schroedinger --enable-avisynth --enable-swscale --enable-gpl
  libavutil     49.12. 0 / 49.12. 0
  libavcodec    52. 6. 0 / 52. 6. 0
  libavformat   52.23. 1 / 52.23. 1
  libavdevice   52. 1. 0 / 52. 1. 0
  libswscale     0. 6. 1 /  0. 6. 1
  built on Dec  3 2008 01:59:37, gcc: 4.2.4
FFmpeg SVN-r15986
libavutil     49.12. 0 / 49.12. 0
libavcodec    52. 6. 0 / 52. 6. 0
libavformat   52.23. 1 / 52.23. 1
libavdevice   52. 1. 0 / 52. 1. 0
libswscale     0. 6. 1 /  0. 6. 1

New ffmpeg.exe:

C:\Documents and Settings\Evan>"C:\Program Files\WinFF\ffmpeg.exe" -version
FFmpeg version SVN-r18306, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --enable-memalign-hack --prefix=/mingw --cross-prefix=i686-ming
w32- --cc=ccache-i686-mingw32-gcc --target-os=mingw32 --arch=i686 --cpu=i686 --e
xtra-cflags=-fno-common --enable-avisynth --enable-gpl --enable-zlib --enable-bz
lib --enable-libgsm --enable-libfaac --enable-pthreads --enable-libvorbis --enab
le-libmp3lame --enable-libopenjpeg --enable-libtheora --enable-libspeex --enable
-libxvid --enable-libfaad --enable-libschroedinger --enable-libx264
  libavutil     50. 2. 0 / 50. 2. 0
  libavcodec    52.22. 3 / 52.22. 3
  libavformat   52.32. 0 / 52.32. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libswscale     0. 7. 1 /  0. 7. 1
  built on Apr  2 2009 03:25:40, gcc: 4.2.4
FFmpeg SVN-r18306
libavutil     50. 2. 0 / 50. 2. 0
libavcodec    52.22. 3 / 52.22. 3
libavformat   52.32. 0 / 52.32. 0
libavdevice   52. 1. 0 / 52. 1. 0
libswscale     0. 7. 1 /  0. 7. 1

This also works great for encoding videos to XviD, which shrinks them to about 10-20% of their original size, making it much faster (in some cases, possible) to upload them to sharing sites.