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`

```vb
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`

```javascript
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 `

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

## Script engines có sẵn

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

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
*HTML Components
*JScript.NET
*Microsoft Script Debugger
*Shell script
*Windows PowerShell

## Tham khảo

## Liên kết ngoài
*WSH Primer trên Microsoft TechNet – Bắt đầu với WSH
*Trang chủ WSH tại MSDN
*WSH Reference
*Ghi chú phân phối của Windows Script 5.7