Voici un des mes scripts, qui supprime tous les fichiers de conf du client Citrix dans tous les profils locaux du poste et dans le dossier du client Citrix.
Les chemins vers le client sont en dur (C:program filesCitrix). Ce script appelle le package msi (dont il faut evidemment changer le chemin) pour effectuer la mise à jour du client
Il faut des droits d’admins pour lancer le script. (xrunas ou remoteexec)
'==========================================================================
'
' AUTEUR : BREDA Maxime , XXXXX
' DATE : 06/09/2007
'
' Modifié par : ,
' DATE : xx/xx/xx
'
' COMMENT: Script d'installation du client citrix
'
'==========================================================================
Const FICLOG = "ICAVERSION.txt"
const ForReading =1
const ForWriting = 2
Const ForAppending = 8
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Set wshshell = createobject("WScript.Shell")
Set WshSysEnv = WshShell.Environment("PROCESS")
strUserprofile = WshSysEnv("USERPROFILE")
stlogonserver = WshSysEnv("LOGONSERVER")
Set WshNetwork = CreateObject("WScript.Network")
on error resume next
strComputer = WshNetwork.ComputerName 'le nom actuel du serveur/poste de travail
'Filtre sur le nom du poste : Le nom de poste doit commence par P, pour l'installation du client
if left(ucase(StrComputer),len("P")) = "P" then
if fso.FileExists("C:Program FilesCitrixClient ICA" & FICLOG) = false then
if fso.FileExists("C:Program FilesCitrixICA Client" & FICLOG) = false then
MsgBox "Mise à jour du client Citrix, le poste va redémmarer" & vbCrLf & "" & vbCrLf & "Merci de patienter. Veuillez cliquer sur Ok",vbCritical + vbOkOnly + vbSystemModal + 0,"Mise à jour du client Citrix"
LOGUER("Intallation client Citrix v10")
dim fold
set fold = fso.GetFolder("c:Documents and Settings")
dim foldcol
set foldcol = fold.SubFolders
foldcount = foldcol.count
firsttime = 0
'do the subfolder stuff
dim sf
for each sf in foldcol
if fso.FileExists(sf.path & "Application DataICAClientPN.ini") = true then
fso.deletefile sf.path & "Application DataICAClientPN.ini"
end if
if fso.FileExists(sf.path & "Application DataICAClientAPPSRV.ini") = true then
fso.deletefile sf.path & "Application DataICAClientAPPSRV.ini"
end if
next
if fso.FileExists("C:Program FilesCitrixClient ICAappsrv.src") = true then
fso.deletefile "C:Program FilesCitrixClient ICAappsrv.src",true
fso.deletefile "C:Program FilesCitrixClient ICAappsrv.ini",true
fso.deletefile "C:Program FilesCitrixClient ICApn.src",true
fso.deletefile "C:Program FilesCitrixClient ICApn.ini",true
fso.deletefile "C:Program FilesCitrixICA Clientappsrv.src",true
fso.deletefile "C:Program FilesCitrixICA Clientappsrv.ini",true
fso.deletefile "C:Program FilesCitrixICA Clientpn.src",true
fso.deletefile "C:Program FilesCitrixICA Clientpn.ini",true
end if
runappli("MSIEXEC.EXE /I ""\SRVFICsystem$ProgicielsMetaframeclient ica V10pkg finalica32pkgv10FULL.msi"" & ""/quiet")
end if
end if
end if
Function runappli(Appli)
Dim Fso,F,A,B
set process = GetObject("winmgmts:{impersonationLevel=impersonate}!Win32_Process")
result = process.Create (Appli,null,null,processid)
End function
Function LOGUER(LeTexte)
if trim(FICLOG) = "" then exit function
filespec = "C:Program FilesCitrixClient ICA" & FICLOG
Set FichA = fso.OpenTextFile(filespec,ForAppending, true)
ficha.writeline Now & " : " & LeTexte
FICHA.close
filespec = "C:Program FilesCitrixICA Client" & FICLOG
Set FichA = fso.OpenTextFile(filespec,ForAppending, true)
ficha.writeline Now & " : " & LeTexte
FICHA.close
end function