Windows Script Host

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.
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

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ị. 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. 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. 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).

Ví dụ

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

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. Virus và malware 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. 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.
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.