Newsgroup: it.comp.os.win.windows10
Titolo: Stampante indemoniata! :)

Salve,
 
ho un pc con W10 che, pur spegnendolo, riavviandolo, etc. etc. etc. 
quando riparte se gli attacco la stampante inizia a stampare tutto ciò 
che era stato inviato prima dello spegnimento.
 
La coda di stampa è vuota ma lui stampa, stampa e stampa! :\
 
Come faccio realmente a fare un reset della parte stampa?
 
Saluti.
^Bart



@echo off
rem
rem --- cleanspl.cmd
rem
:
:INIT
whoami /groups|find "S-1-16-12288" >NUL 2>&1
if errorlevel 1 goto NOADMIN
goto BEGIN
:
:NOADMIN
echo questo script va lanciato come amministratore
pause
goto QUIT
:
:BEGIN
net stop spooler
del /f /s /q %systemroot%\System32\spool\PRINTERS\*
net start spooler
:
:QUIT
rem --- fine
 
ciao
 
 
 
 

 @echo off
 
ops, piccolo errore, questo è corretto
 
@echo off
rem
rem --- cleanspl.cmd
rem
:
:INIT
whoami /groups|find "S-1-16-12288" >NUL 2>&1
if errorlevel 1 goto NOADMIN
goto BEGIN
:
:NOADMIN
echo questo script va lanciato come amministratore
goto QUIT
:
:BEGIN
net stop spooler
del /f /s /q %systemroot%\System32\spool\PRINTERS\*
net start spooler
:
:QUIT
rem --- fine
pause
 
 

 net start spooler
 
Alla fine dando il comando manualmente da console ho stoppato il 
servizio di stampa, eliminato le code e riavviato il servizio.
 
net stop spooler
DEL /S /Q /F “C:\Windows\System32\spool\PRINTERS\*.*”
net start spooler
 
Saluti.
^Bart

 net start spooler
 
giusto, io ho postato il batch solo perchè credo possa far comodo a chi
non vuole mettersi a scrivere a manina i comandi, una versione anche
più "friendly" dello script è qui sotto
 
@echo off
rem
rem --- cleanspl.cmd
rem
:
:INIT
whoami /groups|find "S-1-16-12288" >NUL 2>&1
if errorlevel 1 goto NOADMIN
goto BEGIN
:
:NOADMIN
echo questo script va lanciato come amministratore
goto QUIT
:
:BEGIN
net stop spooler
if errorlevel 1 goto QUIT
del /f /s /q %systemroot%\System32\spool\PRINTERS\*
net start spooler
:
:QUIT
rem --- fine
pause
 
in pratica ho aggiunto un controllo in modo che, se non si riesce a
stoppare lo spooler, il batch non proceda ma si fermi mostrando il
messaggio di errore, non che sia strettamente necessario, visto che il
controllo iniziale non fa proseguire lo script se non si hanno i
privilegi "admin", però... meglio un controllo in più, tanto per stare
sicuri al 100% :D
 
 
 
 
 

 sicuri al 100% :D
 
Grazie ancora per aver condiviso la tua esperienza! :)
 
Saluti.
^Bart

 salva le credenziali se in chiaro o in altro modo! :)
 
runas /savecred /user:utenteadmin %COMSPEC% /C c:\pippo\spoolreset.cmd
 
alla prima esecuzione ti chiede la password, poi la salva nel protected
storage dell'utente attivo ed alle successive esecuzioni (con gli
stessi parametri) usa la password memorizzata
 
in teoria (ma anche in pratica) si potrebbe modificare lo script per
verificare se ha i diritti admin ed in caso contrario rilanciare sé
stesso usando "runas", ma non mi sembrava il caso...
 

 stesso usando "runas", ma non mi sembrava il caso...
 
ad ogni modo ...
 
@echo off
setlocal
set ADMUSR=utenteadmin
:
:INIT
whoami /groups|find "S-1-16-12288" >NUL 2>&1
if errorlevel 1 goto NOADMIN
goto BEGIN
:
:NOADMIN
runas /savecred /user:%ADMUSR% %COMSPEC% /C %0
exit
:
:BEGIN
net stop spooler
if errorlevel 1 goto QUIT
del /f /s /q %systemroot%\System32\spool\PRINTERS\*
net start spooler
:
:QUIT
pause
 
lo script controlla se ha i diritti "admin", in caso contrario il
codice salta a "NOADMIN" dove viene usato "runas" per rilanciare lo
script stesso (ossia %0), per usarlo basta modificare "ADMUSR" nella
terza riga del file sostituendo "utenteadmin" con un utente esistente
che abbia diritti amministrativi, per il resto, al primo avvio si vedrà
la richiesta password mentre ai successivi il tutto sarà "automagico"
 
 

 la richiesta password mentre ai successivi il tutto sarà "automagico"
 
Chiarissimo ma soprattutto grazie per le dritte! :)
 
Saluti.
^Bart
 

 stesso usando "runas", ma non mi sembrava il caso...
 
Ho visto lo script completo ed oggettivamente ben fatto!
 
Grazie ancora!
^Bart
 

 con kernel linux.
 
Beh, in windows ci sarebbe WSL :)
 
https://docs.microsoft.com/en-us/windows/wsl/install
 
 
ma alla fine della fiera la cosa è la stessa, anche se la shell di
linux è sicuramente molto più flessibile/potente; ad ogni modo, con un
minimo di "manico" si fa tutto anche in windows senza troppi patemi
d'animo e senza diatribe :D
 

 d'animo e senza diatribe :D
 
Di sicuro con un kernel linux puoi fare di più però come dicevi te anche 
con Windows adatti qualcosa e alla fine risolvi! :)
 
Saluti!
^Bart
 

 linux è sicuramente molto più flessibile/potente
 
 
Più di PowerShell?

 dei normal user.
 
pc di ufficio? Lascialo così!
Io ai tempi per una stampante con lo stesso bug (era Windows XP) scoprii 
una tresca non da poco, perchè ti vuoi negare un simile trastullo?
Si scrivevano email appassionate e provavano a stamparle prima di 
cancellarle, ma non uscivano dalla stampante e loro pensavano "boh, 
meglio così".
Invece la mattina dopo ad inizio turno arrivavo io o un mio collega, 
accendevamo il sistema, facevamo il reset della stampante e da lì usciva 
la coda di stampa delle corna-leaks data per dispersa nella precedente 
sessione.
Ci abbiamo svoltato certe serate......   :D
 
 
 
-- 
"buon anno...e si fumi una sigaretta"
"no grazie me fanno gira' la testa"
"e va bene, se la fumi dopo i pasti"
"dopo i pasti di chi?"

 Ci abbiamo svoltato certe serate......   :D
 
Ahahaha! :D Che storia!!! :) Sui luoghi di lavoro bisogna fare vedere di 
non aver visto... spero abbiate agito in questo modo! ;)
 
Ti dico questa... in una nota azienda di informatica di Jesi (AN) una 
stagista notò che nel bagno vi erano le impronte delle due mani 
parallele quasi impercettibili su una parete... a buon intenditor... ;)
 
Saluti.
^Bart
 

> Più di PowerShell?
 
Se ci metti anche Python nativo nel kernel di Linux hai il 200% del 
controllo e puoi fare di tutto e di più.
 
Saluti.
^Bart

> beh, puoi sempre usare "runas /savecred" ;-)
 
 
Ho provato con la seguente stringa:
 
 >runas /user:ETICHETTE02\Administrator "C:\Scripts\stampante.cmd"
 
Mi chiede la password dell'Administrator locale, la inserisco, mi parte 
lo script che fa tutto ed è ok.
 
Nel momento in cui provo con l'utente normale però sia facendo doppio 
clic sul file sia aprendolo da console mi si chiude immediatamente e non 
esegue lo script, di seguito il file modificato:
 
@echo off
setlocal
set ADMUSR=Administrator
:
:INIT
whoami /groups|find "S-1-16-12288" >NUL 2>&1
if errorlevel 1 goto NOADMIN
goto BEGIN
:
:NOADMIN
runas /savecred /user:%ADMUSR% %COMSPEC% /C %0
exit
:
:BEGIN
net stop spooler
if errorlevel 1 goto QUIT
del /f /s /q %systemroot%\System32\spool\PRINTERS\*
net start spooler
:
:QUIT
pause
 
Probabilmente ho sbagliato o non ho modificato i dati giusti nello script...
 
Saluti.
^Bart

>  >runas /user:ETICHETTE02\Administrator "C:\Scripts\stampante.cmd"
 
Risolto, ho inserito nello shortcut lato desktop questo:
 
runas /user:ETICHETTE02\Administrator /savecred "C:\Scripts\stampante.cmd"
 
Saluti.
^Bart

 non esegue lo script, di seguito il file modificato:
 
prova con una modifica temporanea, modifica la riga subito dopo la
"runas" nel batch inserendo un "pause" prima del comando exit e poi
prova a lanciare il batch e vedi se ti salta fuori un errore, una volta
corretto potrai rimuovere il "pause" aggiunto
 
 
 
 

 corretto potrai rimuovere il "pause" aggiunto
 
Come accennavo nell'altra mail ho risolto mettendo il percorso 
direttamente nel link sul desktop che punta al file *.cmd
 
Grazie ancora per tutte le info! :)
 
Saluti.
^Bart
 

 ^Bart


> ^Bart

Sembra che ObiWan abbia detto :
 
 
sticazz....
avrei detto semplicemnte "ferma il servizio dello spooler, svuota la 
directory windows\system32\spool\printers e riavvia il servizio :-)
 
Ma a questo punto pero' sarebbero necessarie due cose:
1) cambiare il titolo in "spooler di stampa di win 10 indemoniato"
2) capire perche' si comporta cosi'; perche' e' vero che puo' capitare, 
ma di solito non e' cosi' frequente