Introduction
So
what is special about these technologies that they should be looked at
separately? Frankly speaking, the answer to this question lies in the title of
this article; being the most popular operating system, Windows gets special
attention from its users.
Although
script technologies are often cross-platform, it doesn’t down-grade their
interest, value and attractiveness. I’d rather say, the situation is even quite
opposite. But let’s not run before the hounds and speak about the technologies
themselves. And after that we’ll classify them and decide what exactly in each
of them troubles the user.
Batch files
Batch files were the
pioneers among script technologies available for Windows-users. Specifically,
they became available even before the creation of Windows, in DOS-deep times.
And as POSIX system fans like to notice nowadays, their founding fathers were
aspired by the shell scripts that have become wide-spread in UNIX.
Nevertheless, it’s not that important to know what exactly inspired the
programmers to create such a popular and useful technology which made the
users’ lives easier in the times when fast typing was a vital skill for
everyone.
The years went by. Batch files became obsolescent, and Windows
developers offered more powerful and more sophisticated script technologies.
But none of them could fully substitute batch files. Why? Batch files
are thought to be a live continuation of command line which is used both by
simple users and system administrators. That is why the Microsoft corporation
is still releasing command line utility suits that can be used in batch files automation, and it doesn’t plan
to put out batch files support in
its future system versions to promote more powerful and advanced technologies.
Nowadays, batch files have a number of advantages over
other script technologies. First, it’s easy to create them. Actually, providing
that you’re not trying to solve a tricky problem with batch files, the batch file
itself consists of ten lines where you write commands or call command line
utilities. Anyone can create batch file, and if you use some specific utilities
like Dr. Batcher (http://www.drbatcher.com) the whole process becomes even simpler.
The second advantage is its portability. If you don’t use specific commands or
utilities that work only under certain system versions, your batch file can run in all Windows versions. But of course, if to try implementing complex
automation with batch files, you can
be disappointed as they’ve been designed for solving comparatively small
automation problems.
KiXtart
This
script language was developed by a member of the dutch Microsoft division and
initially was designed to automize the users’ work with Microsoft LAN Manager.
But much water has flowed under the bridges since then and today KiXtart (www.kixtart.org) is a totally independent script language that interacts with
COM-objects and, therefore, with such COM-based technologies as ADSI, ADO, and
WMI. One of the most pleasant things of KiXtart is its FiXforms library which
gives you the possibility of creating a fully functional graphical user interface.
Moreover, opposed to batch files,
KiXtart was initially tailored for more complex tasks and, therefore, it can
carry out custom functions that are wide-spread over the Internet. So among the
major advantages of this technology are GUI support, and a flexible combination
of simplicity and power that attracts both real users and system
administrators.
Active Scripting
In
contrast to KiXtrat, this technology implies the use of completely different
programming languages and natively proposes VBScript and Jscript. Usually the
end-user deals with Active Scripting using the possibilities of Windows Script
Host (WSH). First it appeared in Windows’98 and has been used very actively
since.
Of
course, Active Scripting provides broader options than batch files. Languages used in script
writing handle with objects and give access to COM-based technologies. With WSH
you can use login-scripts, manipulate the registry, and do a lot of other
useful and interesting things. It isn’t that you can’t do all this with batch files, but by using Active Scripting
you don’t have to bend your mind that hard. And also it doesn’t require deep
knowledge of both the language and other third-party tools.
In
addition to VBScript and Jscript, Active Scripting supports other languages used
in other platforms and popular among Windows system administrators. I’m sure
you’ve heard of such software programmes as ActivePerl, ActivePython,
ActivePHP... Yes, they are the very implementations of well-known script
programming languages compatible with Active Scripting. This feature of Active
Scripting technology happens to be the most attractive as everyone has their
own preferences in the context of programming languages, and such kind of
democracy that let you use your favourite language is definitely heartily
welcomed by users.
As
for the tools that make possible script writing over Active Scripting, there
are lots of them. And each programming language has its own tools. As the most
popular scripting language for Active Scripting is the Windows native VBScript,
then most applications you’ll find will be VBScript applications. To my mind,
one of the most handy editors is VBSEdit. But of course it doesn’t mean that some
another similar software product won’t suit your taste.
Windows PowerShell
Just as Active
Scripting replaced batch files (well, it didn’t fully replace them; it’s rather
become a more powerful and professional add-on), so too PowerShell changed
Active Scripting. Microsoft actively promotes a new script technology and it
has acquired quite a good reputation among users and system administrators.
While Active Scripting
is COM-based, in PowerShell the next generation of Microsoft technologies is
used, that is .NET. Among PowerShell scripts you can turn to .NET instances
just as you turned to COM objects. By the way, it doesn’t mean that you can’t
use COM objects anymore. PowerShell scripts are based on cmdlets. Practically,
these are small sections of a code or even complete programmes that implement
some located and separate task. Despite their essence, cmdlets can be of a
different nature. Some of them may be Windows native program files, others –
PowerShell scripts or even COM- and .NET –objects methods.
All in all, PowerShell
does have a number of significant advantages over Active Scripting. In some way
these advantages are provided by .NET platform and Microsoft .NET Framework
libraries, and in another they lie in the possibilities
of PowerShell script platform itself. On
the whole, we can say that PowerShell successfully pushes VBScript and other
languages out, but it isn’t likely to completely replace batch files as they are in different leagues and
go together quite peacefully.
What concerns tools for editing PowerShell scripts,
they are also numerous. Besides already mentioned AdminScriptEditor, there
exist such tool as PowerShellAnalyzer and PowerGUI.
Other script technologies
Certainly, there are other
non-specific for Windows script technologies which are popular among system
administrators and users to this or that degree. Some of them also transferred
from other platforms but were not of interest to ActiveState company that
adjusted many script languages to Active Scripting. Some of them were created
by enthusiasts and commercial companies… So, there are lots of script
technologies and we can’t look at all of them. We’ll just name them but won’t
go into details.
Summary
So which one of Windows script
technologies is the best? It’s difficult to say. Even after enumerating the
peculiarities each of them. It is because they are rather different, and each
one has its own advantages and disadvantages. It’s irrational to automize a
simple task with Windows PowerShell, but it’s silly to turn to batch files for
a complex automation either. So we can say that each technology is appropriate
in its own field of use.
Roger
Vadey
No comments:
Post a Comment