Microsoft Windows Script Host (WSH) là một công nghệ tự động của hệ điều hành Microsoft Windows cung cấp các kịch bản thực thi các file batch, nhưng với nhiều tính năng được hỗ trợ. Ban đầu nó được gọi là "Windows Scripting Host", nhưng đã được đổi tên cho bản phát hành thứ hai.

Tập tin:Windows Script Host Icon.png
Icon của Windows Script Host

Nó là ngôn ngữ độc lập ở chỗ nó có thể làm cho việc sử dụng các công cụ ngôn ngữ Active Scripting khác nhau. Theo mặc định, nó diễn giải và chạy văn bản thuần JScript (các file.JS và.JSE) và VBScript (các file.VBS và.VBE).

Người dùng có thể cài đặt công cụ scripts khác nhau để kích hoạt các script trong các ngôn ngữ khác, ví dụ như PerlScript. Ngôn ngữ độc lập với phần mở rộng WSF cũng có thể được dùng. Ưu điểm của Windows Script File (WSF) là nó cho phép người dùng sử dụng một sự kết hợp của ngôn ngữ scripts trong một tập tin duy nhất.

WSH engines hỗ trợ thi hành cho REXX, BASIC, Perl, Ruby, Tcl, PHP, JavaScript, Delphi, Python, XSLT, và một số ngôn ngữ khác.

Windows Script Host phân phối và cài đặt mặc định trên Windows 98 và phiên bản mới nhất của Windows. Nó cũng được cài đặt nếu Internet Explorer 5 (hoặc bản sau) được cài đặt. Bắt đầu từ Windows 2000, Windows Script Host xuất hiện để sử dụng với scripts đăng nhập của người dùng.

Cách sử dụng sửa

Windows Script Host có thể được sử dụng cho nhiều mục đích, Bao gồm các scripts đăng nhập, quản lý và tự động hóa nói chung. Microsoft mô tả nó như là một công cụ quản trị.[1] WSH cung cấp một môi trường để chạy các scripts – Nó sẽ gọi script engine thích hợp và cung cấp một tập hợp các dịch vụ, đối tượng để làm việc với các script.[1] Các script có thể được chạy trong chế độ GUI (WScript.exe) hoặc chế độ dòng lệnh (CScript.exe) cung cấp sự linh hoạt cho người sử dụng với các script tương tác hoặc không tương tác.[2] WSH thực hiện một mô hình đối tượng đưa ra một tập hợp các giao diện Component Object Model (COM).[3]

Ví dụ sửa

Ví dụ đầu tiên là rất đơn giản; nó cho thấy một số VBScript sử dụng các đối tượng gốc COM WSH "WScript" để hiển thị một tin nhắn với một nút 'OK'. Sau khi tung ra kịch bản này, các công cụ CScript hoặc WScript sẽ được gọi và môi trường thời gian chạy được cung cấp.

Nội dung của một file hello0.vbs

WScript.Echo "Hello world"
WScript.Quit

Lập trình WSH cũng có thể sử dụng ngôn ngữ JScript.

Nội dung file hello1.js

WSH.Echo("Hello world");
WSH.Quit();

Hoặc, code có thể được trộn lẫn trong một file SWF, chẳng hạn như VBScript và JScript, hoặc bất kỳ khác: Nội dung của một tập tin hello2.wsf

<job>
<script language="VBScript">
  MsgBox "hello world (from vb)"
</script>
<script language="JScript">
  WSH.echo("hello world (from js)");
</script>
</job>

Lo ngại về An ninh sửa

Các ứng dụng và tiến trình trong Windows có thể được tự động bằng cách sử dụng một script trong Windows Script Host. Virusmalware có thể được viết để khai thác khả năng này. Vì vậy,đã có một số đề nghị vô hiệu hóa nó vì lý do an ninh.[4] Ngoài ra, các chương trình chống virus có thể cung cấp tính năng kiểm soát.vbs và các script khác chạy trong môi trường WSH. Từ phiên bản 5.6 of WSH, các script có thể là Chữ ký số được lập trình bằng cách sử dụng các đối tượng Scripting.Signer trong một script của chính nó, cung cấp mộtchứng thực khóa công khai là có mặt trên hệ thống. Ngoài ra, các công cụ signcode từ SDK Platform, đã được mở rộng để hỗ trợ các định dạng tập WSH, có thể được sử dụng tại các dòng lệnh.[5]

Bằng cách sử dụng Software Restriction Policies được giới thiệu với Windows XP, một hệ thống có thể được cấu hình để thực thi chỉ là những script mà đã có chữ ký số, do đó ngăn ngừa việc thi hành của các kịch bản không đáng tin cậy.[6]

Script engines có sẵn sửa

Tên Ngôn ngữ Phần mở rộng Availability Produced By Tình trạng Thời gian Ghi chú
VBScript Microsoft Visual Basic, Scripting Edition .vbs Cài đặt mặc định Microsoft Cài đặt mặc định 1999
JScript Microsoft JScript .js Cài đặt mặc định Microsoft Cài đặt mặc định 1999
PerlScript Perl .pls với ActiveState Perl ActiveState Mã nguồn mở 1999
ooRexxScript REXX .rxs với Open Object Rexx Open Object Rexx team Mã nguồn mở
PythonScript Python .pys SourceForge The Pywin32 project Mã nguồn mở
TclScript Tcl/Tk .tcls SourceForge ActiveState hoặc bên thứ 3 Mã nguồn mở
ActivePHPScript PHP .phps với PHP PHP team Mã nguồn mở
RubyScript Ruby .rbs with Ruby Ruby team Mã nguồn mở
Object REXX engine Object REXX với IBM Object REXX IBM Thương mại 2002
Delphi scripting engine Delphi Trong một số bản phân phối hoặc gói mã nguồn Delphi Thương mại 2003

Lịch sử các phiên bản sửa

Windows version Shipped with WSH version Last redistributable version
Windows 95 None (separate redistributable) 5.6
Windows NT 4.0 None (separate redistributable) 5.6
Windows 98 1.0 5.6
Windows 2000 2.0 (cũng được gọi là WSH 5.1) 5.7
Windows Me 2.0 (cũng được gọi là WSH 5.1) 5.6
Windows XP, Windows Server 2003 5.6 5.7
Windows Vista, Windows Server 2008, Windows XP SP3 5.7 Không áp dụng
Windows 7, Windows Server 2008 R2 5.8 Không áp dụng

Bản phân phối của WSH 5,6 có thể được cài đặt trên Windows 95/98/Me và Windows NT 4.0/2000. WSH 5,7 là miễn phí cho Windows 2000, Windows XP và Windows Server 2003. Gần đây, các phiên bản phân phối chung cho các hệ thống điều hành cũ hơn (Windows 9x và Windows NT 4.0) không còn có sẵn từ Microsoft Download Center.

Với Windows XP Service Pack 3, bản phát hành 5,7 là không cần thiết vì nó được bao gồm.

Xem thêm sửa

Tham khảo sửa

  1. ^ a b WSH là gì?
  2. ^ Windows Script Host Basics
  3. ^ Windows Script Host Object Model
  4. ^ “Windows Script Host – disabling”. Bản gốc lưu trữ ngày 21 tháng 2 năm 2006. Truy cập ngày 22 tháng 5 năm 2012.
  5. ^ In-depth discussion of the security features in WSH 5.6
  6. ^ Windows Script Host 5.6 Boasts Windows XP Integration, Security, New Object Model

Liên kết ngoài sửa