25.1 VBScript Limitations and Solutions
Using ADSI from within
WSH is very useful, but it does have certain limitations. For one
thing, you cannot display output on screen in anything other than a
MsgBox or request information from users without
using the InputBox. It is easy to show how these
are lacking. Consider that we wish to write a general script that
adds a user to a single group selected from a list. If we wrote this
under WSH, we would have to list all the groups to the screen in a
large MsgBox (or via a file using Notepad) with
incremental numbers so that each group could be identified. Then the
person running the script would have to remember the number and type
it into an InputBox later so that the request
could be serviced. If there were more than a few dozen groups in
Active Directory, the person running the script would have to go
through a number of screens of groups before being able to see them
all. It would be much simpler just to display a drop-down list box of
all groups and have the user select one. This is not possible under
WSH using VBScript, but it is possible under VB and Active Server
Pages (ASP).
VB provides a full programming environment for your ADSI
applications. ASP provides VBScript with the user-interface
facilities that HTML allows, effectively making your scripts more
user friendly. ASPs are useful for two important reasons. First,
there is a single copy maintained in the organization. Hence, if the
single copy is updated, everyone gets the latest copy on the next
use. This also saves you from version hell—having multiple
versions of a program floating around. Second, no runtime or
design-time licenses are required in the development of such pages,
as is the case when you develop VB applications.
Also, if we publish the web pages on an Internet server rather than
an intranet server, we can make the scripts available to anyone who
has the correct privilege to the script whether he is on our local
network or not. At present you may find it hard to see a need for
being able to manipulate Active Directory from outside the
organization. As Active Directory becomes a larger store for complex
objects, you may find yourself writing pages to interrogate company
databases as well as Active Directory, bringing both sets of
information forward to the user. Web pages also allow you to
prototype or identify a need for a future application. If you find
that your users are making heavy use of the web interface, perhaps it
is time to consider rolling out a proper application. It all depends
on what sort of mechanism you prefer to develop and maintain to let
your users access your Active Directory.
This chapter will describe in detail how to create ASPs using HTML
and ADSI and how to migrate VBScript scripts to simple VB
applications.
While incorporating ADSI scripts into ASPs via HTML is fairly easy,
anyone who is considering using VBScript with HTML pages needs to do
some background reading. This chapter alone barely scratches the
surface and in no way covers HTML in any real depth.
|