Benvenuto! Effettua l'accesso oppure registrati.
Hai perso l'e-mail di attivazione?

08/10/2024, 21:22

Login with username, password and session length
3 Visitatori, 0 Utenti

Autore Topic: SetupComplete.cmd ed i file non cancellati in Vista SP2  (Letto 9848 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline balubeto

  • *
  • Post: 37
  • Karma: 0
CIAO

Ho scritto questo script RemovePending.vbs che serve per cancellare vari file alla fine di un'installazione personalizzata di Vista SP2 e, poi, ho inserito, nel file SetupComplete.cmd, delle chiamate verso tale script vbs . Ossia:

Codice: [Seleziona]
Option Explicit
Dim objFSO, objReg, objArgs
Dim objFile, objFolder, objSubFolder
Dim arrObjects, arrOldObjects, strKill

Const HKEY_LOCAL_MACHINE = &H80000002

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objArgs = Wscript.Arguments
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\root\default:StdRegProv")

objReg.GetMultiStringValue HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Control\Session Manager", "PendingFileRenameOperations", ArrOldObjects
If isArray(arrOldObjects) Then strKill = Join(arrOldObjects, vbTab)

If objArgs.Count = 0 Then
Wscript.Echo "Script for scheduling files and folders for removal at next boot" & vbCrLf &_
"Syntax: RemovePending.vbs c:\folder"
Wscript.Quit
End If


If objFSO.FolderExists(objArgs(0)) Then
DeleteFolder objArgs(0)
ElseIf objFSO.FileExists(objArgs(0)) Then
KillObject(objArgs(0))
Else
Wscript.Echo "Can't find path: " & objArgs(0)
Wscript.Quit
End If


arrObjects = Split(strKill, vbTab)
objReg.SetMultiStringValue HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Control\Session Manager", "PendingFileRenameOperations", ArrObjects
If Err.number = 0 Then
Wscript.Echo objArgs(0) & " was scheduled for removal at next boot."
Else
Wscript.Echo "Could not schedule object for removal" & vbCrLf & "Error: " & Err.Number & " " & Err.Description
End If

Private Sub DeleteFolder(strFolder)
Set objFolder = objFSO.GetFolder(strFolder)
For Each objSubFolder In objFolder.SubFolders
DeleteFolder(objSubFolder.Path)
Next
For Each objFile In objFolder.Files
objFSO.GetFile(objFile).Attributes = 0
KillObject objFile.Path
Next
objFSO.GetFolder(strFolder).Attributes = 0
KillObject strFolder
End Sub


Sub KillObject(strObject)
If Len(strKill) > 0 Then strKill = strKill & vbTab
strKill = strKill & "\??\" & strObject
strKill = strKill & vbTab
End Sub

ed, alla fine del file SetupComplete.cmd, ho scritto:

Codice: [Seleziona]
cscript %windir%\Setup\Scripts\RemovePending.vbs %windir%\Setup\Scripts
cscript %windir%\Setup\Scripts\RemovePending.vbs %windir%\setupact.log
cscript %windir%\Setup\Scripts\RemovePending.vbs %windir%\Logs\DPX\setupact.log
cscript %windir%\Setup\Scripts\RemovePending.vbs %windir%\Panther\setupact.log
cscript %windir%\Setup\Scripts\RemovePending.vbs %windir%\Panther\UnattendGC\setupact.log
cscript %windir%\Setup\Scripts\RemovePending.vbs %windir%\setuperr.log
cscript %windir%\Setup\Scripts\RemovePending.vbs %windir%\Logs\DPX\setuperr.log
cscript %windir%\Setup\Scripts\RemovePending.vbs %windir%\Panther\setuperr.log
cscript %windir%\Setup\Scripts\RemovePending.vbs %windir%\Panther\UnattendGC\setuperr.log

shutdown /r /t 30

Ho notato, pero`, che alcuni file non vengono cancellati come i file %windir%\setupact.log e %windir%\setuperr.log e la directory %windir%\Setup\Scripts . Come mai?

GRAZIE

CIAO

P.S: Se, pero`, dopo aver finito l'installazione, scrivo uno dei seguenti comandi (%windir%\Setup\Scripts\RemovePending.vbs %windir%\setupact.log o  %windir%\Setup\Scripts\RemovePending.vbs %windir%\setuperr.log o %windir%\Setup\Scripts\RemovePending.vbs %windir%\Setup\Scripts ) dal prompt dei comandi dell'amministratore, al successivo riavvio di Vista, questi oggetti vengono cancellati come avevo programmato.
« Ultima modifica: 28/07/2009, 17:30 da balubeto »
balubeto

Offline Max

  • Amministratore
  • *****
  • Post: 1.230
  • Karma: 114
    • Eng2ita
Re: SetupComplete.cmd ed i file non cancellati in Vista SP2
« Risposta #1 il: 02/09/2009, 01:12 »
Potrebbe avere a che fare con la mancata elevazione ad amministratore.

https://www.msfn.org/board/do-run-command-after-booting-desktop-administrator-t131061-pid-845394.html

Citazione
Try googling Elevation PowerToys for Windows Vista, it contains two files, which are elevate.cmd and elevate.vbs, then place them under $OEM$\$$\System32, after that,add an entry into FirstLogonCommands

Codice: [Seleziona]
REG ADD HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v desktoprun /d "elevate.cmd %CDROM%\blah.exe" /f 
That's what i do.

Al posto del riferimento a quell'exe ci metti il tuo vbs.

Lo script di elevazione dovresti trovarlo qui:
http://technet.microsoft.com/en-us/magazine/2007.06.utilityspotlight.aspx

Offline balubeto

  • *
  • Post: 37
  • Karma: 0
Re: SetupComplete.cmd ed i file non cancellati in Vista SP2
« Risposta #2 il: 02/09/2009, 10:53 »
Potrebbe avere a che fare con la mancata elevazione ad amministratore.

https://www.msfn.org/board/do-run-command-after-booting-desktop-administrator-t131061-pid-845394.html

Al posto del riferimento a quell'exe ci metti il tuo vbs.

Lo script di elevazione dovresti trovarlo qui:
http://technet.microsoft.com/en-us/magazine/2007.06.utilityspotlight.aspx

Non ho ben capito come funziona, in pratica, i file elevate.cmd ed elevate.vbs . Se metto questi due file nella directory Windows\Setup\Scripts di un volume di immagine del file install.wim in cui si trovano anche il mio script RemovePending.vbs e il file SetupComplete.cmd , come dovrei modificare quest'ultimo per fare in modo che le directory e i file elencati nel mio primo post vengano completamente cancellati alla fine del processo d'installazione non presidiata di Vista SP2?

GRAZIE

CIAO
« Ultima modifica: 02/09/2009, 10:55 da balubeto »
balubeto

Offline Max

  • Amministratore
  • *****
  • Post: 1.230
  • Karma: 114
    • Eng2ita
Re: SetupComplete.cmd ed i file non cancellati in Vista SP2
« Risposta #3 il: 02/09/2009, 17:05 »
Ti elenco le altre possibilità:

1) Questo casino di file non cancellati è facilmente evitabile direttamente in fase di integrazione SP2:
https://eng2ita.altervista.org/forum/index.php/topic,3560.0.html

In particolare la fase del Wimscript.ini.

2) Tentare di adoperare i comandi da registro per disattivare e riattivare l'UAC.

Questo disattiva l'UAC:

Codice: [Seleziona]
C:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
pause
exit

Questo lo riattiva:

Codice: [Seleziona]
C:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 1 /f
pause
exit

3) Evitare il file setupcomplete.cmd dal principio adoperando invece il firstlogoncommands tramite il file xml.

Esempio:

Codice: [Seleziona]
<FirstLogonCommands>
<SynchronousCommand wcm:action="add">
<Order>1</Order>
<CommandLine>c:\install\cmd\end.cmd</CommandLine>
</SynchronousCommand>
</FirstLogonCommands>

In cui richiami un nuovo file end.cmd, che sarebbe il contenuto del vecchio setupcomplete.cmd.

4) Utilizzo dei seguenti comandi al posto dei vari cscript che ho visto nel tuo setupcomplete.cmd.

Esempio:

Codice: [Seleziona]
RD /S /Q "%systemdrive%\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Tablet PC"
deltree /Y "%systemdrive%\ProgramData\Microsoft\Windows\Start Menu\Programs\Extras and Upgrades"
del "%systemdrive%\Users\Administrator\AppData\Roaming\Microsoft\Windows\SendTo\Fax Recipient.lnk"

RD /S /Q > Cancella tutti i file e sottocartelle oltre la cartella stessa.
deltree > Cancella una cartella anche se contiene file e sottocartelle.
del > Cancella uno o più file.

5) Il metodo 3 e 4 possono ovviamente essere messi insieme.

Ah, vedi che non ho modo di testare.  :angel:

Offline balubeto

  • *
  • Post: 37
  • Karma: 0
Re: SetupComplete.cmd ed i file non cancellati in Vista SP2
« Risposta #4 il: 02/09/2009, 18:21 »
Sarei molto interessanto ad approfondire l'uso dei metodi 3 e 4. C'e`, per caso, qualche documento che spiega, nel dettaglio, l'uso di tali metodi?

GRAZIE

CIAO
balubeto

Offline Max

  • Amministratore
  • *****
  • Post: 1.230
  • Karma: 114
    • Eng2ita
Re: SetupComplete.cmd ed i file non cancellati in Vista SP2
« Risposta #5 il: 02/09/2009, 20:58 »
http://technet.microsoft.com/en-us/library/cc722150(WS.10).aspx
http://www.scribd.com/doc/17471845/FireGeier-Unattended-Vista-Guide2 (pdf da 121 pagine)

Sarebbe bello ricavarne delle guide in ita, ma non ho adesioni per il momento.  :P

Offline balubeto

  • *
  • Post: 37
  • Karma: 0
Re: SetupComplete.cmd ed i file non cancellati in Vista SP2
« Risposta #6 il: 03/09/2009, 10:30 »
Molto interessante il tag FirstLogonCommands e i suoi comandi sincroni.

Secondo te, se inserisco questo tag nel file autounattend.xml con i suoi comandi sincroni, essi verranno eseguiti automaticamente quando si effettua il primo Login del primo utente normale creato durante l'installazione di Vista SP2?

GRAZIE

CIAO
balubeto

Offline Max

  • Amministratore
  • *****
  • Post: 1.230
  • Karma: 114
    • Eng2ita
Re: SetupComplete.cmd ed i file non cancellati in Vista SP2
« Risposta #7 il: 03/09/2009, 16:28 »
Sì, l'importante è che si tratti di un account con privilegi amministrativi, sennò il comando non viene eseguito al primo avvio.

Offline balubeto

  • *
  • Post: 37
  • Karma: 0
Re: SetupComplete.cmd ed i file non cancellati in Vista SP2
« Risposta #8 il: 03/09/2009, 19:27 »
Sì, l'importante è che si tratti di un account con privilegi amministrativi, sennò il comando non viene eseguito al primo avvio.

Siccome, durante una normale installazione di Vista SP2, essa crea il primo utente come un utente normale, potrei inserire, nel tag FirstLogonCommands nel mio autounattend.xml, il comando per disattivare l'UAC C:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f, i vari comandi che cancellano automaticamente le varie directory ed i vari file elencati nel mio primo post, usando i comandi deltree e del e, poi, il comando per riattivare l'UAC C:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 1 /f. Tale procedura potrebbe funzionare o esiste una procedura migliore?

Non ricordo piu` se gli oggetti, cancellati con i comandi deltree e del, vadano nel cestino dell'utente o no? Se si`, qual'e` il comando che svuota completamente il cestino?

GRAZIE

CIAO
« Ultima modifica: 03/09/2009, 19:30 da balubeto »
balubeto

Offline Max

  • Amministratore
  • *****
  • Post: 1.230
  • Karma: 114
    • Eng2ita
Re: SetupComplete.cmd ed i file non cancellati in Vista SP2
« Risposta #9 il: 05/09/2009, 13:54 »
Non ricordo piu` se gli oggetti, cancellati con i comandi deltree e del, vadano nel cestino dell'utente o no?

Non vanno nel cestino, trattandosi appunto di comandi MS-DOS.

Offline balubeto

  • *
  • Post: 37
  • Karma: 0
Re: SetupComplete.cmd ed i file non cancellati in Vista SP2
« Risposta #10 il: 05/09/2009, 20:00 »
Quindi, la mia idea di disattivare ed attivare l'UAC, ti sembra buona o esiste una soluzione migliore?

GRAZIE

CIAO
balubeto

Offline Max

  • Amministratore
  • *****
  • Post: 1.230
  • Karma: 114
    • Eng2ita
Re: SetupComplete.cmd ed i file non cancellati in Vista SP2
« Risposta #11 il: 05/09/2009, 22:03 »
Quindi, la mia idea di disattivare ed attivare l'UAC, ti sembra buona o esiste una soluzione migliore?

GRAZIE

CIAO

Più che la tua è la mia idea...  :angel:
Penso che possa funzionare, ma per saperlo veramente occorre che fai qualche prova.

Offline balubeto

  • *
  • Post: 37
  • Karma: 0
Re: SetupComplete.cmd ed i file non cancellati in Vista SP2
« Risposta #12 il: 06/09/2009, 10:23 »
Più che la tua è la mia idea...  :angel:
Penso che possa funzionare, ma per saperlo veramente occorre che fai qualche prova.

Scusa, e` la nostra la nostra idea in quanto tu mi hai suggerito la disattivazione e l'attivazione dell'UAC ed il tag FirstLogonCommands nel file autounattend.xml; io, invece, ho pensato di unire i tuoi due suggerimenti in base alle mie esigenze.

GRAZIE ANCORA

CIAO
balubeto

 

Windows Vista Post-SP1 UpdatePack 2.1.6 - Febbraio 2009

Aperto da aqua

Risposte: 13
Visite: 13824
Ultimo post 09/04/2009, 17:54
da aqua
Utility PostReflect e Vista SP1

Aperto da balubeto

Risposte: 1
Visite: 2318
Ultimo post 14/03/2009, 16:22
da Singolarity
Riconoscimento DVD di Vista SP1

Aperto da balubeto

Risposte: 12
Visite: 10193
Ultimo post 02/05/2009, 10:47
da softinformatica