Hur man aktiverar eller inaktiverar VBScript i Windows efter utfasning

2024 tillkännagav Microsoft planer på att fasa ut stödet förVBScript, ett tidigare populärt Windows-skriptspråk. VBScript-skript är fortfarande populära för automatisering och systemhantering eftersom de är enkla, lätta att använda och har en transparent kodstruktur baserad på Visual Basic. Andra fördelar inkluderar Windows Script Hosts inbyggda Windows-runtime och tolk, samt tillgång till ett omfattande bibliotek med färdiga skript från Microsoft Support och tredjepartsbidragsgivare.

Men på grund av dess äldre arkitektur, många sårbarheter och potential för skadlig användning, rekommenderar Microsoft inte längre att använda VBScript. Med utgivningen avWindows 11 24H2ochWindows Server 2025, VBScript varutfasadoch blev en valfri systemfunktion (Feature on Demand, FoD). Windows 11 25H2 har för närvarande VBScript aktiverat som standard. Men enligt MSFT-färdplanen kommer VBScript att vara inaktiverat som standard i framtida Windows-utgåvor 2027. Därefter kommer denna funktion att tas bort helt från Windows-avbildningen.

Windows-användare kan aktivera eller inaktivera VBScript med hjälp av appen Inställningar. Gå till
Inställningar
->
System
->
Valfria funktioner
->
Visa valfria funktioner
. De
VBSCRIPT
valfri funktion är aktiverad som standard i Windows. Om det behövs kan du inaktivera det härifrån.


Du kan också kontrollera om VBScript-skriptmotorn är installerad på Windows med PowerShell.

Get-WindowsCapability -Online -Name vbs*


För att ta bort VBScript-funktionen, kör följande kommando:

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

Eller använd DISM:

DISM /Online /remove-Capability /CapabilityName:VBScript

För att installera VBscript-funktionen, kör:

DISM /Online /Add-Capability /CapabilityName:VBScript

Eller:
Add-WindowsCapability -Online -Name "VBScript~~~~0.0.1.0"
Om VBScript-tolken saknas kommer filer med filtillägget .vbs att förlora sina associerade körningsmappningar, vilket resulterar i ett fel vid försök att köra något VBS-skript från kommandoraden.

Rekommenderad läsning:Hur man installerar eller tar bort VBScript i Windows 11

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


Ett fel visas om du försöker köra ett VBScript via WScript.exe (grafiskt läge) eller Cscript.exe (konsolläge):
wscript.exe c:windowssystem32slmgr.vbs

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

VBS-skript används fortfarande i stor utsträckning i företagsmiljöer för att automatisera olika uppgifter (särskilt i domän-GPO, automatiserade distributionsskript, SCCM-skript och Task Scheduler-jobb). Microsoft rekommenderar att du migrerar all använd kod till mer moderna skriptspråk, som PowerShell, JavaScript och Python, innan du helt inaktiverar VBScript i Windows.

Innan VBScript inaktiveras globalt i Windows bör administratörer proaktivt granska sina miljöer för att identifiera eventuella uppgifter eller processer som fortfarande är beroende av VBS-skript. Använd
SYSMON
verktyg för att granska händelser relaterade till användningen av VBS-kod på företagsdatorer.

Ladda ner
sysmon64.exe
till en referensdator. Skapa sedan en XML-fil för att logga användningen av vbscript.dll-biblioteket:

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

Spara den här konfigurationen i en XML-fil och installera sedan Sysmon-tjänsten och drivrutinen som övervakar VBS-användningshändelserna.
Sysmon64.exe -i sysmon_settings.xml

Eller körSysmon64.exe -c sysmon_settings.xmlkommando för att uppdatera den aktuella Sysmon-konfigurationen.

Från och med nu kommer en händelse med Event ID 7 (Bild laddad: regel: ImageLoad) att läggas till i Event Viewer varje gång VBScript-skriptmotorn används. Analysera händelser iHändelseViewer ->Ansökningar och Tjänster Loggar->Microsoft->Windows->Sysmon->Operativlåter dig identifiera VBScript-användning på en dator.

Sysmon-loggar kan användas för att identifiera de specifika VBScript-filer som kördes, användaren som initierade dem och när de kördes.

Följande PowerShell-skript frågar händelsevisaren efter händelser som loggar information om filer med tillägget *.VBS: Event ID 1: Process Create (regel: 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
}
}
}

I mitt fall hittade jag flera VBScript-exekveringshändelser på datorn.

Med Sysmon kan du alltså granska VBScript-användningshändelser på företagsdatorer (det är inte nödvändigt att aktivera VBS-revision för alla system samtidigt. Istället bör det begränsas till testgrupper av typiska enheter.). Efter att ha identifierat VBS-skripten i din miljö, utvärdera deras funktionella relevans och bedöm om deras logik kan portas till PowerShell.

Följande är typiska filtillägg som innehåller VBScript-kod:

  • .vbs(VBScript)
  • .vba(Visual Basic för applikation)
  • .wsf(Windows-skriptfil)
  • .wsh(WSH-inställningsfil)

Ett betydande antal VBScript-baserade skript används fortfarande i stor utsträckning i Windows-miljöer. Till exempel. Dessa inkluderar
Windows aktiveringshanteringskommando
(Slmgr.vbs), Microsoft Office-aktiveringsskriptet (
Ospp.vbs
),de
Skript för borttagning av kontor
(Offscrub), verktyget för systeminformationsvisning (
Bginfo
), etc. Eftersom Microsoft inte har tillhandahållit ersättningar för alla befintliga äldre verktyg är det osannolikt att VBScript kommer att fasas ut helt inom en snar framtid. Företagsadministratörer bör dock börja förbereda sig för detta steg i förväg.

Related Posts