Esecuzione di script VBS bloccata su Windows 10
Pubblica questa domanda per conto di GNU Octave che cerca di risolvere i problemi di esecuzione. Recentemente abbiamo avuto una manciata di utenti Windows che hanno installato il software e non sono stati in grado di eseguire il programma. Spesso non ricevono errori, messaggi o feedback utili, fanno doppio clic sull'icona di avvio e non accade nulla .
In un caso recente, siamo stati in grado di lavorare con l'utente per restringere il problema al fatto che il suo sistema non fosse in grado di eseguire gli script VBS. Octave utilizza un octave.vbs
file (chiamato con wscript) per impostare il percorso e le variabili d'ambiente e avviare il programma.
Tentativi diagnostici attuali:
- L'utente ha creato un semplice script di test sul desktop come in questo esempio per far apparire una finestra di dialogo di sistema. Non è in grado di eseguire lo script e non riceve alcun popup o messaggio di errore.
- Se avesse spostato il file in posizioni diverse, come
C:\temp
la stessa cartella di Octave, ecc., E il file non sarebbe stato eseguito. - Verificata l'esistenza di wscript facendolo eseguire
wscript
dalla finestra di dialogo Esegui e apparve la finestra di dialogo "Impostazioni di Windows Script Host". - Facendo clic con il pulsante destro del mouse sul file di script e selezionando Apri con viene visualizzata l'associazione di file predefinita con "host di script basato su Microsoft Windows" come dovrebbe essere (e facendo clic su che non si produce alcuna esecuzione di script).
- Fare clic tenendo premuto il tasto Maiusc e "Esegui come amministratore" non fa differenza.
- La disattivazione temporanea della protezione antivirus in tempo reale non fa differenza.
- Voci di registro controllate per assicurarsi che non ci sia alcuna chiave Enabled = 0 come da questo articolo (non c'è).
Qualcuno può fornire indicazioni su quali impostazioni di Windows o altre impostazioni impedirebbero l'esecuzione degli script vbs e come possiamo correggere questo problema? O quali altre cose controllare per identificare il problema? Ci sono nuove impostazioni di sicurezza predefinite in Windows o in arrivo con aggiornamenti che ne tengano conto?
L'utente esegue Windows 10 Home, Windows Defender integrato e gli ultimi aggiornamenti. Non è un sistema gestito. Nessuna impostazione di sicurezza speciale è stata mai modificata deliberatamente / consapevolmente da lui. Informazioni sulla versione di seguito:
- Specifiche di Windows:
- Edizione: Windows 10 Home
- Versione: 2004
- Installato il: 2020-01-10
- Build del sistema operativo: 19041.421
- Esperienza: Windows Feature Experience Pack 120.2212.31.0
Per riferimento, il thread di discussione originale con questo problema può essere trovato sul forum di discussione Octave , ma penso di aver acquisito tutte le informazioni rilevanti sopra.
EDIT: Aggiunta di una nota da una discussione dell'elenco dei manutentori - per gli utenti che non possono eseguire un file vbs per qualsiasi motivo, il octave.bat
file è ancora presente nel sistema, situato nella mingw64/bin
cartella. Un utente può modificare i collegamenti sul desktop in modo che puntino a quel file invece che al octave.vbs
file e l'ottava dovrebbe essere eseguita senza problemi, sebbene a volte potrebbero esserci alcune modifiche estetiche con finestre del prompt dei comandi aggiuntive visibili.
Risposte
In base al registro ProcMon , è stato rilevato che wscript.exe caricava 4 moduli software antivirus (3 moduli Avast e 1 McAfee IOfficeAntiVirus).

Il modulo McAfee IOfficeAntiVirus è il colpevole più probabile che impedisce l' wscript.exe
esecuzione degli script.
La disinstallazione completa di McAfee dovrebbe risolvere il problema.
Diagnosi
Assicurati che "%SystemRoot%\System32\WScript.exe"
esista. Puoi verificarlo con Esplora file (premi WIN+ E): digita il percorso %SystemRoot%\System32
nella casella di testo di Esplora file per visualizzare quella directory, quindi cerca WScript.exe
lì.
Apri una finestra di comando (premi WIN+ e Rpoi invio cmd.exe
) e digita quanto segue:
ftype | find /I "VBS"
Questo dovrebbe dare il risultato:
VBSFile="%SystemRoot%\System32\WScript.exe" "%1" %*
Quindi, controlla
assoc .vbs
che dovrebbe mostrare:
.vbs=VBSFile
Fix
Se uno qualsiasi dei precedenti non è impostato correttamente, il file VBS non verrà eseguito. Per correggere il tipo di file (FTYPE) è sufficiente eseguire il comando
ftype VBSFile="%SystemRoot%\System32\WScript.exe" "%1" %*
Per correggere l'associazione, eseguire il comando
assoc .vbs=VBSFile
Se tutto è impostato correttamente e il problema persiste, è probabile che il software anti-malware ne blocchi l'esecuzione: in tal caso, controlla la risposta fornita da w32sh.
Non so se questo aiuterà o meno, ma volevo condividere la mia esperienza nella risoluzione di sintomi simili osservati dopo aver aggiornato il mio dispositivo alle seguenti specifiche
- Edizione Windows 10 Pro
- Versione 2004
- Build del sistema operativo 19041.450
- Prova il pacchetto esperienza delle funzionalità di Windows 120.2212.31.0
Il dispositivo ha un solo VBScript che dovrebbe essere in esecuzione all'avvio ma ha smesso di farlo subito dopo l'aggiornamento. Vale anche la pena ricordare che lo script non esisteva quando sono stati installati gli aggiornamenti precedenti, quindi in questa fase non posso dire se il problema è specifico della versione 2004 o se si tratta di un problema che riguarda gli aggiornamenti W10 in generale.
Il problema osservato è che invece di essere eseguito all'avvio, Notepad ++ stava aprendo una pagina che mostrava il contenuto dello script. Ho anche notato che l'icona associata al file contenente lo script è stata modificata nell'icona Notepad ++ dopo l'aggiornamento.
Quindi, sono andato a controllare l'associazione dei file nell'interfaccia utente di W10 (Start> Impostazioni> App> App predefinite> Scegli app predefinite per tipo di file), e qui ho potuto vedere che l'estensione .vbs era già assegnata a "Microsoft Windows Based Script Ospite". Ho quindi modificato l'app predefinita selezionando di nuovo manualmente "Microsoft Windows Based Script Host" e all'improvviso il file ha iniziato a visualizzare l'icona generata da Microsoft per gli elementi.
Da lì sono stato in grado di eseguire lo script manualmente e automaticamente anche all'avvio.
Da un lato una nota, ho anche visto il mio AV bloccare alcuni comandi di PowerShell (ma non tutti) quando viene chiamato direttamente da un modulo VBA di Excel, ma ciò non ha mai influito sull'esecuzione del suddetto script.
Dovresti controllare se non c'è un altro antivirus che blocca l'esecuzione del tuo file vbs!