I 2024 annoncerede Microsoft planer om at udfase support tilVBScript, et tidligere populært Windows-scriptsprog. VBScript-scripts forbliver populære til automatisering og systemstyring, fordi de er enkle, nemme at bruge og har en gennemsigtig kodestruktur baseret på Visual Basic. Andre fordele omfatter Windows Script Hosts indbyggede Windows-runtime og -fortolker samt adgang til et omfattende bibliotek af færdiglavede scripts fra Microsoft Support og tredjepartsbidragydere.
Men på grund af dens gamle arkitektur, adskillige sårbarheder og potentiale for ondsindet brug, anbefaler Microsoft ikke længere at bruge VBScript. Med udgivelsen afWindows 11 24H2ogWindows Server 2025, VBScript varforældetog blev en valgfri systemfunktion (Feature on Demand, FoD). Windows 11 25H2 har i øjeblikket VBScript aktiveret som standard. Ifølge MSFT-køreplanen vil VBScript dog som standard være deaktiveret i fremtidige Windows-udgivelser i 2027. Herefter vil denne funktion blive fuldstændig fjernet fra Windows-billedet.

Windows-brugere kan aktivere eller deaktivere VBScript ved hjælp af appen Indstillinger. Gå til
Indstillinger
->
System
->
Valgfri funktioner
->
Se valgfrie funktioner
. De
VBSCRIPT
valgfri funktion er aktiveret som standard i Windows. Hvis det er nødvendigt, kan du deaktivere det herfra.


Du kan også kontrollere, om VBScript-scriptmotoren er installeret på Windows ved hjælp af PowerShell.
Get-WindowsCapability -Online -Name vbs*


For at fjerne VBScript-funktionen skal du køre følgende kommando:
Remove-WindowsCapability -Online -Name "VBScript~~~~0.0.1.0"
Eller brug DISM:
DISM /Online /remove-Capability /CapabilityName:VBScript
For at installere VBscript-funktionen skal du køre:
DISM /Online /Add-Capability /CapabilityName:VBScript
Eller:Add-WindowsCapability -Online -Name "VBScript~~~~0.0.1.0"
Hvis VBScript-fortolkeren mangler, vil filer med filtypenavnet .vbs miste deres tilknyttede eksekveringstilknytninger, hvilket resulterer i en fejl ved forsøg på at køre et hvilket som helst VBS-script fra kommandolinjen.
Anbefalet læsning:Sådan installeres eller fjernes VBScript i Windows 11
Program 'slmgr.vbs' failed to run: No application is associated with the specified file for this operation.


Der vises en fejl, hvis du prøver at køre et VBScript via WScript.exe (grafisk tilstand) eller Cscript.exe (konsoltilstand):wscript.exe c:windowssystem32slmgr.vbs
Windows Script Host There is no script engine for file extension ".vbs"


VBS-scripts er stadig meget brugt i virksomhedsmiljøer til at automatisere forskellige opgaver (især i domæne-GPO'er, automatiserede implementeringsscripts, SCCM-scripts og Task Scheduler-job). Microsoft anbefaler at migrere al brugt kode til mere moderne scriptsprog, såsom PowerShell, JavaScript og Python, før du helt deaktiverer VBScript i Windows.
Før VBScript deaktiveres globalt i Windows, bør administratorer proaktivt auditere deres miljøer for at identificere opgaver eller processer, der stadig er afhængige af VBS-scripts. Brug
SYSMON
værktøj til at revidere hændelser relateret til brugen af VBS-kode på virksomhedscomputere.
Download
sysmon64.exe
til en referencecomputer. Opret derefter en XML-fil for at logge brugen af 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>
Gem denne konfiguration i en XML-fil, og installer derefter Sysmon-tjenesten og enhedsdriveren, der overvåger VBS-brugsbegivenhederne.Sysmon64.exe -i sysmon_settings.xml

Eller kørSysmon64.exe -c sysmon_settings.xmlkommando for at opdatere den aktuelle Sysmon-konfiguration.
Fra nu af vil en begivenhed med Event ID 7 (Billede indlæst: regel: ImageLoad) blive tilføjet til Event Viewer, hver gang VBScript scripting-motoren bruges. Analyse af begivenheder iTilfældeSeer ->Ansøgninger og Tjenester Logs->Microsoft->Windows->Sysmon->Operationelgiver dig mulighed for at identificere VBScript-brug på en computer.
Sysmon-logfiler kan bruges til at identificere de specifikke VBScript-filer, der blev udført, den bruger, der startede dem, og hvornår de blev udført.

Følgende PowerShell-script forespørger i Event Viewer for hændelser, der logger oplysninger om filer med filtypenavnet *.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 mit tilfælde fandt jeg flere VBScript-udførelseshændelser på computeren.

Ved hjælp af Sysmon kan du således revidere VBScript-brugsbegivenheder på virksomhedscomputere (det er ikke nødvendigt at aktivere VBS-revision for alle systemer samtidigt. I stedet bør det begrænses til testgrupper af typiske enheder.). Efter at have identificeret VBS-scripts i dit miljø, skal du evaluere deres funktionelle relevans og vurdere, om deres logik kan overføres til PowerShell.
Følgende er typiske filtypenavne, der indeholder VBScript-kode:
.vbs(VBScript).vba(Visual Basic til applikation).wsf(Windows Script-fil).wsh(WSH indstillingsfil)
Et betydeligt antal VBScript-baserede scripts er stadig meget brugt på tværs af Windows-miljøer. F.eks. Disse omfatter
Windows aktiveringsstyringskommando
(Slmgr.vbs), Microsoft Office-aktiveringsscriptet (
Ospp.vbs
),de
Scripts til fjernelse af kontor
(Offscrub), systeminformationsvisningsværktøjet (
Bginfo
), osv. Da Microsoft ikke har leveret erstatninger til alle eksisterende ældre værktøjer, er det usandsynligt, at VBScript vil blive fuldstændigt udfaset i den nærmeste fremtid. Virksomhedsadministratorer bør dog begynde at forberede sig på dette trin på forhånd.















