Rimuovere Office 2003 tramite script e GPO

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.

Cscript OffScrub03.vbs ALLOffScrub03-1

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

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...