La rimozione del pacchetto office può presentare non pochi problemi, soprattutto nel caso in cui si debba eseguire un’azione a tappeto su diverse decine di computer.
Microsoft, tramite i vari Fix it (50450,50154,50416) rispettivamente per office 2010 2007 e 2003, mette a disposizione uno strumento adatto per la “pulizia” e rimozione del prodotto Office.
L’automazione però, tramite il singolo Fix-it è pressochè impossibile.
Tuttavia con qualche piccolo accorgimento è possibile utilizzare il Fix it stesso per definire una GPO ed applicarla ai sistemi su cui si deve rimuovere Office.
All’interno del Fix-it è contenuto uno script VBS che effettua la rimozione del pacchetto.
Vediamo i passi necessari per la rimozione della versione 2003.
Con 7zip è necessario estrarre il contenuto del file .msi scaricato da Microsoft
http://support.microsoft.com/kb/971179/it
una volta estratto il contenuto, individuare all’interno il file “Cabfile” ed eseguire nuovamente, sempre con 7Zip, l’estrazione del contenuto.
All’interno è presente lo script VBS citato in precedenza “OffScrub03.vbs”, di per sè il file se eseguito con l’opzione ALL esegue l’intera rimozione del pacchetto.
se invece lo script è eseguito senza parametri viene richiesto all’utente quali opzioni rimuovere.
Nel caso in cui si voglia definire un’area di rete in cui i vari pc salvano i log dell’esecuzione dello script, è necessario modificare il file e agire su una variabile che viene utilizzata per rilevare dalle impostazioni di sistema il percorso della cartella TEMP.
Lo script in questo caso è modificato per “loggare” in un percorso centralizzato, la data e l’ora dell’ultima esecuzione, Viene creata una cartella per ogni Wokstation su cui è eseguito lo script.
Option Explicit
‘Inizio Personalizzazione
DIM wshShell
Dim StrComputerName
Dim Data
Dim Ora
Dim ObjFSO
Dim ObjDIR
Dim outFile
Dim ObjFile
Dim StrFolder
Dim UncPathStore
Set UncPathStore =”\servershareoffice2003Log”
Set wshShell = WScript.CreateObject( “WScript.Shell” )
strComputerName = wshShell.ExpandEnvironmentStrings( “%COMPUTERNAME%” )
‘rilevo la data di esecuzione
data = Date()
‘rilevo ora di esecuzione
ora = Time()
Set objFSO=CreateObject(“Scripting.FileSystemObject”)
outFile=UncPathStore & StrComputerName & “.txt”
Set objFile = objFSO.CreateTextFile(outFile,True)
objFile.write ” Avvio Script Rimozione Office” & vbCrLf
objFile.write Date & ” ” & ora & vbCrLf
objFile.Close
‘ creazione cartella stemp + nome pc per log
strFolder = UncPathStore & StrComputerName
IF objFSO.FolderExists(strFolder) = FALSE THEN
objFSO.CreateFolder strFolder
‘wscript.echo ” cartella creata”
ELSE
‘wscript.echo “cartella già presente ”
END IF
‘ Fine personalizzazione
All’interno dello script è necessario individuare ( alla riga 85 ) il punto in cui viene dichiarata e valorizzata la variabile sTemp, e modificarla come segue:
ORIGINALE
‘sTemp = oWShell.ExpandEnvironmentStrings(“%temp%”)
MODIFICATA
sTemp = UncPathStore & strComputername
Assegnando lo script ad una GPO la cui esecuzione viene effettuata come “Machine” è necessario che la share abbia i permessi di Lettura e Scrittura per il Gruppo Domain Computers