Using Perl to Automate Exchange 2000 Tasks?
en4ca asks: "We have
recently started using Exchange 2000 on a W2k platform with Active
Directory at work. Previously, we used a mailsystem that could be
easily controlled by command-line paramaters (and hence by perl).
What I wanted to ask was, has anyone used perl to automate boring,
mundane tasks in Exchange like mass creating mailboxes? What did you
use to do this? [code would be very much appreciated] I've tried
using Win32::OLE, but havn't had much success"
With Exchange 2000, you are really looking for the ADSI scripting interface to ActiveDirectory - as the Exchange DS is merged into AD. Check out Microsoft Technet.
"Flyin' in just a sweet place,
Never been known to fail..."
Wow, there haven't been any trolls yet about exchange sucking (tho there was only one message posted so far)! On a different note are there any exchange clients for Linux?
(1) smbmount the C-drive (as /c, say) and then type rm -rf /c
/etc/aliases to contain the appropriate mailboxen. Use perl, use emacs, use sed, use whatever your heart desires.
:)
(2) Edit
(3) Unplug the W2k machine.
(4) ifconfig eth0:1 up
This is what I call 'failover, sunny-side up'
- undoware.ca
Microsoft products are not Turing-complete *on purpose*. This allows MS to have a large pool of missing features that they can code and use to sell future versions. To take your example, mass creating of mailboxes might be implemented in the next version of Exchange, with a peculiar GUI you'll have to learn. When there are too many features, you get an animated assistant to help you find and use what you need.
"Small set of orthogonal tools" vs "10,000 tools for everything you'll ever need" are two styles for two different worlds. The geek world, and the PHB world. Know thyself.
Well, I suppose if you want it to work, you should also call newaliases somewhere in there....
:)
Sigh. Maybe I'm increasing my boss' total cost of ownership after all.....
- undoware.ca
ADSI Scripting For System Administration should give you a starting point.
Vintage computer games and RPG books available. Email me if you're interested.
ADSI edit is one way to twiddle active directory.
You can also get in over LDAP. This can be done nicely from perl with the 'Net::LDAP' module, available under the name 'perl-ldap' from CPAN and with a homepage on sourceforge.
It is a useful interface, the biggest hurdle you are likely to face is authenticating yourself properly to the directory. There may be bits and pieces of example code in the distribution, otherwise do the web search thing and check the mailing list (and archives) for answers.
If you are just moved to exchange then download exmerge, one of the best exchange utility that is free from microsoft. Start using exmerge for backup, recovery and virus removal from database. It has both GUI and config file options.
Have fun.
Just learn how to use Excel and do Exchange Directory Imports for mass-creating of accounts. Much faster than trying to write some ADSI script to do the job. If you set up a good Excel template all you have to do is put their personal info in a column and Excel can generate the Primary NT Account and Directory Name for you as long as you use sane naming conventions.
If it works well, then you can read MS docs to figure out what kind of COM interfaces are exposed by Exchange, and work from there.