![]
ในปี 2024 Microsoft ได้ประกาศแผนการที่จะยุติการสนับสนุน VBScript ซึ่งเป็นภาษาสคริปต์ Windows ที่ได้รับความนิยมในอดีต สคริปต์ VBScript ยังคงได้รับความนิยมสำหรับการทำงานอัตโนมัติและการจัดการระบบ เนื่องจากมีความเรียบง่าย ใช้งานง่าย และมีโครงสร้างโค้ดที่โปร่งใสตาม Visual Basic ข้อดีอื่นๆ ได้แก่ รันไทม์และล่าม Windows ในตัวของ Windows Script Host ตลอดจนการเข้าถึงไลบรารีสคริปต์สำเร็จรูปมากมายจากฝ่ายสนับสนุนของ Microsoft และผู้สนับสนุนจากบุคคลที่สาม
อย่างไรก็ตาม เนื่องจากสถาปัตยกรรมแบบเดิม มีช่องโหว่มากมาย และอาจนำไปใช้ในทางที่ผิด Microsoft จึงไม่แนะนำให้ใช้ VBScript อีกต่อไป ด้วยการเปิดตัวของ
วินโดว์ 11 24H2
และ
วินโดวส์เซิร์ฟเวอร์ 2025
, VBScript เลิกใช้แล้วและกลายเป็นฟีเจอร์เสริมของระบบ (ฟีเจอร์ออนดีมานด์, FoD) ปัจจุบัน Windows 11 25H2 เปิดใช้งาน VBScript เป็นค่าเริ่มต้น อย่างไรก็ตาม ตามแผนงานของ MSFT นั้น VBScript จะถูกปิดใช้งานโดยค่าเริ่มต้นใน Windows รุ่นต่อๆ ไปในปี 2570 หลังจากนั้น คุณลักษณะนี้จะถูกลบออกจากอิมเมจ Windows โดยสิ้นเชิง
![]
ผู้ใช้ Windows สามารถเปิดหรือปิดใช้งาน VBScript ได้โดยใช้แอปการตั้งค่า ไปที่การตั้งค่า -> ระบบ -> คุณสมบัติเสริม -> ดูคุณสมบัติเสริม คุณลักษณะเสริม VBSCRIPT ถูกเปิดใช้งานตามค่าเริ่มต้นใน Windows หากจำเป็น คุณสามารถปิดการใช้งานได้จากที่นี่
![]
คุณยังสามารถตรวจสอบว่ามีการติดตั้งกลไกการเขียนสคริปต์ VBScript บน Windows โดยใช้ PowerShell หรือไม่
รับ WindowsCapability-ออนไลน์ชื่อ vbs*
![]
หากต้องการลบคุณลักษณะ VBScript ให้รันคำสั่งต่อไปนี้:
ลบ-WindowsCapability-ออนไลน์-ชื่อ "VBScript~~~~0.0.1.0"
หรือใช้ DISM:
DISM/ออนไลน์/ลบความสามารถ/ชื่อความสามารถ:VBScript
หากต้องการติดตั้งคุณสมบัติ VBscript ให้รัน:
DISM/ออนไลน์/เพิ่มความสามารถ/ชื่อความสามารถ:VBScript
ผู้ใช้ Windows สามารถเปิดหรือปิดใช้งาน VBScript ได้โดยใช้แอปการตั้งค่า ไปที่->->-> คุณลักษณะเสริมจะเปิดใช้งานตามค่าเริ่มต้นใน Windows หากจำเป็น คุณสามารถปิดการใช้งานได้จากที่นี่ คุณยังสามารถตรวจสอบว่ามีการติดตั้งเอ็นจิ้นการเขียนสคริปต์ VBScript บน Windows โดยใช้ PowerShell หรือไม่ หากต้องการลบคุณสมบัติ VBScript ให้รันคำสั่งต่อไปนี้: หรือใช้ DISM: หากต้องการติดตั้งคุณสมบัติ VBscript ให้รัน:
หรือ:
เพิ่ม WindowsCapability ออนไลน์ชื่อ "VBScript~~~~0.0.1.0"
หากไม่มีล่าม VBScript ไฟล์ที่มีนามสกุล .vbs จะสูญเสียการแมปการดำเนินการที่เกี่ยวข้อง ส่งผลให้เกิดข้อผิดพลาดเมื่อพยายามเรียกใช้สคริปต์ VBS ใดๆ จากบรรทัดคำสั่ง
Program 'slmgr.vbs' failed to run: No application is associated with the specified file for this operation.

ข้อผิดพลาดจะปรากฏขึ้นหากคุณพยายามเรียกใช้ VBScript ผ่าน WScript.exe (โหมดกราฟิก) หรือ Cscript.exe (โหมดคอนโซล):
wscript.exe c:\windows\system32\slmgr.vbs
Windows Script HostThere is no script engine for file extension ".vbs"

สคริปต์ VBS ยังคงใช้กันอย่างแพร่หลายในสภาพแวดล้อมขององค์กรเพื่อดำเนินงานต่างๆ โดยอัตโนมัติ (โดยเฉพาะอย่างยิ่งใน GPO ของโดเมน สคริปต์การปรับใช้อัตโนมัติ สคริปต์ SCCM และงาน Task Scheduler) Microsoft แนะนำให้ย้ายโค้ดที่ใช้ทั้งหมดไปเป็นภาษาสคริปต์สมัยใหม่ เช่น PowerShell, JavaScript และ Python ก่อนที่จะปิดใช้งาน VBScript ใน Windows โดยสิ้นเชิง
ก่อนที่ VBScript จะถูกปิดการใช้งานทั่วโลกใน Windows ผู้ดูแลระบบควรตรวจสอบสภาพแวดล้อมในเชิงรุกเพื่อระบุงานหรือกระบวนการใดๆ ที่ยังคงต้องใช้สคริปต์ VBS ใช้เครื่องมือ SYSMON เพื่อตรวจสอบเหตุการณ์ที่เกี่ยวข้องกับการใช้โค้ด VBS บนคอมพิวเตอร์ขององค์กร
ดาวน์โหลด
<Sysmon schemaversion="4.50"><EventFiltering><!-- Tracking the loading of vbscript.dll --><ImageLoad onmatch="include"><ImageLoaded condition="contains">vbscript.dll</ImageLoaded></ImageLoad></EventFiltering></Sysmon>
ก่อนที่ VBScript จะถูกปิดการใช้งานทั่วโลกใน Windows ผู้ดูแลระบบควรตรวจสอบสภาพแวดล้อมในเชิงรุกเพื่อระบุงานหรือกระบวนการใดๆ ที่ยังคงต้องใช้สคริปต์ VBS ใช้เครื่องมือเพื่อตรวจสอบเหตุการณ์ที่เกี่ยวข้องกับการใช้รหัส VBS บนคอมพิวเตอร์ขององค์กร ดาวน์โหลด sysmon64.exe ไปยังคอมพิวเตอร์อ้างอิง ถัดไป สร้างไฟล์ XML เพื่อบันทึกการใช้งานไลบรารี vbscript.dll:
บันทึกการกำหนดค่านี้ลงในไฟล์ XML จากนั้นติดตั้งบริการ Sysmon และไดรเวอร์อุปกรณ์ที่จะตรวจสอบเหตุการณ์การใช้งาน VBS
Sysmon64.exe-i sysmon\_settings.xml

หรือรันคำสั่ง Sysmon64.exe-c sysmon\_settings.xml เพื่ออัพเดตการกำหนดค่า Sysmon ปัจจุบัน
จากนี้ไป เหตุการณ์ที่มี Event ID 7 (โหลดรูปภาพ: กฎ: ImageLoad) จะถูกเพิ่มไปยัง Event Viewer ทุกครั้งที่มีการใช้สคริปต์ VBScript การวิเคราะห์เหตุการณ์ใน Event Viewer-> Applications and Services Logs-> Microsoft-> Windows-> Sysmon-> Operational ช่วยให้คุณสามารถระบุการใช้งาน VBScript บนคอมพิวเตอร์ได้
บันทึกของ Sysmon สามารถใช้เพื่อระบุไฟล์ VBScript ที่ถูกเรียกใช้งาน ผู้ใช้ที่เริ่มต้นไฟล์ และเวลาที่ถูกเรียกใช้งาน

สคริปต์ PowerShell ต่อไปนี้สอบถาม Event Viewer สำหรับเหตุการณ์ที่บันทึกข้อมูลเกี่ยวกับไฟล์ที่มีนามสกุล *.VBS: รหัสเหตุการณ์ 1: กระบวนการสร้าง (กฎ: ProcessCreate )
` รับ WinEvent-FilterHashtable @ {LogName = ‘Microsoft-Windows-Sysmon/Operational’; รหัส=1} | สำหรับแต่ละวัตถุ {
$xml=xml$_.ToXml()
$processPath=$xml.Event.EventData.Data | โดยที่วัตถุ {$_.Name-eq ‘รูปภาพ’} | เลือก-วัตถุ-ExpandProperty ‘#text’$commandLine=$xml.Event.EventData.Data | โดยที่วัตถุ {$_.Name-eq ‘CommandLine’} | เลือก-Object-ExpandProperty ‘#text’if ($commandLine เหมือน ‘.vbs') {
PSCustomObject@{
TimeCreated=$_.TimeCreated
ProcessPath=$processPath
CommandLine=$commandLine
-
-
- ในกรณีของฉัน ฉันพบเหตุการณ์การดำเนินการ VBScript หลายเหตุการณ์บนคอมพิวเตอร์
-

ดังนั้น เมื่อใช้ Sysmon คุณสามารถตรวจสอบเหตุการณ์การใช้งาน VBScript บนคอมพิวเตอร์ขององค์กรได้ (ไม่จำเป็นต้องเปิดใช้งานการตรวจสอบ VBS สำหรับทุกระบบพร้อมกัน แต่ควรจำกัดไว้เฉพาะกลุ่มทดสอบของอุปกรณ์ทั่วไปเท่านั้น) หลังจากระบุสคริปต์ VBS ในสภาพแวดล้อมของคุณแล้ว ให้ประเมินความเกี่ยวข้องของฟังก์ชันและประเมินว่าตรรกะของสคริปต์เหล่านั้นสามารถย้ายไปยัง PowerShell ได้หรือไม่
-
.vbs(VBScript) -
.vba(Visual Basic สำหรับแอปพลิเคชัน) -
.wsf(ไฟล์สคริปต์ Windows) -
.wsh(ไฟล์การตั้งค่า WSH)
ต่อไปนี้เป็นนามสกุลไฟล์ทั่วไปที่มีโค้ด VBScript:
สคริปต์ที่ใช้ VBScript จำนวนมากยังคงใช้กันอย่างแพร่หลายในสภาพแวดล้อม Windows ตัวอย่างเช่น. เหล่านี้ได้แก่
สคริปต์ที่ใช้ VBScript จำนวนมากยังคงใช้กันอย่างแพร่หลายในสภาพแวดล้อม Windows ตัวอย่างเช่น. ซึ่งรวมถึงคำสั่งการจัดการการเปิดใช้งาน Windows (Slmgr.vbs), สคริปต์การเปิดใช้งาน Microsoft Office ( Ospp.vbs ), สคริปต์การลบ Office (Offscrub), เครื่องมือแสดงข้อมูลระบบ ( Bginfo ) ฯลฯ เนื่องจาก Microsoft ไม่ได้จัดเตรียมการทดแทนสำหรับเครื่องมือรุ่นเก่าทั้งหมดที่มีอยู่ จึงไม่น่าเป็นไปได้ที่ VBScript จะเลิกใช้โดยสิ้นเชิงในอนาคตอันใกล้นี้ อย่างไรก็ตาม ผู้บริหารองค์กรควรเริ่มเตรียมความพร้อมสำหรับขั้นตอนนี้ล่วงหน้า
*️⃣ ลิงค์ที่มา:
, sysmon64.exe , สคริปต์ PowerShell สอบถาม Event Viewer, , , , , คำสั่งการจัดการการเปิดใช้งาน Windows, Ospp.vbs, สคริปต์การลบ Office, Bginfo,