Page 1 sur 1

[..] Déploiement Service Pack 3

Posté : mer. 09 juin 2010 10:12
par toniino38
Bonjour à tous,

Je travail actuellement sur un script permettant de me notifier quels PC possèdent le SP3 et quels PC possèdent le SP2, au cas où le PC est en SP2 il fera la mise à jour vers le SP3. Ce script sera exécuté à l'arrêt du PC via une GPO.

Code : Tout sélectionner

;---------------------------------------------------------------------------------
;--------------------- DECLARATION DES VARIABLES ---------------------------------
;---------------------------------------------------------------------------------

$ServicePack = @OSServicePack
$Ordinateur = @ComputerName
$LogPath = "\\serveur03\patchs\AutoIT_Script\Service Pack\SP3_log\" & $Ordinateur & ".txt" 
$LogPathSP2 = "\\serveur03\patchs\AutoIT_Script\Service Pack\SP2_log\" & $Ordinateur & ".txt"
;---------------------------------------------------------------------------------
;-------------------------- DEBUT DU SCRIPT --------------------------------------
;---------------------------------------------------------------------------------

If $ServicePack = "Service Pack 3" Then
    _FileWriteLog ( $LogPath, $Ordinateur & " a déjà le Service Pack 3 installé." )
    EndIf
If $ServicePack = "Service Pack 2" Then
    ;RunAs ("pseudo", "domaine", "password", "","\\serveur03\patchs\Microsoft\Windows XP\SP3\WindowsXP-KB936929-SP3-x86-FRA.exe " )
    Run ( "\\serveur03\patchs\Microsoft\Windows XP\SP3\WindowsXP-KB936929-SP3-x86-FRA.exe" )  
    WinWaitActive ( "Assistant Installation de mise à jour logicielle", "&Suivant" ) 
    Send ( "!S" ) 
    WinWaitActive ( "Assistant Installation de mise à jour logicielle", "&J'accepte" )
    Send ( "!J" ) 
    WinWaitActive ( "Assistant Installation de mise à jour logicielle", "&Suivant" )
    Send ( "!S" )
    WinWaitActive ( "Assistant Installation de mise à jour logicielle", "Terminer" ) 
    Send ( "{ENTER}" )  
    _FileWriteLog ( $LogPathSP2, $Ordinateur & " vient d'installer le Service Pack 3." )
    EndIf
Exit





#cs 
 SCRIPT FICHIER Log
#ce
Func _FileWriteLog($sLogPath, $sLogMsg)
    ;==============================================
    ; Local Constant/Variable Declaration Section
    ;==============================================
    Local $sDateNow
    Local $sTimeNow
    Local $sMsg
    Local $hOpenFile
    Local $hWriteFile

    $sDateNow = @YEAR & "-" & @MON & "-" & @MDAY
    $sTimeNow = @HOUR & ":" & @MIN & ":" & @SEC
    $sMsg = $sDateNow & " " & $sTimeNow & " : " & $sLogMsg

    $hOpenFile = FileOpen($sLogPath, 1)

    If $hOpenFile = -1 Then
        SetError(1)
        Return 0
    EndIf

    $hWriteFile = FileWriteLine($hOpenFile, $sMsg)

    If $hWriteFile = -1 Then
        SetError(2)
        Return 0
    EndIf

    FileClose($hOpenFile)
    Return 1
EndFunc   ;==>_FileWriteLog
 
J'ai plusieurs point à améliorer :

- Est-ce possible de pouvoir lancer l'installation en mode silencieuse (question que l'utilisateur ne puisse pas cliquer sur la croix rouge... par exemple ) j'ai essayé de rajouter dans mon code autoit les commutateurs /passive /forcerestart mais à priori cela ne marche pas...

- La possibilité de lancer l'installation en tant qu'administrateur j'ai essayé avec un RunAs mais je pense mal le configuré car celui-ci ne marche pas.

- Enfin, il y a un bug à la fin du code car même si l'installation ne s'est pas terminé correctement le log ce crée en disant SP3 a bien été installé. Un moyen de lancer le log une fois que l'installation est réellement fini ?

En vous remerciant :)

Re: Déploiement Service Pack 3

Posté : mer. 09 juin 2010 11:36
par scorp84
Bonjour toniino38,

Pour les droits d'admin, il me semble que cela suffit :

Code : Tout sélectionner

#RequireAdmin
Pour l'exécution en silencieux, voici un lien qui peut t'apporter des réponses :
http://www.generation-nt.com/installati ... 519-2.html

Pour le bug en fin d'installation, survient-il avant ou après le redémarrage ?

Amicalement.

BM

Re: Déploiement Service Pack 3

Posté : mer. 09 juin 2010 11:59
par toniino38
Bonjour scorp84,

Merci pour ta réponse, je vais essayer au plus vite pour les droits d'admin.
En ce qui concerne le lien, je vais regarder plus en détail mais il me semble à première vue que ce soit pour le déploiement de Windows XP en incluant le SP, pour ma part il me faut juste une mise à jour du SP3.
Pour le bug en fait je m'en aperçois au redémarrage, car je lance mon script à l'arrêt de l'ordinateur l'installation du SP3 ne s'exécute pas entièrement mais une fois l'ordinateur redémarré je me rends compte que le log a bien était crée...

Merci beaucoup,

Anthony.

Re: [..] Déploiement Service Pack 3

Posté : mer. 09 juin 2010 13:32
par scorp84
Si tu ne veux pas que l'utilisateur ait la main et puisse fermer les fenêtres, regardes dans la doc pour la fonction
BlockInput :

Code : Tout sélectionner

BlockInput(1) => Bloque les entrées clavier et souris
BlockInput(0) => Redonne la main à l'utilisateur
 
Par contre prévoit une touche d'échappement si ton code bloque car sinon, l'utilisateur n'aura que ctrl+alt+suppr pour tuer ton process et pouvoir prendre la main.

Pour le lien, effectivement celui que je t'avais donnée prends aussi en compte l'installation de XP.

Regarde celui-ci qui ne traitre que du SP3 avec les lignes de commande :
http://www.antiseches.net/post/Faire-un ... Windows-XP

Amicalement.

BM

Re: [..] Déploiement Service Pack 3

Posté : mer. 09 juin 2010 13:56
par toniino38
Merci beaucoup pour l'aide :)

Code : Tout sélectionner

If $ServicePack = "Service Pack 3" Then
    #RequireAdmin
    BlockInput (1)
    Run ( "\\serveur03\patchs\Microsoft\Windows XP\SP3\WindowsXP-KB936929-SP3-x86-FRA.exe /passive /forcerestart" )  
    _FileWriteLog ( $LogPathSP2, $Ordinateur & " vient d'installer le Service Pack 3." )
    EndIf
 
J'utilise ici BlockInput (1) cependant étant donnée que juste avant j'ai un #RequireAdmin j'ai quand même le droit de fermer la fenêtre ou quoi... Comment je peux faire pour parer à ce problème ?

Merci beaucoup

Re: [..] Déploiement Service Pack 3

Posté : jeu. 10 juin 2010 07:34
par Yogui
toniino38 a écrit :
- Est-ce possible de pouvoir lancer l'installation en mode silencieuse (question que l'utilisateur ne puisse pas cliquer sur la croix rouge... par exemple ) j'ai essayé de rajouter dans mon code autoit les commutateurs /passive /forcerestart mais à priori cela ne marche pas...

- La possibilité de lancer l'installation en tant qu'administrateur j'ai essayé avec un RunAs mais je pense mal le configuré car celui-ci ne marche pas.

- Enfin, il y a un bug à la fin du code car même si l'installation ne s'est pas terminé correctement le log ce crée en disant SP3 a bien été installé. Un moyen de lancer le log une fois que l'installation est réellement fini ?

En vous remerciant :)
Bonjour,

Vous faites des GPO vous étes donc en domaine je sais qu'autoit peux le faire sans aucun problème mais pourquoi ne pas utiliser un MSI ou un déploiement via wsus ?

Re: [..] Déploiement Service Pack 3

Posté : jeu. 10 juin 2010 09:13
par toniino38
Bonjour,

Vous faites des GPO vous étes donc en domaine je sais qu'autoit peux le faire sans aucun problème mais pourquoi ne pas utiliser un MSI ou un déploiement via wsus ?
Pour le MSI il ce lance au démarrage du pc et en fait je veux le lancer à l'arrêt du PC avec le .msi il ne semble pas pris en compte.

Le déploiement WSUS est une idée aussi mais reste à voir s'il est possible de le lancer à l'arrêt du PC.

Re: [..] Déploiement Service Pack 3

Posté : jeu. 17 juin 2010 11:57
par OmegAMRS
il semblerait que comme cela ca marche pour l'installation silentieuse ...

Code : Tout sélectionner

RunWait("c:\temp\WINDOWSXP--SP3-X86-FRA.EXE -f -o -z -q")