Windows update - Geen WMCI meer

anton44

Verenigingslid
Lid geworden
20 mei 2005
Berichten
1.826
Met de update 2026-08 Preview-update (KB5120998) (26200.9278) verdween bij mij de interne opdracht WMCI
Dit commando gebruik ik in een batch bestand op de huidige datum te generen.
Hieronder het relevante deel van de instructie.
Ik lees dat WMCI toe te voegen is aan het besturingssysteem als een optionele toepassing maar zowel een poging via systeem-addiotionele toepassingen als middels instructie in Powershell (als adm) lukt het in mijn systeem niet.
Ook lees ik dat wegens de gevoelingheid voor allerlei ongewenste inbreuken WMCI helemaal zal verdwijnen.

Nu mijn vraag:
Is de instructie met WMCI in mijn batch bestand om te zetten naar een andere zonder WMCI om DayOfWeek te genereren?

Code:
echo:
FOR /F %%I IN ('WMIC path win32_localtime get DayOfWeek /format:list^|FINDSTR "="') DO SET _%%I
FOR /F "tokens=1 delims==" %%I IN ('set _^|FINDSTR /R "^_[DHMS][aoie][^k]*$"') DO SET %%I=0!%%I!&SET %%I=!%%I:~-3!
:: Display the day of week  DayOfWeek (0=zondag, 1=maandag etc)
ECHO   Weekdag = %_DayOfWeek%
if %_DayOfWeek% == 0 goto 2
if %_DayOfWeek% == 1 goto 1
if %_DayOfWeek% == 2 goto 2
if %_DayOfWeek% == 3 goto 1
if %_DayOfWeek% == 4 goto 2
if %_DayOfWeek% == 5 goto 1
if %_DayOfWeek% == 6 goto 1
echo:
 
Dit geeft de dagnaam terug:
Code:
@echo off
for /f %%i in ('powershell ^(get-date^).DayOfWeek') do set _DayOfWeek=%%i
echo %_DayOfWeek%
 
@edmoor,
Bedankt voor je snelle reactie.
Uiteraard direct gaan testen en waarschijnlijk maar een klein probleempje. ondanks mijn toevoegen van het pad.
set path ="c:\Windows\SysWOW64\WindowsPowerShell\v1.0\"

Screen-20260828_1047-07.webp
 
Je hoeft path helemaal niet te zetten.
Gewoon standaard laten.
Nu vervang je het hele path door alleen wat je daar opgeeft.
 
Ik had het pad pas toegevoegd nadat ik de eerste keer de getoonde foutmelding kreeg.
Nu weer verwijderd en de foutmelding blijft
 
Werkt hier zonder enig probleem.
Op de plek van echo Friday staat uiteraard echo %_DayOfWeek%

1787907647610.webp
 
Ook als ik je opgegeven code in een nieuw batch bestand plaats wordt het probleem getoond.

Een test in cmd geeft bij mij.
Screen-20260828_1103-08.webp
 
Je moet dat natuurlijk wel in een batch bestand doen.
 
Dat had ik ook al getest met nieuw2.bat maar zonder resultaat.
Code:
@echo off
for /f %%i in ('powershell ^(get-date^).DayOfWeek') do set _DayOfWeek=%%i
echo %_DayOfWeek%
pause
Bericht automatisch samengevoegd:

Als ik nieuw2.bat run als adm werkt het wel!
Ook als ik mijn eigen .bat run als adm werkt het.
 
Dan weet ik niet wat er bij jou mis is.
Werk hier zonder probleem in zowel Windows 10 als Windows 11.
 
De crux zit in het runnen als admin van de snelkoppeling van het .bat bestand.
Ik denk dat met deze inzichten nu verder kan.
Bericht automatisch samengevoegd:

Met een aangepaste orginele .bat getest en OK en dus opgelost!
Geen WMCI meer nodig.
Bedankt voor je hulp. 👏
Bericht automatisch samengevoegd:

Toch nog een vervolgprobleempje met het toekennen van de code voor DayOfWeek
De code 0 t/m 6 krijg ik niet terug.
Code:
echo:
for /f %%i in ('powershell ^(get-date^).DayOfWeek') do set _DayOfWeek=%%i
FOR /F "tokens=1 delims==" %%I IN ('set _^|FINDSTR /R "^_[DHMS][aoie][^k]*$"') DO SET %%I=0!%%I!&SET %%I=!%%I:~-3!
:: Display the day of week  DayOfWeek (0=zondag, 1=maandag etc)
ECHO   Weekdag = %_DayOfWeek%
pause
if %_DayOfWeek% == 0 goto 2
if %_DayOfWeek% == 1 goto 1
if %_DayOfWeek% == 2 goto 2
if %_DayOfWeek% == 3 goto 1
if %_DayOfWeek% == 4 goto 2
if %_DayOfWeek% == 5 goto 1
if %_DayOfWeek% == 6 goto 1
echo:
 
Laatst bewerkt:
? Bron: AI 2026
PHP:
Oplossing 2: Administrator-code toevoegen aan je script
Je kunt ook een stukje code bovenaan je eigen .bat-bestand plakken. Dit dwingt het script om zichzelf automatisch als admin te herstarten als dat nog niet is gebeurd:
cmd

@echo off
:: Controleer op admin-rechten
net session >nul 2>&1
if %errorLevel% == 0 (
    goto :admin
) else (
    echo Script herstarten met administrator-rechten...
    powershell Start-Process -FilePath "%0" -Verb RunAs
    exit /b
)

:admin
:: Hieronder kun je jouw eigen code plakken
echo Het script draait nu succesvol als administrator!
pause
 
Terug
Bovenaan Onderaan