Cum să activați sau să dezactivați VBScript în Windows după depreciere

În 2024, Microsoft a anunțat planuri de a elimina treptat suportul pentruVBScript, un limbaj de scripting Windows popular anterior. Scripturile VBScript rămân populare pentru automatizare și managementul sistemului, deoarece sunt simple, ușor de utilizat și au o structură de cod transparentă bazată pe Visual Basic. Alte avantaje includ runtime-ul și interpretul Windows încorporat pentru Windows Script Host, precum și accesul la o bibliotecă extinsă de scripturi gata făcute de la Microsoft Support și colaboratori terți.

Cu toate acestea, datorită arhitecturii sale moștenite, a numeroaselor vulnerabilități și a potențialului de utilizare rău intenționată, Microsoft nu mai recomandă utilizarea VBScript. Odată cu eliberarea luiWindows 11 24H2şiWindows Server 2025, VBScript a fostdepreciatși a devenit o caracteristică opțională a sistemului (Feature on Demand, FoD). Windows 11 25H2 are VBScript activat în mod implicit. Cu toate acestea, conform foii de parcurs MSFT, VBScript va fi dezactivat implicit în viitoarele versiuni Windows în 2027. După aceea, această caracteristică va fi complet eliminată din imaginea Windows.

Utilizatorii Windows pot activa sau dezactiva VBScript folosind aplicația Setări. Du-te la
Setări
->
Sistem
->
Caracteristici opționale
->
Vedeți caracteristicile opționale
. The
VBSCRIPT
caracteristica opțională este activată implicit în Windows. Dacă este necesar, îl puteți dezactiva de aici.


De asemenea, puteți verifica dacă motorul de scripting VBScript este instalat pe Windows folosind PowerShell.

Get-WindowsCapability -Online -Name vbs*


Pentru a elimina caracteristica VBScript, executați următoarea comandă:

Remove-WindowsCapability -Online -Name "VBScript~~~~0.0.1.0"

Sau folosiți DISM:

DISM /Online /remove-Capability /CapabilityName:VBScript

Pentru a instala caracteristica VBscript, rulați:

DISM /Online /Add-Capability /CapabilityName:VBScript

Sau:
Add-WindowsCapability -Online -Name "VBScript~~~~0.0.1.0"
Dacă interpretorul VBScript lipsește, fișierele cu extensia .vbs își vor pierde mapările de execuție asociate, rezultând o eroare la încercarea de a rula orice script VBS din linia de comandă.

Lectură recomandată:Cum se instalează sau se elimină VBScript în Windows 11

Program 'slmgr.vbs' failed to run: No application is associated with the specified file for this operation.


Va apărea o eroare dacă încercați să rulați un VBScript prin WScript.exe (modul grafic) sau Cscript.exe (modul consolă):
wscript.exe c:windowssystem32slmgr.vbs

Windows Script Host
There is no script engine for file extension ".vbs"

Scripturile VBS sunt încă utilizate pe scară largă în mediile corporative pentru a automatiza diverse sarcini (în special în GPO-uri de domeniu, scripturi de implementare automată, scripturi SCCM și joburi Task Scheduler). Microsoft recomandă migrarea întregului cod folosit în limbaje de script mai moderne, cum ar fi PowerShell, JavaScript și Python, înainte de a dezactiva complet VBScript în Windows.

Înainte ca VBScript să fie dezactivat la nivel global în Windows, administratorii ar trebui să-și auditeze în mod proactiv mediile pentru a identifica toate sarcinile sau procesele care se bazează în continuare pe scripturile VBS. Utilizați
SYSMON
instrument de auditare a evenimentelor legate de utilizarea codului VBS pe computerele corporative.

Descărcați
sysmon64.exe
la un computer de referință. Apoi, creați un fișier XML pentru a înregistra utilizarea bibliotecii vbscript.dll:

<Sysmon schemaversion="4.50">
<EventFiltering>
<!-- Tracking the loading of vbscript.dll -->
<ImageLoad onmatch="include">
<ImageLoaded condition="contains">vbscript.dll</ImageLoaded>
</ImageLoad>
</EventFiltering>
</Sysmon>

Salvați această configurație într-un fișier XML și apoi instalați serviciul Sysmon și driverul de dispozitiv care va monitoriza evenimentele de utilizare VBS.
Sysmon64.exe -i sysmon_settings.xml

Sau, rulațiSysmon64.exe -c sysmon_settings.xmlcomandă pentru a actualiza configurația curentă Sysmon.

De acum înainte, un eveniment cu Event ID 7 (Imagine încărcată: regulă: ImageLoad) va fi adăugat la Vizualizatorul de evenimente de fiecare dată când este utilizat motorul de scripting VBScript. Analizând evenimentele dinEvenimentVizualizator ->Aplicații şi Servicii Bușteni->Microsoft->Windows->Sysmon->Operaționalvă permite să identificați utilizarea VBScript pe un computer.

Jurnalele Sysmon pot fi folosite pentru a identifica fișierele VBScript specifice care au fost executate, utilizatorul care le-a inițiat și când au fost executate.

Următorul script PowerShell interogează Vizualizatorul de evenimente pentru evenimente care înregistrează informații despre fișierele cu extensia *.VBS: ID eveniment 1: Process Create (regulă: ProcessCreate)

Get-WinEvent -FilterHashtable @{LogName="Microsoft-Windows-Sysmon/Operational"; Id=1} | ForEach-Object {
$xml = [xml]$_.ToXml()
$processPath = $xml.Event.EventData.Data | Where-Object {$_.Name -eq 'Image'} | Select-Object -ExpandProperty '#text'
$commandLine = $xml.Event.EventData.Data | Where-Object {$_.Name -eq 'CommandLine'} | Select-Object -ExpandProperty '#text'
if ($commandLine -like '*.vbs*') {
[PSCustomObject]@{
TimeCreated = $_.TimeCreated
ProcessPath = $processPath
CommandLine = $commandLine
}
}
}

În cazul meu, am găsit mai multe evenimente de execuție VBScript pe computer.

Astfel, folosind Sysmon, puteți audita evenimentele de utilizare a VBScript pe computerele corporative (nu este necesar să activați auditarea VBS pentru toate sistemele simultan. În schimb, ar trebui să fie limitat la testarea grupurilor de dispozitive tipice.). După identificarea scripturilor VBS din mediul dvs., evaluați relevanța lor funcțională și evaluați dacă logica lor poate fi portată în PowerShell.

Următoarele sunt extensii tipice de fișiere care conțin cod VBScript:

  • .vbs(VBScript)
  • .vba(Visual Basic pentru aplicare)
  • .wsf(Fișier Script Windows)
  • .wsh(Fișier de setări WSH)

Un număr semnificativ de scripturi bazate pe VBScript sunt încă utilizate pe scară largă în mediile Windows. De exemplu. Acestea includ
Comanda de gestionare a activării Windows
(Slmgr.vbs), scriptul de activare Microsoft Office (
Ospp.vbs
), cel
Scripturi de eliminare Office
(Offscrub), instrumentul de afișare a informațiilor de sistem (
Bginfo
), etc. Deoarece Microsoft nu a furnizat înlocuitori pentru toate instrumentele vechi existente, este puțin probabil ca VBScript să fie complet depreciat în viitorul apropiat. Cu toate acestea, administratorii corporativi ar trebui să înceapă să se pregătească pentru acest pas din timp.

Related Posts