in reply to Win32::OLE and IIS

The following code should work for you. I prefer to use the "in" method of Win32::OLE (which must be explicitly imported), which really just calls Win32::OLE::Enum->All(). Also, make sure to check the Class property of the objects, because in addition to the IIsWebServer objects, you'll normally get IIsWebInfo and IIsFilters, as well.

#!/usr/bin/perl -w use strict; use Win32::OLE qw(in); my $hostname = shift; my $service = Win32::OLE->GetObject("IIS://$hostname/W3SVC"); for my $server (in $service) { if ($server->{Class} eq "IIsWebServer") { print $server->{ADsPath} . ': ' . $server->{ServerComment} . " +\n"; } }

-jehuni