Excellent tutorial -- thanks for explaning the code instead of just tossing it out there.
I had one problem. Based on the example, I wrote the following line (entry is a DirectoryEntry object returned from a search):
entry.Properties(propName)(0) = newValue
This line fails with System.NotSupportedException
However, changing it to this made it work:
entry.Properties(propName).Value = newValue
Weird, huh. Could it be because the particular property name I was trying to update ("l" aka City) does not support multiple values?