[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 #!/bin/bash 2 # 3 #### Installation et configuration de wpkg ##### 4 # 5 # Auteur : Jean Le Bail 6 # 7 # avril 2007 8 # jean.lebail@etab.ac-caen.fr 9 # 10 ## $Id: wpkg-install.sh 8338 2014-12-23 15:52:41Z olikin $ ## 11 # 12 # Trucs et astuces. 13 # Pour installer le client wpkg sur un poste equipe de sshd, sans attendre le prochain login d'un utilisateur : 14 # ssh administrateur@IpDuPoste (authentification par mot de passe, pas par cle, sinon le net use suivant ne marche pas sous XP avec cygwin+openssh; avec copssh c'est ok) 15 # net use \\\\se3 PassAdmin /user:se3\\admin 16 # cmd /c \\\\se3\\Progs\\install\\installdll\\CPAU.exe -dec -lwp -cwd c:\\ -file \\\\se3\\Progs\\ro\\wpkgInstall.job 17 # 18 # pour relancer l'execution du client wpkg sans avoir a redemarrer le poste : 19 # schtasks.exe /Run /Tn wpkg 20 # ou jt.exe /LJ $WINDIR\\tasks\\wpkg.job /RJ 21 22 # Mode debug "1" ou "0" 23 DBG="0" 24 25 # Il faudrait peut-etre definir le repertoire de travail en cours... 26 # cd /var/tmp 27 28 ### on suppose que l'on est sous debian #### 29 WWWPATH="/var/www" 30 ### version debian #### 31 script_charset="UTF8" 32 33 34 . /usr/share/se3/includes/config.inc.sh -ml 35 #. /usr/share/se3/includes/functions.inc.sh 36 37 38 echo "Installation de wpkg : installation automatique d'applications sur clients Windows 2000 et XP." 39 echo "" 40 if [ ! -d /var/se3/unattended/install ]; then 41 echo "Le repertoire /var/se3/unattended/install n'existe pas" 42 echo "Il aurait dû etre cree lors de l'installation d'unattended." 43 echo "Echec de l'installation." 44 exit 1 45 fi 46 47 URLSE3="$urlse3" 48 SE3="$netbios_name" 49 if [ -z "$SE3" ] ; then 50 SE3=`gawk -F' *= *' '/netbios name/ {print $2}' /etc/samba/smb.conf` 51 fi 52 if [ -z "$SE3" ] ; then 53 echo "Nom netbios du serveur samba introuvable." 54 exit 1 55 fi 56 WPKGDIR="/var/se3/unattended/install/wpkg" 57 WPKGROOT="\\\\$SE3\\install\\wpkg" 58 59 # Compte administrateur local des postes 60 ADMINSE3="adminse3" 61 PASSADMINSE3="$xppass" 62 63 if [ ! -d $WPKGDIR ]; then 64 echo "Erreur le repertoire $WPKGDIR n'existe pas." 65 echo "" 66 echo "Echec de l'installation." 67 exit 1 68 fi 69 70 71 if [ ! -d $WPKGDIR/tools ]; then 72 echo "Bizarre : le repertoire $WPKGDIR/tools n'existe pas !!!" 73 mkdir /var/se3/unattended/install/wpkg/tools 74 fi 75 if [ ! -d $WPKGDIR/tools ]; then 76 echo "Erreur : le repertoire $WPKGDIR/tools n'a pas pu etre cree." 77 exit 1 78 fi 79 80 # Telechargements pour mettre a jour les postes Windows qui en ont besoin 81 if [ ! -d /var/se3/unattended/install/packages/windows ] ; then 82 mkdir -p /var/se3/unattended/install/packages/windows 83 fi 84 cd /var/se3/unattended/install/packages/windows 85 86 # WindowsXP-Windows2000-Script57 87 if [ ! -e scripten.exe ] ; then 88 echo "Telechargement de WindowsScript57 (http://download.microsoft.com/download/4/4/d/44de8a9e-630d-4c10-9f17-b9b34d3f6417/scripten.exe)." 89 if ( ! wget 'http://download.microsoft.com/download/4/4/d/44de8a9e-630d-4c10-9f17-b9b34d3f6417/scripten.exe' ) ; then 90 echo "Erreur de telechargement de WindowsScript57." 91 echo " Vous pourrez le telecharger plus tard a partir de l'adresse :" 92 echo " http://www.microsoft.com/downloads/details.aspx?FamilyID=47809025-D896-482E-A0D6-524E7E844D81&displaylang=en" 93 echo " et placer scripten.exe" 94 echo " dans \\\\$SE3\\install\\packages\\windows\\ ." 95 if [ -e scripten.exe ] ; then 96 rm scripten.exe 97 fi 98 fi 99 fi 100 101 # Windows Installer 3.1 (v2) 102 if [ ! -e WindowsInstaller-KB893803-v2-x86.exe ] ; then 103 echo "Telechargement de Windows Installer 3.1 (v2) (http://download.microsoft.com/download/1/4/7/147ded26-931c-4daf-9095-ec7baf996f46/WindowsInstaller-KB893803-v2-x86.exe)." 104 if ( ! wget 'http://download.microsoft.com/download/1/4/7/147ded26-931c-4daf-9095-ec7baf996f46/WindowsInstaller-KB893803-v2-x86.exe' ) ; then 105 echo "Erreur de telechargement de Windows Installer 3.1 (v2)." 106 echo " Vous pourrez le telecharger plus tard et placer WindowsInstaller-KB893803-v2-x86.exe" 107 echo " dans \\\\$SE3\\install\\packages\\windows\\ ." 108 if [ -e WindowsInstaller-KB893803-v2-x86.exe ] ; then 109 rm WindowsInstaller-KB893803-v2-x86.exe 110 fi 111 fi 112 fi 113 114 # MSXML (Microsoft Core XML Services) 6.0 115 if [ ! -e msxml6.msi ] ; then 116 echo "Telechargement de MSXML (Microsoft Core XML Services) 6.0 (http://download.microsoft.com/download/8/a/4/8a4bae5b-95e9-4179-a838-1e75cf330a48/msxml6.msi)." 117 if ( ! wget 'http://download.microsoft.com/download/8/a/4/8a4bae5b-95e9-4179-a838-1e75cf330a48/msxml6.msi' ) ; then 118 echo "Erreur de telechargement de MSXML (Microsoft Core XML Services) 6.0." 119 echo " Vous pourrez le telecharger plus tard et placer msxml6.msi" 120 echo " dans \\\\$SE3\\install\\packages\\windows\\ ." 121 if [ -e msxml6.msi ] ; then 122 rm msxml6.msi 123 fi 124 fi 125 fi 126 127 #cd - 128 129 cd $WPKGDIR/tools 130 131 # jt pour definir une tache en ligne de commande dans le planificateur de tache 132 if [ ! -e jt.exe ] ; then 133 if [ ! -e jt.zip ] ; then 134 echo "Telechargement de l'utilitaire jt.exe (http://mvps.org/winhelp2002/jt.zip)." 135 if ( ! wget --tries=3 "http://mvps.org/winhelp2002/jt.zip" ) ; then 136 if [ -e jt.zip ] ; then 137 rm jt.zip 138 fi 139 echo "Telechargement de l'utilitaire jt.exe : nouvel essai avec l'url 'ftp://ftp.microsoft.com/reskit/win2000/jt.zip'." 140 if ( ! wget --tries=3 "ftp://ftp.microsoft.com/reskit/win2000/jt.zip" ) ; then 141 echo "Erreur de telechargement de jt.zip." 142 fi 143 fi 144 fi 145 if [ -e jt.zip ] ; then 146 if ( md5sum jt.zip | grep '^5a11460945cab3ef526b038d37492e58 ' >/dev/null ) ; then 147 if ( ! unzip -o jt.zip ) ; then 148 echo "Erreur unzip -o jt.zip" 149 fi 150 else 151 echo "Erreur md5sum : " 152 md5sum jt.zip 153 rm jt.zip 154 fi 155 fi 156 if [ -e jt.exe ] ; then 157 if ( md5sum jt.exe | grep '^3104f01eb01ce8b482bf895db60d7e8e ' >/dev/null ) ; then 158 echo "L'utilitaire jt.exe est maintenant disponible."; 159 else 160 echo "Erreur md5sum : " 161 md5sum jt.exe 162 rm jt.exe 163 fi 164 # if [ -e jt.zip ] ; then rm jt.zip; fi 165 else 166 echo "L'utilitaire jt.exe n'est pas disponible ! Ressayez plus tard ..."; 167 echo "jt.exe pourra, par la suite, etre depose dans $WPKGROOT\\tools par l'admin." 168 fi 169 else 170 echo "L'utilitaire jt.exe etait deja disponible." 171 fi 172 173 # Quelques utilitaires bien pratiques pour gerer les Windows 174 175 RebootSpecial="" 176 # PSTools pour psshutdown.exe pslist.exe ... 177 # Depuis que sysinternals ete rachete par Microsoft, il faut ajouter /accepteula aux options des commandes :( 178 if [ ! -e psshutdown.exe ] || [ ! -e pslist.exe ] ; then 179 if [ ! -e PSTools.zip ]; then 180 echo "Telechargement des PSTools (http://live.sysinternals.com/Files/PSTools.zip)." 181 if ( ! wget "http://live.sysinternals.com/Files/PSTools.zip" ) ; then 182 echo "Erreur de telechargement." 183 if [ -e PSTools.zip ]; then 184 rm PSTools.zip 185 fi 186 fi 187 fi 188 if [ -e PSTools.zip ]; then 189 if ( ! unzip -o PSTools.zip ) ; then 190 echo "Erreur unzip -o PSTools.zip" 191 fi 192 fi 193 if [ -e psshutdown.exe ] && [ -e pslist.exe ] ; then 194 echo "Les pstools sont maintenant disponibles."; 195 # RebootSpecial="/rebootcmd:special" 196 # if [ -e PSTools.zip ]; then 197 # if ( ! rm PSTools.zip ) ; then 198 # echo "Erreur rm PSTools.zip" 199 # fi 200 # fi 201 else 202 echo "Les PSTools ne sont pas disponibles ! Ressayez plus tard ..."; 203 fi 204 else 205 echo "Les PSTools etaient deja disponibles." 206 # RebootSpecial="/rebootcmd:special" 207 fi 208 209 # SetAcl (deja dans le paquet) 210 # http://ovh.dl.sourceforge.net/sourceforge/setacl/setacl-cmdline-2.0.2.0-binary.zip 211 if [ ! -e SetACL.exe ]; then 212 if [ ! -e setacl-cmdline-2.0.2.0-binary.zip ]; then 213 echo "Telechargement de l'utilitaire SetACL (http://ovh.dl.sourceforge.net/sourceforge/setacl/setacl-cmdline-2.0.2.0-binary.zip)." 214 if ( ! wget --tries=3 "http://ovh.dl.sourceforge.net/sourceforge/setacl/setacl-cmdline-2.0.2.0-binary.zip" ) ; then 215 echo "Erreur de telechargement de setacl-cmdline-2.0.2.0-binary.zip." 216 if [ -e setacl-cmdline-2.0.2.0-binary.zip ] ; then 217 rm setacl-cmdline-2.0.2.0-binary.zip 218 fi 219 fi 220 fi 221 if [ -e setacl-cmdline-2.0.2.0-binary.zip ]; then 222 if ( ! unzip -o setacl-cmdline-2.0.2.0-binary.zip ) ; then 223 echo "Erreur unzip -o setacl-cmdline-2.0.2.0-binary.zip" 224 if [ -e SetACL.exe ] ; then 225 rm SetACL.exe 226 fi 227 fi 228 fi 229 if [ -e SetACL.exe ]; then 230 if ( md5sum SetACL.exe | grep '^19bb0722fdbeb638df3b66b1ac1552f1 ' >/dev/null ) ; then 231 echo "L'utilitaire SetACL.exe est maintenant disponible."; 232 else 233 echo "Erreur md5sum : " 234 md5sum SetACL.exe 235 rm SetACL.exe 236 fi 237 echo "L'utilitaire SetACL.exe est maintenant disponible."; 238 if [ -e setacl-cmdline-2.0.2.0-binary.zip ]; then 239 if ( ! rm setacl-cmdline-2.0.2.0-binary.zip ) ; then 240 echo "Erreur rm setacl-cmdline-2.0.2.0-binary.zip" 241 fi 242 fi 243 else 244 echo "L'utilitaire SetACL.exe n'est pas disponible ! Ressayez plus tard ..."; 245 echo "SetACL.exe pourra, par la suite, etre depose dans $WPKGROOT\\tools par l'admin." 246 fi 247 else 248 echo "L'utilitaire SetACL.exe etait deja disponible." 249 fi 250 251 # wget.exe (deja dans le paquet) 252 if [ ! -e wget.exe ] ; then 253 echo "Telechargement de l'utilitaire wget.exe (http://users.ugent.be/~bpuype/cgi-bin/fetch.pl?dl=wget/wget.exe)." 254 if ( ! wget --tries=3 "http://users.ugent.be/~bpuype/cgi-bin/fetch.pl?dl=wget/wget.exe" ) ; then 255 echo "Erreur de telechargement de wget.exe." 256 if [ -e wget.exe ] ; then 257 rm wget.exe 258 fi 259 fi 260 if [ -e wget.exe ] ; then 261 # Test md5sum de wget.exe ;-) 262 if ( md5sum wget.exe | grep '^dbe287eb8d58e6322e9fb67110ed7122 ' >/dev/null ) ; then 263 echo "L'utilitaire wget.exe est maintenant disponible."; 264 else 265 echo "Erreur md5sum : " 266 md5sum wget.exe 267 rm wget.exe 268 fi 269 else 270 echo "L'utilitaire wget.exe n'est pas disponible ! Ressayez plus tard ..." 271 echo "wget.exe pourra, par la suite, etre depose dans $WPKGROOT\\tools par l'admin." 272 fi 273 else 274 echo "L'utilitaire wget.exe etait deja disponible." 275 fi 276 277 # md5sum.exe (deja dans le paquet) 278 if [ ! -e md5sum.exe ] ; then 279 if [ ! -e md5sum-w32.zip ] ; then 280 echo "Telechargement de l'utilitaire md5sum.exe (http://ftp.fr.debian.org/debian/tools/md5sum-w32.zip)." 281 if ( ! wget --tries=3 "http://ftp.fr.debian.org/debian/tools/md5sum-w32.zip" ) ; then 282 echo "Erreur de telechargement de md5sum-w32.zip." 283 if [ -e md5sum-w32.zip ] ; then 284 rm md5sum-w32.zip 285 fi 286 fi 287 fi 288 if [ -e md5sum-w32.zip ] ; then 289 if ( ! unzip -o md5sum-w32.zip ) ; then 290 echo "Erreur unzip -o md5sum-w32.zip" 291 if [ -e md5sum.exe ] ; then 292 rm md5sum.exe 293 fi 294 fi 295 fi 296 if [ -e md5sum.exe ] ; then 297 # Test md5sum de md5sum.exe ;-) 298 if ( md5sum md5sum.exe | grep '^623864dab703a0ceca76e8d70de60c0c ' >/dev/null ) ; then 299 echo "L'utilitaire md5sum.exe est maintenant disponible."; 300 else 301 echo "Erreur md5sum : " 302 md5sum md5sum.exe 303 rm md5sum.exe 304 fi 305 else 306 echo "L'utilitaire md5sum.exe n'est pas disponible ! Ressayez plus tard ..." 307 echo "md5sum.exe pourra, par la suite, etre depose dans $WPKGROOT\\tools par l'admin." 308 fi 309 else 310 echo "L'utilitaire md5sum.exe etait deja disponible." 311 fi 312 313 cd - 314 315 CPAU="\\\\$SE3\\netlogon\\CPAU.exe" 316 317 # priorite d'execution de wpkg sur les clients 318 # PRIORITY=/LOW|/BELOWNORMAL|/NORMAL|/ABOVENORMAL|/HIGH|/REALTIME 319 PRIORITY=/BELOWNORMAL 320 321 CONFIGBAT="/var/se3/Progs/install/wpkg-config.bat" 322 323 # Suppression de l'ancien script execute avant wpkg-se3.js 324 # Maintenant les options du client sont definies dans l'interface. 325 if [ -e $WPKGDIR/wpkgAvant.bat ]; then 326 rm $WPKGDIR/wpkgAvant.bat 327 echo "Ancien script $WPKGDIR/wpkgAvant.bat supprime (il n'est plus utilise dans cette version)." 328 fi 329 330 # Script de demarrage des anciens clients wpkg 331 # C'est maintenant wpkg-client.vbs (client execute au boot du poste) qui lance directement wpkg-se3.js 332 #--------Debut wpkg-se3.bat-----------# 333 cat - > $WPKGDIR/wpkg-se3.bat <<WPKGSE3BAT 334 :: Ce fichier assure la mise a jour des anciens clients 335 :: Ensuite il n'est plus utilise 336 :: ## $Id: wpkg-install.sh 8338 2014-12-23 15:52:41Z olikin $ ## 337 @Echo OFF 338 Set Silent=1 339 Echo %date% %time% Mise a jour du client wpkg. 340 :: Lancement de wpkg-repair.bat a l'aide du job wpkg-repair.job 341 If Not Exist \\\\$SE3\\Progs\\ro\\wpkg-repair.job Goto NoWpkgRepairJob 342 Echo Lancement du job CPAU wpkg-repair 343 \\\\$SE3\\netlogon\\CPAU.exe -dec -lwp -cwd %SystemDrive%\\ -file \\\\$SE3\\Progs\\ro\\wpkg-repair.job 2>NUL >NUL 344 If "%ErrorLevel%"=="1907" Goto ErrAdminse3Expire 345 If "%ErrorLevel%"=="1326" Goto ErrAdminse3BadPassword 346 If Not "%ErrorLevel%"=="0" Echo Erreur %ErrorLevel% lors de l'execution de 'CPAU.exe -dec -lwp -cwd %SystemDrive%\\ -file \\\\$SE3\\Progs\\ro\\wpkg-repair.job' 347 348 echo. 349 echo Le rapport de la mise a jour du client est disponible ici : 350 echo ^</pre^> 351 echo ^<a href="$URLSE3/wpkg/index.php?logfile=%COMPUTERNAME%.maj"^>$URLSE3/wpkg/index.php?logfile=%COMPUTERNAME%.maj^</a^> 352 echo ^<pre^> 353 354 Goto Done 355 356 :NoWpkgRepairJob 357 echo Erreur : Fichier \\\\$SE3\\Progs\\install\\wpkg-repair.job absent ! 358 echo En tant qu'admin, relancer : 359 echo \\\\$SE3\\Progs\\install\\wpkg-config.bat 360 Goto Done 361 362 :ErrAdminse3BadPassword 363 echo Erreur : Le mot de passe d'adminse3 sur %COMPUTERNAME% n'est pas correct ! 364 echo Revoir la configuration du compte 'adminse3' sur %COMPUTERNAME%. 365 Goto Done 366 367 :ErrAdminse3Expire 368 echo Erreur : Le compte adminse3 a un mot de passe qui expire. 369 echo Revoir la configuration du compte 'adminse3' sur %COMPUTERNAME%. 370 Goto Done 371 372 :Done 373 echo Fin de wpkg-se3.bat 374 WPKGSE3BAT 375 #--------Fin wpkg-se3.bat-----------# 376 recode $script_charset..CP850 $WPKGDIR/wpkg-se3.bat 377 todos $WPKGDIR/wpkg-se3.bat 378 chmod 755 $WPKGDIR/wpkg-se3.bat 379 echo "Script $WPKGDIR/wpkg-se3.bat cree." 380 381 # Suppression de l'ancien script execute apres wpkg-se3.js 382 if [ -e $WPKGDIR/wpkgApres.bat ]; then 383 rm $WPKGDIR/wpkgApres.bat 384 echo "Ancien script $WPKGDIR/wpkgApres.bat supprime (il n'est plus utilise dans cette version)." 385 fi 386 387 # Script d'installation de la tache planifiee sur le poste 388 # Est execute sous local\adminse3 avec CPAU l'authentification au serveur etant deja faite 389 #--------Debut wpkg-install.bat-----------# 390 cat - > $WPKGDIR/wpkg-install.bat <<PREINSTBAT 391 :: Script d'installation de wpkg sur le client. 392 :: S'execute avec le compte local $ADMINSE3 grace a CPAU, 393 :: l'authentification sur le serveur est deja faite. 394 :: 395 :: ## $Id: wpkg-install.sh 8338 2014-12-23 15:52:41Z olikin $ ## 396 397 If "%SILENT%"=="1" @Echo OFF 398 Set WPKGROOT=$WPKGROOT 399 400 :: Pour executer wpkg aussitot apres l'installation du client sur les postes 401 If "%NoRunWpkgJS%"=="" Set NoRunWpkgJS=0 402 If Exist "%SystemRoot%\\netinst\\nowpkg.txt" Set NoRunWpkgJS=1 403 If "%NoRunWpkgJS%"=="1" Echo L'installation des applications ne sera effectuee qu'au prochain boot. 404 405 :: Pour supprimer la temporisation avant execution de wpkg-se3.js 406 Rem Echo NoTempo >"%SystemDrive%\\netinst\\wpkg-notempo.txt" 407 408 SETLOCAL ENABLEEXTENSIONS 409 SETLOCAL ENABLEDELAYEDEXPANSION 410 411 @If "$DBG"=="1" Echo Debut wpkg-install.bat Pause 2 sec ... 412 @If "$DBG"=="1" ping -n 3 127.0.0.1 >NUL 413 414 @If "%TaskUser%"=="" Exit 5 415 @If "%TaskPass%"=="" Exit 5 416 417 echo %date% %time% Debut de l'execution de wpkg-install.bat sur %COMPUTERNAME% 418 echo. 419 420 set Log=%Windir%\\wpkg.log 421 set NbErreur=0 422 423 :: Copie sur le poste local des fichiers necessaires 424 Set REGEXE=%WinDir%\\system32\\reg.exe 425 If Exist "%REGEXE%" Goto REGEXEFOUND 426 If Exist \\\\$SE3\\install\\wpkg\\tools\\reg.exe copy /Y /B /V \\\\$SE3\\install\\wpkg\\tools\\reg.exe "%REGEXE%" 427 If Exist "%REGEXE%" Goto REGEXEFOUND 428 echo L'utilitaire reg.exe est introuvable. 429 echo A partir d'un WinXP, recopiez %WinDir%\\system32\\reg.exe dans \\\\$SE3\\install\\wpkg\\tools\\ 430 Goto WindowsScriptHost56 431 :REGEXEFOUND 432 433 434 :WindowsScriptHost56 435 echo Version de WindowsScriptHost 436 cscript.exe //NoLogo %WPKGROOT%\\tools\\fileversion.vbs %WinDir%\\system32\\jscript.dll GE 5.6.0.8831 437 If "%ErrorLevel%"=="0" Goto WININSTALLER 438 439 :: L'install silentieuse ne marche pas sous win2k :( 440 echo WindowsScriptHost n'est pas a jour ! 441 echo installez-le sur le poste a partir de : 442 echo http://www.microsoft.com/downloads/details.aspx?FamilyID=c717d943-7e4b-4622-86eb-95a22b832caa&DisplayLang=fr 443 Goto WININSTALLER 444 445 echo Mise a jour WindowsScriptHost 5.7 ou 5.6 446 If Exist %WPKGROOT%\\..\\packages\\windows\\scripten.exe Goto SETUP57 447 If Exist %WPKGROOT%\\..\\packages\\windows\\WindowsXP-Windows2000-Script56-KB917344-x86-fra.exe Goto SETUP56 448 echo Les fichiers "scripten.exe " et "WindowsXP-Windows2000-Script56-KB917344-x86-fra.exe" sont absents. 449 echo Telechargez scripten.exe depuis l'adresse 450 echo http://www.microsoft.com/downloads/details.aspx?FamilyID=47809025-D896-482E-A0D6-524E7E844D81&displaylang=en 451 echo et placez ce fichier dans \\\\$SE3\\install\\packages\\windows\\ 452 Set /A NbErreur=1+%NbErreur% 453 Goto WININSTALLER 454 455 :SETUP56 456 :: Installation silentieuse de scriptfr.inf 457 %WPKGROOT%\\..\\packages\\windows\\WindowsXP-Windows2000-Script56-KB917344-x86-fra.exe /T:%SystemDrive%\\tmp /C /Q 458 If "%Errorlevel%"=="0" start /wait %WinDir%\\System32\\rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 %SystemDrive%\\tmp\\scriptfr.inf 459 Set Erreur=%ErrorLevel% 460 If Not "%Erreur%"=="0" If Not "%Erreur%"=="3010" echo Err %Errorlevel% : Mise a jour WindowsScriptHost 461 If Not "%Erreur%"=="0" Set /A NbErreur=1+%NbErreur% 462 If "%Erreur%"=="3010" echo WindowsScriptHost56 sera operationnel apres un redemarrage. 463 If "%Erreur%"=="0" echo Mise a jour WindowsScriptHost : OK 464 If Exist "%SystemDrive%\\tmp" RmDir /S /Q "%SystemDrive%\\tmp" 465 Goto WININSTALLER 466 467 :SETUP57 468 :: Installation silentieuse de scriptfr.inf 469 %WPKGROOT%\\..\\packages\\windows\\scripten.exe /quiet /passive /norestart /overwriteoem 470 ::If "%Errorlevel%"=="0" start /wait %WinDir%\\System32\\rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 %SystemDrive%\\tmp\\scriptfr.inf 471 Set Erreur=%ErrorLevel% 472 If Not "%Erreur%"=="0" If Not "%Erreur%"=="3010" echo Err %Errorlevel% : Mise a jour WindowsScriptHost 473 If Not "%Erreur%"=="0" Set /A NbErreur=1+%NbErreur% 474 If "%Erreur%"=="3010" echo WindowsScriptHost57 sera operationnel apres un redemarrage. 475 If "%Erreur%"=="0" echo Mise a jour WindowsScriptHost : OK 476 If Exist "%SystemDrive%\\tmp" RmDir /S /Q "%SystemDrive%\\tmp" 477 478 :WININSTALLER 479 echo Version de Windows Installer 480 cscript.exe //NoLogo %WPKGROOT%\\tools\\fileversion.vbs %WinDir%\\system32\\msiexec.exe GE 3.1.4000.1823 481 If "%ErrorLevel%"=="0" Goto MSXML 482 echo Mise a jour Windows Installer 3.1 (v2) 483 If Exist %WPKGROOT%\\..\\packages\\windows\\WindowsInstaller-KB893803-v2-x86.exe Goto SETUPMSI 484 echo Le fichier "%WPKGROOT%\\..\\packages\\windows\\WindowsInstaller-KB893803-v2-x86.exe" est absent. 485 echo Telechargez-le depuis l'adresse 486 echo http://www.microsoft.com/downloads/details.aspx?FamilyID=889482fc-5f56-4a38-b838-de776fd4138c&DisplayLang=fr 487 echo et placez ce fichier dans \\\\$SE3\\install\\packages\\windows\\ 488 Set /A NbErreur=1+%NbErreur% 489 Goto Done 490 :SETUPMSI 491 xcopy /Y /C /I /H /R %WPKGROOT%\\..\\packages\\windows\\WindowsInstaller-KB893803-v2-x86.exe "%TMP%\\" 492 start /wait /D "%TMP%" WindowsInstaller-KB893803-v2-x86.exe /passive /norestart /nobackup 493 Set Erreur=%ErrorLevel% 494 If Not "%Erreur%"=="0" echo Err %Erreur% : Mise a jour Windows Installer 495 If "%Erreur%"=="0" echo Mise a jour Windows Installer : OK 496 If Not "%Erreur%"=="0" Set /A NbErreur=1+%NbErreur% 497 Del /F /Q "%TMP%\\WindowsInstaller-KB893803-v2-x86.exe" 498 :: On continue meme en cas d'erreur 499 500 :MSXML 501 echo Version de MSXML (Microsoft Core XML Services) 502 cscript.exe //NoLogo %WPKGROOT%\\tools\\fileversion.vbs %WinDir%\\system32\\Msxml6.dll GE 6.0.3883.0 503 If "%ErrorLevel%"=="0" Goto SETTASK 504 echo Installation de MSXML (Microsoft Core XML Services) 6.0 505 If Exist %WPKGROOT%\\..\\packages\\windows\\msxml6.msi Goto SETUPMSXML 506 echo Le fichier "%WPKGROOT%\\..\\packages\\windows\\msxml6.msi" est absent. 507 echo Telechargez-le depuis l'adresse 508 echo http://www.microsoft.com/downloads/details.aspx?FamilyID=993c0bcf-3bcf-4009-be21-27e85e1857b1&DisplayLang=fr 509 echo et placez ce fichier dans \\\\$SE3\\install\\packages\\windows\\ 510 Set /A NbErreur=1+%NbErreur% 511 Goto Done 512 :SETUPMSXML 513 xcopy /Y /C /I /H /R %WPKGROOT%\\..\\packages\\windows\\msxml6.msi "%TMP%\\" 514 start /wait /D "%TMP%" msiexec /quiet /passive /i msxml6.msi 515 If Not "%ErrorLevel%"=="0" echo Err %Errorlevel% : Mise a jour MSXML 516 If "%ErrorLevel%"=="0" echo Mise a jour MSXML : OK 517 If "%Erreur%"=="3010" echo MSXML sera operationnel apres un redemarrage. 518 If Not "%ErrorLevel%"=="0" Set /A NbErreur=1+%NbErreur% 519 520 :SETTASK 521 :: Recopie en local des utilitaires de gestion de taches planifiees 522 If Not Exist %WinDir%\\jt.exe If Exist %WPKGROOT%\\tools\\jt.exe copy /Y /B %WPKGROOT%\\tools\\jt.exe %WinDir%\\jt.exe 523 If Not Exist %WinDir%\\system32\\schtasks.exe If Exist %WPKGROOT%\\tools\\schtasks2k.exe copy /Y /B %WPKGROOT%\\tools\\schtasks2k.exe %WinDir%\\schtasks2k.exe 524 525 If Not Exist %WinDir%\\jt.exe Goto TestSCHTASKS 526 :: Installation de la tache planifiee avec jt.exe 527 Set JT=%WinDir%\\jt.exe 528 echo Suppression de l'ancienne tache wpkg 529 %JT% /SD wpkg.job 530 If Exist %Windir%\\Tasks\\wpkg.job del /F /Q %Windir%\\Tasks\\wpkg.job 531 532 :: Creation de la tache planifie avec jt.exe (Echo OFF pour cacher TaskPass) 533 @Set OptJT=/SC %TaskUser% %TaskPass% 534 535 ::@Set OptJT=%OptJT% /SJ ApplicationName="%Windir%\\system32\\cscript.exe" 536 ::@Set OptJT=%OptJT% Parameters="%Windir%\\wpkg-client.vbs" 537 @Set OptJT=%OptJT% /SJ ApplicationName="%ComSpec%" 538 @Set OptJT=%OptJT% Parameters="/C start $PRIORITY %Windir%\\system32\\cscript.exe //B %Windir%\\wpkg-client.vbs" 539 540 @Set OptJT=%OptJT% WorkingDirectory="%WinDir%" 541 @Set OptJT=%OptJT% Comment="Client wpkg - Installation automatique d'applications" 542 @Set OptJT=%OptJT% Creator=%USERNAME% MaxRunTime=9999999999 DontStartIfOnBatteries=0 543 @Set OptJT=%OptJT% KillIfGoingOnBatteries=0 RunOnlyIfLoggedOn=0 DeleteWhenDone=0 544 @Set OptJT=%OptJT% /CTJ Type=ATSTARTUP StartDate=TODAY StartTime=NOW Disabled=0 545 @Set OptJT=%OptJT% /SAJ wpkg.job 546 547 @If "$DBG"=="1" Echo %JT% %OptJT% Pause 5 sec ... 548 @If "$DBG"=="1" ping -n 6 127.0.0.1 >NUL 549 550 echo Creation de la tache wpkg. 551 @%JT% %OptJT% 552 If Not ErrorLevel 1 echo "Creation de la tache planifiee : OK" 553 If ErrorLevel 1 echo "Erreur de creation de la tache planifiee :" 554 @If ErrorLevel 1 %Windir%\\jt.exe %OptJT% 555 Set OptJT= 556 Set TaskPass= 557 Set TaskUser= 558 Goto CopyWpkgClient 559 560 TestSCHTASKS 561 :: Si schtasks.exe local est dispo on l'utilise 562 Set SCHTASKS=%WinDir%\\system32\\schtasks.exe 563 If Exist "%SCHTASKS%" Goto CreateTask 564 Set SCHTASKS=%WinDir%\\schtasks2k.exe 565 If Exist "%SCHTASKS%" Goto CreateTask 566 Goto NoSchTasks 567 568 :CreateTask 569 :: Suppression eventuelle d'une ancienne tache planifiee avec schtasks2k.exe 570 %SCHTASKS% | find /I "wpkg" >NUL 571 If ErrorLevel 1 Goto TaskDelOk 572 echo Suppression de l'ancienne tache wpkg. avec %SCHTASKS% 573 %SCHTASKS% /Delete /TN wpkg /F 574 If ErrorLevel 1 %SCHTASKS% /Delete /TN wpkg /F 575 If Exist %Windir%\\Tasks\\wpkg.job del /F /Q %Windir%\\Tasks\\wpkg.job 576 :TaskDelOk 577 578 :: Creation de la tache planifie avec %SCHTASKS% 579 @Set Opt=/create /RU %TaskUser% /RP %TaskPass% 580 @Set Opt=%Opt% /SC ONSTART /TN wpkg /TR "%Windir%\\system32\\cscript.exe //B %Windir%\\wpkg-client.vbs" 581 582 @If "$DBG"=="1" Echo %SCHTASKS% %Opt% Pause 5 sec ... 583 @If "$DBG"=="1" ping -n 6 127.0.0.1 >NUL 584 585 echo Creation de la tache wpkg avec %SCHTASKS% 586 @%SCHTASKS% %Opt% 587 If ErrorLevel 1 echo Erreur %ErrorLevel% lors de la creation de la tache planifiee : 588 :: @If ErrorLevel 1 %SCHTASKS% %Opt% 589 Set Opt= 590 Set TaskPass= 591 Set TaskUser= 592 593 :CopyWpkgClient 594 :: Suppression de %WinDir%\\wpkg.job resultant de l'install ancienne version 595 If Exist %WinDir%\\wpkg.job Del /F /Q %WinDir%\\wpkg.job 596 If Exist %WinDir%\\wpkg-client.vbs echo Suppression de l'ancien client %WinDir%\\wpkg-client.vbs. 597 If Exist %WinDir%\\wpkg-client.vbs Del /F /Q %WinDir%\\wpkg-client.vbs 598 :: Recopie des fichiers 599 If Exist %WPKGROOT%\\wpkg-client.vbs copy /Y /V /B %WPKGROOT%\\wpkg-client.vbs %WinDir%\\wpkg-client.vbs 600 If Exist %WinDir%\\wpkg-client.vbs Goto RunClient 601 echo Erreur : copy /Y /V /B %WPKGROOT%\\wpkg-client.vbs %WinDir%\\wpkg-client.vbs 602 echo Erreur : copy /Y /V /B %WPKGROOT%\\wpkg-client.vbs %WinDir%\\wpkg-client.vbs 603 Exit /B 7 604 605 :RunClient 606 echo Recopie du client depuis le serveur : OK 607 608 If Not "%NbErreur%"=="0" Set NoRunWpkgJS=1 609 610 Set APPENDLOGOPTION= 611 If "%APPENDLOG%"=="1" Set APPENDLOGOPTION=/AppendLog 612 If Not "%NoRunWpkgJS%"=="1" echo Lancement du client (APPENDLOG=%APPENDLOG%) ... 613 If Not "%NoRunWpkgJS%"=="1" start /wait $PRIORITY %WinDir%\\system32\\cscript.exe //NoLogo //B %WinDir%\\wpkg-client.vbs /NoTempo %APPENDLOGOPTION% 614 If "%NoRunWpkgJS%"=="1" echo %date% %time% - Le client est en place. Il sera lance au prochain boot. 615 @If "$DBG"=="1" Echo Apres 'start /wait $PRIORITY %WinDir%\\system32\\cscript.exe //NoLogo //B %WinDir%\\wpkg-client.vbs /NoTempo %APPENDLOGOPTION%' Pause 2 sec ... 616 @If "$DBG"=="1" ping -n 3 127.0.0.1 >NUL 617 If Exist "%SystemDrive%\\netinst\\wpkg-notempo.txt" del /F /Q "%SystemDrive%\\netinst\\wpkg-notempo.txt" 618 If Exist "%SystemDrive%\\netinst\\nowpkg.txt" del /F /Q "%SystemDrive%\\netinst\\nowpkg.txt" 619 620 Goto WpkgInstallDone 621 622 :NoSchTasks 623 :: Pas d'utilitaire disponible pour creer la tache planifiee 624 echo Erreur : ni schtasks2k.exe, ni jt.exe 625 echo ne sont disponibles dans %WPKGROOT%\\tools\\ 626 echo 627 echo Revoir l'installation de wpkg. 628 echo. 629 :WpkgInstallDone 630 631 @If "$DBG"=="1" Echo Sortie de wpkg-install.bat Pause 5 sec ... 632 @If "$DBG"=="1" ping -n 6 127.0.0.1 >NUL 633 :Done 634 echo %date% %time% Fin de wpkg-install.bat. 635 PREINSTBAT 636 #--------Fin wpkg-install.bat-----------# 637 recode $script_charset..CP850 $WPKGDIR/wpkg-install.bat 638 todos $WPKGDIR/wpkg-install.bat 639 echo "Script $WPKGDIR/wpkg-install.bat cree." 640 641 # Chemin du job d'installation de wpkg sur un poste pour un utilisateur lambda 642 INSTTASKJOB="\\\\$SE3\\Progs\\ro\\wpkgInstall.job" 643 # Chemin du job d'execution de wpkg sur un poste pour un utilisateur lambda 644 RUNWPKGJOB="\\\\$SE3\\Progs\\ro\\wpkgRun.job" 645 # Commande a placer dans le script de login des utilisateurs 646 CMDINSTALL="@if \"%%OS%%\"==\"Windows_NT\" if not exist \"%%WinDir%%\\wpkg-client.vbs\" $CPAU -dec -lwp -hide -cwd %%SystemDrive%%\\ -file $INSTTASKJOB 2^>NUL ^>NUL" 647 FINDCMD="@if \"\"%%OS%%\"\"==\"\"Windows_NT\"\" if not exist \"\"%%WinDir%%\\wpkg-client.vbs\"\" $CPAU -dec -lwp -hide -cwd %%SystemDrive%%\\ -file $INSTTASKJOB 2>NUL >NUL" 648 # Chemin du script de login 649 LogonBat="\\\\$SE3\\admhomes\\templates\\base\\logon.bat" 650 # Commande executee par adminse3 pour installer wpkg sur le poste 651 TASK="(net use \\\\$SE3||(exit 8))&&(Set APPENDLOG=1&&Set TaskUser=$ADMINSE3&&Set TaskPass=$PASSADMINSE3&&call $WPKGROOT\\wpkg-install.bat&net use * /delete /y)" 652 # Commande executee par adminse3 pour executer wpkg sur le poste 653 TASKRUNWPKG='{%%{ComSpec}%%} /C cscript {%%{Windir}%%}\\wpkg-client.vbs /debug /notempo /cpuLoad 80&pause' 654 655 # Script de diagnostic et reparation d'un client wpkg recalcitrant 656 # par exemple a cause d' un compt adminse3 defaillant 657 #--------Debut wpkg-diag.bat-----------# 658 cat - > /var/se3/Progs/install/wpkg-diag.bat <<WPKGDIAG 659 :: Script de diagnostic/reparation d'un client wpkg qui ne demarre plus. 660 :: Verifie le compte adminse3 puis lance wpkg-repair.bat sous adminse3. 661 :: ## $Id: wpkg-install.sh 8338 2014-12-23 15:52:41Z olikin $ ## 662 @echo OFF 663 664 :: NoRunWpkgJS=1 pour ne pas lancer wpkg avec ce script. 665 :: A priori, il est deja en cours d'execution. 666 :: Il sera lance au prochain boot du poste. 667 Set NoRunWpkgJS=1 668 669 :: Initialisation des variables 670 :: Nom du serveur SE3 utilise lors de l'install de wpkg 671 Set Se3=$SE3 672 :: Fichier de log du dignostic 673 If Not Exist \\\\%Se3%\\Progs\\rw\\wpkg mkdir \\\\%Se3%\\Progs\\rw\\wpkg 674 Set LOG=\\\\%Se3%\\Progs\\rw\\wpkg\\%COMPUTERNAME%.log 675 echo Diagnostic de l'installation du client Wpkg sur '%COMPUTERNAME%' >%LOG% 676 echo. 677 echo %date% %time% Debut du diagnostic. >>%LOG% 678 echo. >>%LOG% 679 680 :: Test du compte adminse3 681 :: Le compte adminse3 existe-t-il ? 682 net user adminse3 >NUL 683 If ErrorLevel 1 Goto ErrNoAdminse3 684 echo Le compte adminse3 existe. >>%LOG% 685 net user adminse3 | find /I "Compte" | find /I "actif" | find /I "oui" >>%LOG% 686 If ErrorLevel 1 Goto ErrAdminse3NotActive 687 net user adminse3 | find /I "Le mot de passe expire" | find /I "jamais" >>%LOG% 688 If ErrorLevel 1 Goto ErrAdminse3Expire 689 net user adminse3 | find /I "groupes locaux" | find /I "Administrateurs" >>%LOG% 690 If ErrorLevel 1 Goto ErrAdminse3NotAdministrateur 691 net user adminse3 | find /I "Mot de passe exig" | find /I "Oui" >>%LOG% 692 If ErrorLevel 1 Goto ErrAdminse3NoPassword 693 echo. >>%LOG% 694 695 :: Lancement de wpkg-repair.bat a l'aide du job wpkg-repair.job 696 If Not Exist \\\\%se3%\\Progs\\ro\\wpkg-repair.job Goto NoWpkgRepairJob 697 Echo Lancement du job CPAU wpkg-repair >>%LOG% 698 \\\\%se3%\\netlogon\\CPAU.exe -dec -wait -lwp -cwd %SystemDrive%\\ -file \\\\%se3%\\Progs\\ro\\wpkg-repair.job 2>NUL >NUL 699 If "%ErrorLevel%"=="1907" Goto ErrAdminse3Expire 700 If "%ErrorLevel%"=="1326" Goto ErrAdminse3BadPassword 701 702 Goto Done 703 704 :NoWpkgRepairJob 705 echo Erreur : Fichier \\\\%se3%\\Progs\\install\\wpkg-repair.job absent ! >>%LOG% 706 echo En tant que root sur la console du serveur, relancer : >>%LOG% 707 echo /var/cache/se3_install/wpkg-install.sh >>%LOG% 708 Goto Done 709 710 :ErrAdminse3BadPassword 711 echo Erreur : Le mot de passe d'adminse3 sur %COMPUTERNAME% n'est pas correct ! >>%LOG% 712 echo Revoir la configuration du compte 'adminse3' sur %COMPUTERNAME%. >>%LOG% 713 Goto Done 714 715 :ErrAdminse3NoPassword 716 echo Erreur : Aucun mot de passe n'est exige pour adminse3. >>%LOG% 717 echo Revoir la configuration du compte 'adminse3' sur %COMPUTERNAME%. >>%LOG% 718 Goto Done 719 720 :ErrAdminse3NotAdministrateur 721 echo Erreur : adminse3 n'est pas membre du groupe local des Administrateurs. >>%LOG% 722 echo Revoir la configuration du compte 'adminse3' sur %COMPUTERNAME%. >>%LOG% 723 Goto Done 724 725 :ErrAdminse3Expire 726 echo Erreur : Le compte adminse3 a un mot de passe qui expire. >>%LOG% 727 echo Revoir la configuration du compte 'adminse3' sur %COMPUTERNAME%. >>%LOG% 728 Goto Done 729 730 :ErrAdminse3NotActive 731 echo Erreur : Le compte adminse3 n'est pas actif. >>%LOG% 732 echo Revoir la configuration du compte 'adminse3' sur %COMPUTERNAME%. >>%LOG% 733 Goto Done 734 735 :ErrNoAdminse3 736 echo Erreur : Pas de compte adminse3 defini sur ce poste. >>%LOG% 737 echo Revoir l'integration du poste au domaine SAMBAEDU. >>%LOG% 738 Goto Done 739 740 :Done 741 742 WPKGDIAG 743 #--------Fin wpkg-diag.bat-----------# 744 recode $script_charset..CP850 /var/se3/Progs/install/wpkg-diag.bat 745 todos /var/se3/Progs/install/wpkg-diag.bat 746 # setfacl -m u::rwx -m g::rx -m o::rx /var/se3/Progs/install/wpkg-diag.bat 747 chmod 755 /var/se3/Progs/install/wpkg-diag.bat 748 echo "Script /var/se3/Progs/install/wpkg-diag.bat cree." 749 750 # Script de reparation d'un client wpkg recalcitrant 751 # par exemple a cause de running=true qui bloque l'execution 752 #--------Debut wpkg-repair.bat-----------# 753 cat - > $WPKGDIR/wpkg-repair.bat <<WPKGREPAIR 754 :: Script de diagnostic/reparation d'un client wpkg qui ne s'execute pas. 755 :: Il s'execute sous adminse3 (encore faut-il que ce compte soit valide !) 756 :: Le lancement se fait avec le job CPAU (wpkg-repair.job) 757 @echo OFF 758 Set SE3=$SE3 759 760 Set NoRunWpkgJS=1 761 Set CscriptRunning=1 762 If Not Exist \\\\%SE3%\\install\\wpkg\\tools\\pslist.exe Goto ApresTestCscript 763 :: Le parametre /accepteula est-il necessaire pour les pstools ? 764 Set ACCEPTEULA=/accepteula 765 \\\\%SE3%\\install\\wpkg\\tools\\pslist.exe /accepteula 2>NUL >NUL 766 If ErrorLevel 1 Set ACCEPTEULA= 767 768 :: Laisse une chance a l'ancien wpkg-client.vbs de se terminer 769 echo Attend au plus 60s que l'ancien client se termine 770 set BoucleAttend="x" 771 :AttendFinCscript 772 ping -n 4 127.0.0.1 >NUL 773 \\\\%SE3%\\install\\wpkg\\tools\\pslist.exe %ACCEPTEULA% cscript 2>NUL >NUL 774 If ErrorLevel 1 Set CscriptRunning=0 775 If "%CscriptRunning%"=="0" Goto ApresTestCscript 776 Set BoucleAttend=%BoucleAttend%x 777 If "%BoucleAttend%"=="xxxxxxxxxxxxxxxxxxxxx" Goto ApresTestCscript 778 Echo "On attend encore un peu ..." 779 Goto AttendFinCscript 780 781 :ApresTestCscript 782 783 If Not Exist %SystemDrive%\\netinst\\log mkdir %SystemDrive%\\netinst\\log 784 Set LOG=%SystemDrive%\\netinst\\log\\wpkg-repair.log 785 echo. 1>%LOG% 786 echo %date% %time% Demarrage wpkg-repair.bat en tant que %USERNAME%. 1>%LOG% 787 :: TaskUser et TaskPass sont disponibles 788 Set REGEXE=%WinDir%\\system32\\reg.exe 789 If Exist "%REGEXE%" Goto REGEXEFOUND 790 Set REGEXE=\\\\%SE3%\\install\\wpkg\\tools\\reg.exe 1>>%LOG% 791 If Exist "%REGEXE%" Goto REGEXEFOUND 792 echo L'utilitaire reg.exe est introuvable. 1>>%LOG% 793 echo A partir d'un WinXP, recopiez %WinDir%\\system32\\reg.exe dans \\\\%SE3%\\install\\wpkg\\tools\\ 1>>%LOG% 794 Goto InstallWpkg 795 796 :REGEXEFOUND 797 798 :: Controle de running True 799 reg query hklm\\software 2>NUL >NUL 800 If ErrorLevel 1 Goto ErreurRegExe 801 reg query hklm\\software\\wpkg 2>NUL >NUL 802 If ErrorLevel 1 Goto WpkgNeverRun 803 reg query hklm\\software\\wpkg 2>NUL | find /I "running" | find /I "true" 1>>%LOG% 804 If ErrorLevel 1 Goto WpkgRunninFalse 805 Echo Wpkg est indique en cours d'execution 1>>%LOG% 806 Echo L'entree running=true de la base de registre est supprimee 1>>%LOG% 807 Echo Wwpkg ne sera lance qu'au prochain boot. 1>>%LOG% 808 reg delete hklm\\software\\wpkg /v running /f 809 Goto InstallWpkg 810 811 :ErreurRegExe 812 Echo Erreur reg.exe ! Etes-vous sur de la validite de cet utilitaire ? 1>>%LOG% 813 Goto InstallWpkg 814 815 :WpkgRunninFalse 816 Echo Wpkg n'est pas indique en cours d'execution. 1>>%LOG% 817 If "%CscriptRunning%"=="0" Set NoRunWpkgJS=0 818 Goto InstallWpkg 819 820 :WpkgNeverRun 821 Echo Wpkg n'a jamais ete execute sur ce poste. 1>>%LOG% 822 If "%CscriptRunning%"=="0" Set NoRunWpkgJS=0 823 Goto InstallWpkg 824 825 :InstallWpkg 826 :: Mise a jour du client 827 Echo Lancement du client wpkg ... 1>>%LOG% 828 829 Set LOGSRV=\\\\%SE3%\\install\\wpkg\\rapports\\%COMPUTERNAME%.maj 830 If Exist "%LOGSRV%" del /F /Q "%LOGSRV%" 831 If Exist \\\\%SE3%\\Progs\\rw\\wpkg\\%COMPUTERNAME%.log Type \\\\%SE3%\\Progs\\rw\\wpkg\\%COMPUTERNAME%.log >> %LOGSRV% 832 If Exist \\\\%SE3%\\Progs\\rw\\wpkg\\%COMPUTERNAME%.log del /F /Q \\\\%SE3%\\Progs\\rw\\wpkg\\%COMPUTERNAME%.log 833 If Exist %LOG% echo -- %date% %time% Contenu de wpkg-repair.log --- >> %LOGSRV% 834 If Exist %LOG% Type %LOG% >> %LOGSRV% 835 If Exist %LOG% echo -- Fin wpkg-repair.log --- >> %LOGSRV% 836 echo La suite du rapport d'installation sera disponible dans quelques instants ... >> %LOGSRV% 837 838 Rem Set SILENT=1 839 Set APPENDLOG=1 840 call \\\\%SE3%\\install\\wpkg\\wpkg-install.bat 2>%LOG%.err 1>%LOG% 841 842 echo -- %date% %time% Contenu de wpkg-install.log.err --- >> %LOGSRV% 843 Type %LOG%.err >> %LOGSRV% 844 echo -- Fin wpkg-install.log.err --- >> %LOGSRV% 845 echo -- Contenu de wpkg-install.log --- >> %LOGSRV% 846 Type %LOG% >> %LOGSRV% 847 echo -- Fin wpkg-install.log --- >> %LOGSRV% 848 849 WPKGREPAIR 850 #--------Fin wpkg-repair.bat-----------# 851 recode $script_charset..CP850 $WPKGDIR/wpkg-repair.bat 852 todos $WPKGDIR/wpkg-repair.bat 853 echo "Script $WPKGDIR/wpkg-repair.bat cree." 854 855 856 #--------Debut wpkg-config.bat-----------# 857 # A executer une fois par l'admin pour creer les jobs cpau et placer la commande d'installation dans 'templates\\base\\logon.bat' 858 # cat - > $CONFIGBAT <<FINCONFIGBAT 859 # @echo off 860 861 # Set SCHTASKEXE=%WinDir%\\system32\\schtasks.exe 862 # Set DestExe=%WPKGROOT%\\tools\\schtasks2k.exe 863 864 # Set WinType=XP 865 # ver | find "2000" >NUL 866 # if Not ErrorLevel 1 Set WinType=2K 867 # if ErrorLevel 1 ver | find /I "XP" >NUL 868 # if ErrorLevel 1 Goto No2000XP 869 870 # :: Utilitaire schtasks2k.exe pour gerer les 'taches planifiees' sur Win2K et WinXp 871 # Set SCHTASKS=schtasks2k 872 # If Not Exist %WPKGROOT%\\tools\\schtasks2k.exe Goto MAKESCHTASKS2K 873 # echo %WPKGROOT%\\tools\\schtasks2k.exe ‚tait d‚j… disponible. 874 # If "%WinType%"=="XP" echo Si vous souhaitez regenerer schtasks2k.exe, 875 # If "%WinType%"=="XP" echo effacez-le puis relancez wpkg-config.bat. 876 # echo. 877 # Goto JTorSCHTASKS2KOK 878 # :MAKESCHTASKS2K 879 # :: Creation de schtasks2k.exe a partir de %WinDir%\\system32\\schtasks.exe 880 # :: Est-on bien sur un WinXP 881 # if "%WinType%"=="XP" Goto OnXP 882 # :: Sinon, est-ce que jt.exe est disponible pour installer une tache planifiee 883 # if Not Exist %WPKGROOT%\\tools\\jt.exe Goto NOJT 884 # Set SCHTASKS=jt 885 # Goto JTorSCHTASKS2KOK 886 887 # :OnXP 888 # Set SCHTASKS= 889 # echo Application d'un patch … schtasks.exe pour le rendre utilisable sous Windows 2000. 890 # :: ----------------------------- patch schtasks.exe --------------------------------------- 891 892 # :: Hack honteux pour rendre schtasks.exe de WinXP utilisable sous Win2k 893 # :: D'apres une idee de http://www.windowsitpro.com/Articles/ArticleID/25186/25186.html 894 # :: Adaptatation a la version francaise de schtasks.exe version 5.1.2600.2180 895 # :: et automatisation de l'application du patch avec debug. 896 897 # If Not Exist "%SCHTASKEXE%" Goto NoSCHTASKEXE 898 899 # ::Changement de repertoire 900 # pushd %SystemDrive%\\ 901 902 # copy /Y /B "%SCHTASKEXE%" .\\schtasks.dat >NUL 903 # If ErrorLevel 1 Goto ErrDupExe 904 905 # :: S'agit-il de la bonne version du fichier 906 # echo d e4f0 e4ff>patch1.txt 907 # echo q>>patch1.txt 908 909 # cmd /c debug schtasks.dat < patch1.txt >sortie.txt 910 # type sortie.txt | find "00 E8 68 EC FF FF 85 C0-75 0F 68 7F 15 00 00 E8" >NUL 911 912 # If ErrorLevel 1 Goto BadFile 913 914 # :: Changement octet e4f8 : 75->EB 915 # :: 1535:E4F8 750F JNZ E509 916 # :: a remplacer par 917 # :: 1535:E4F8 EB0F JMP E509 918 919 # echo e e4f8 eb>patch2.txt 920 # echo w>>patch2.txt 921 # echo q>>patch2.txt 922 # cmd /c debug schtasks.dat < patch2.txt 923 924 # If ErrorLevel 1 Goto ErrDebug 925 926 # :: Juste pour verifier le bon changement de l'octet. 927 # cmd /c debug schtasks.dat < patch1.txt >sortie.txt 928 # type sortie.txt | find "00 E8 68 EC FF FF 85 C0-EB 0F 68 7F 15 00 00 E8" >NUL 929 930 # If ErrorLevel 1 Goto PatchNotDone 931 # Echo Le patch a ete applique avec succes. 932 933 # :: Recopie de ce fichier sur le serveur 934 # copy /Y /B schtasks.dat %DestExe% >NUL 935 # If ErrorLevel 1 Goto ErrCopy 936 937 # Goto PatchDone 938 939 # :ErrDupExe 940 # Echo Erreur de copie de "%SCHTASKEXE%" vers "%SystemDrive%\\schtasks.dat" 941 # Goto ErreurPatch 942 943 # :ErrCopy 944 # Echo Erreur de copie de "%SystemDrive%\\schtasks.dat" vers %DestExe% 945 # Goto ErreurPatch 946 947 # :PatchNotDone 948 # Echo Erreur : l'application du patch a echoue ! 949 # Goto ErreurPatch 950 951 # :ErrDebug 952 # Echo Erreur : La commande DEBUG a quitte avec l'erreur %ErrorLevel% ! 953 # Goto ErreurPatch 954 955 # :BadFile 956 # Echo Erreur : le fichier %SCHTASKEXE% n'est pas de la version 5.1.2600.2180 957 # Goto ErreurPatch 958 959 # :NoSCHTASKEXE 960 # echo Erreur : le fichier %SCHTASKEXE% n'existe pas ! 961 # echo Etes-vous bien sur un Windows XP ? 962 # Goto ErreurPatch 963 964 # :ErreurPatch 965 # Set Erreur=1 966 967 # :PatchDone 968 # :: Faire du menage 969 # If Exist patch1.txt del /F /Q patch1.txt 2>NUL >NUL 970 # If Exist patch2.txt del /F /Q patch2.txt 2>NUL >NUL 971 # If Exist sortie.txt del /F /Q sortie.txt 2>NUL >NUL 972 # If Exist schtasks.dat del /F /Q schtasks.dat 2>NUL >NUL 973 # popd 974 # :: Saut hors patch en cas d'erreur 975 # If "%Erreur%"=="1" Goto PatchFail 976 # Goto SCHTASKS2KOK 977 978 # :: Yeh ! we got it ! 979 # :: ----------------------------- Fin patch schtasks.exe --------------------------------------- 980 981 # :PatchFail 982 # echo Erreur : L'application du patch au fichier SCHTASKEXE a echoue. 983 # echo Vous pouvez tenter d'executer a nouveau ce script a partir d'un autre PC (Windows XP SP2). 984 # If Exist %WPKGROOT%\\tools\\jt.exe Goto JtEstLa 985 # Goto RECOMMANDEJT 986 987 # :SCHTASKS2KOK 988 989 # Set SCHTASKS=schtasks2k 990 # echo %DestExe% est maintenant disponible. 991 992 # :JTorSCHTASKS2KOK 993 # echo. 994 # echo Essai de %WPKGROOT%\\tools\\schtasks2k.exe 995 # echo en listant les 'tâches planifiees' actuelles de ce poste : 996 # %DestExe% 997 # echo. 998 # if ErrorLevel 1 Echo %DestExe% 999 # if ErrorLevel 1 Echo a genere une erreur : ErrorLevel=%ErrorLevel% 1000 # if ErrorLevel 1 Echo. 1001 1002 # :: Presence jt.exe 1003 # If Exist %WPKGROOT%\\tools\\jt.exe Goto JtEstLa 1004 # :RECOMMANDEJT 1005 # echo Vous devriez telecharger l'utilitaire jt.exe a l'adresse : 1006 # echo ftp://ftp.microsoft.com/reskit/win2000/jt.zip 1007 # echo Et placer apres decompression jt.exe dans %WPKGROOT%\\tools 1008 # echo Ainsi, vous n'aurez plus besoin du fichier patch‚ schtasks2K.exe. 1009 # echo Il vous faudra ensuite relancer ce script. 1010 # echo. 1011 # pause 1012 # Goto SetACL 1013 # :JtEstLa 1014 # Echo L'utilitaire jt.exe est disponible. 1015 # echo Il sera utilis‚ pour creer la tâche planifiee. 1016 # echo. 1017 1018 # :SetACL 1019 # Set SetACL=%WPKGROOT%\\tools\\SetACL.exe 1020 # If Exist %SetACL% Goto SetACLOK 1021 # echo Vous devriez telecharger l'utilitaire SetACL a l'adresse : 1022 # echo http://ovh.dl.sourceforge.net/sourceforge/setacl/setacl-cmdline-2.0.2.0-binary.zip 1023 # echo Et placer apres decompression SetACL.exe dans %WPKGROOT%\\tools 1024 # echo. 1025 # Goto CreationJob 1026 # :SetACLOK 1027 # echo L'utilitaire SetACL.exe est disponible 1028 # echo. 1029 1030 # :: Recopie de reg.exe qui n'est pas disponible sous Win2k alors qu'il fonctionne parfaitement 1031 # If Exist %WinDir%\\system32\\reg.exe xcopy /Y /C /I /H /R %WinDir%\\system32\\reg.exe "%WPKGROOT%\\tools\\" >NUL 1032 # If Exist "%WPKGROOT%\\tools\\reg.exe" Echo L'utilitaire reg.exe est disponible dans %WPKGROOT%\\tools\\ 1033 # If Not Exist "%WPKGROOT%\\tools\\reg.exe" Echo L'utilitaire reg.exe n'est pas disponible 1034 # echo. 1035 1036 # :CreationJob 1037 # ::If Exist "$WPKGROOT\\wpkg.job" Del /F /Q "$WPKGROOT\\wpkg.job" 1038 1039 # ::echo Creation du job CPAU d'install sous le compte $ADMINSE3 1040 # ::echo $INSTTASKJOB 1041 # ::If Exist "$INSTTASKJOB" Del /F /Q "$INSTTASKJOB" 1042 # ::set TASK="$TASK" 1043 1044 # @If "$DBG"=="1" Echo Dbg. TASK="$TASK" 1045 1046 # ::@$CPAU -u $ADMINSE3 -p $PASSADMINSE3 -enc -file $INSTTASKJOB -lwp -c -ex %TASK% 2>NUL >NUL 1047 # ::Set TASK= 1048 # ::If ErrorLevel 8 Goto ErrAuthSe3 1049 # ::If ErrorLevel 1 Goto ErrMakeInstallJob 1050 # ::If Not Exist "$INSTTASKJOB" Goto ErrMakeInstallJob 1051 # echo $INSTTASKJOB : SUCCES. 1052 1053 # echo. 1054 # echo Creation du lien de lancement manuel de wpkg 1055 # Set TASKRUNWPKG="$TASKRUNWPKG" 1056 # @$CPAU -u $ADMINSE3 -p $PASSADMINSE3 -enc -file $RUNWPKGJOB -lwp -c -ex %TASKRUNWPKG% 2>NUL >NUL 1057 # %WPKGROOT%\\tools\\nircmdc.exe shortcut $CPAU "~\$folder.desktop\$" "Synchronise les applications Wpkg" "-dec -lwp -cwd c:\\ -file $RUNWPKGJOB" %%windir%%\\system32\\setup.exe 1058 # %WPKGROOT%\\tools\\nircmdc.exe execmd If Exist "~\$folder.desktop\$\\Applications Wpkg.lnk" Del /f /S "~\$folder.desktop\$\\Applications Wpkg.lnk" 1059 # %WPKGROOT%\\tools\\nircmdc.exe execmd RENAME "~\$folder.desktop\$\\Synchronise les applications Wpkg.lnk" "Applications Wpkg.lnk" 1060 1061 # :: echo. 1062 # :: echo Creation du lien pour forcer la valeur running=false 1063 # :: Set wpkgRunningFalseJOB=\\\\$SE3\\Progs\\ro\\wpkgRunningFalse.job 1064 # :: @$CPAU -u $ADMINSE3 -p $PASSADMINSE3 -enc -file "%wpkgRunningFalseJOB%" -lwp -c -ex "\\\\$SE3\\install\\wpkg\\tools\reg.exe ADD HKLM\\Software\\wpkg /v running /d false /f" 2>NUL >NUL 1065 # :: %WPKGROOT%\\tools\\nircmdc.exe shortcut $CPAU "\\\\$SE3\\Progs\\ro" "WpkgRunningFalse" "-dec -lwp -cwd c:\\ -file %wpkgRunningFalseJOB%" %%windir%%\\regedit.exe 1066 1067 # echo. 1068 # echo Creation du job pour lancer wpkg-repair.bat 1069 # Set wpkgRepairJOB=\\\\$SE3\\Progs\\ro\\wpkg-repair.job 1070 # Set wpkgRepairBAT=\\\\$SE3\\install\\wpkg\\wpkg-repair.bat 1071 # @$CPAU -u $ADMINSE3 -p $PASSADMINSE3 -enc -file "%wpkgRepairJOB%" -lwp -c -ex "(net use \\\\$SE3||exit 8)&&(set TaskUser=$ADMINSE3&&set TaskPass=$PASSADMINSE3&&call %wpkgRepairBAT%&net use * /delete /y)" 2>NUL >NUL 1072 1073 1074 # :: --------------Install client sur poste local------------------------------ 1075 # :: Controle du compte $ADMINSE3 1076 # net user $ADMINSE3 2>NUL >NUL 1077 # If ErrorLevel 1 Goto NoAdminse3 1078 # net user $ADMINSE3 | find "Compte" | find "actif" | find "Oui" 2>NUL >NUL 1079 # If ErrorLevel 1 Goto NoAdminse3Actif 1080 # net user $ADMINSE3 | find "*Administrateurs" 2>NUL >NUL 1081 # If ErrorLevel 1 Goto NoAdminse3Admins 1082 # net user $ADMINSE3 | find "mot de passe expire" | find "Jamais" 2>NUL >NUL 1083 # If ErrorLevel 1 Goto NoAdminse3NoExpire 1084 # echo. 1085 # echo Le compte $ADMINSE3 est actif, membre du groupe 'Administrateurs' 1086 # echo et son mot de passe n'expire jamais. 1087 # Goto AskInstallLocal 1088 1089 # :NoAdminse3NoExpire 1090 # echo. 1091 # echo Le mot de passe de $ADMINSE3 va expirer : 1092 # net user $ADMINSE3 | find "Le mot de passe expire" 1093 # pause 1094 # Goto AskInstallLocal 1095 1096 # :NoAdminse3Admins 1097 # echo. 1098 # echo Le compte de $ADMINSE3 n'est pas membre du groupe des 'Administrateurs'. 1099 # pause 1100 # Goto LOGONBAT 1101 1102 # :NoAdminse3Actif 1103 # echo. 1104 # echo Le compte local $ADMINSE3 n'est pas actif. 1105 # echo Le test de la procedure d'installation de wpkg n'est pas possible sur ce poste. 1106 # pause 1107 # Goto LOGONBAT 1108 1109 # :NoAdminse3 1110 # echo. 1111 # echo Le compte local $ADMINSE3 n'existe sur ce poste. 1112 # echo Ce poste n'a vraisemblablement pas rejoint le domaine... 1113 # echo Le test de la procedure d'installation de wpkg n'est pas possible sur ce poste. 1114 # pause 1115 # Goto LOGONBAT 1116 1117 # :AskInstallLocal 1118 # Set REPONSE=O 1119 # echo. 1120 # echo Avant de placer la commande d'installation dans le script de login, 1121 # echo vous pouvez tester le script d'installation de wpkg sur ce poste. 1122 # echo. 1123 # echo Rmq. Les fenetres qui s'ouvrent pour ce test, seront masquees 1124 # echo lors de l'installation 'normale' au login d'un utilisateur. 1125 # echo. 1126 1127 # Set NoRunWpkgJS=1 1128 # Set /P REPONSE= Voulez-vous installer maintenant wpkg sur ce poste ? O^|N [O] 1129 # if Not "%REPONSE%"=="O" if Not "%REPONSE%"=="o" Goto LOGONBAT 1130 # Set NoRunWpkgJS=0 1131 # echo. 1132 # echo Installation de wpkg sur ce poste : en cours... 1133 # echo Pas de temporisation avant lancement de wpkg-se3.js > "%SystemDrive%\\netinst\\wpkg-notempo.txt" 1134 # ::start /wait $CPAU -dec -lwp -wait -outprocexit -cwd %SystemDrive%\\ -file $INSTTASKJOB 1135 # start /wait $CPAU -dec -lwp -wait -cwd %SystemDrive%\\ -file $INSTTASKJOB 1136 # If "%ErrorLevel%"=="0" Goto InstallWPKGSucces 1137 # Goto ErrRunJob 1138 # :InstallWPKGSucces 1139 # Set WpkgIsInstalled=1 1140 # echo Installation de wpkg sur ce poste : SUCCES. 1141 # If "%NoRunWpkgJS%"=="1" Goto LOGONBAT 1142 # echo. 1143 # If Exist %WinDir%\\wpkg.txt echo %WinDir%\\wpkg.txt : Etat des applis wpkg de ce poste. 1144 # If Exist %WinDir%\\wpkg.log echo %WinDir%\\wpkg.log : Log de l'execution de wpkg-se3.js 1145 # If Not Exist %WinDir%\\wpkg.txt echo Err. %WinDir%\\wpkg.txt absent : Pas d'etat des applis disponibles. 1146 # If Not Exist %WinDir%\\wpkg.log echo Err. %WinDir%\\wpkg.log : Pas de Log de l'execution de wpkg. 1147 # If Exist %WPKGROOT%\\rapports\\%COMPUTERNAME%.txt echo %WPKGROOT%\\rapports\\%COMPUTERNAME%.txt : Remontee serveur. 1148 # If Exist %WPKGROOT%\\rapports\\%COMPUTERNAME%.log echo %WPKGROOT%\\rapports\\%COMPUTERNAME%.log : Remontee serveur. 1149 # If Not Exist %WPKGROOT%\\rapports\\%COMPUTERNAME%.txt echo Err. %WPKGROOT%\\rapports\\%COMPUTERNAME%.txt absent : Pas de Remontee sur le serveur. 1150 # If Not Exist %WPKGROOT%\\rapports\\%COMPUTERNAME%.log echo Err. %WPKGROOT%\\rapports\\%COMPUTERNAME%.log absent : Pas de Remontee sur le serveur. 1151 # pause 1152 # :: --------------Fin Install client sur poste local------------------------------ 1153 1154 # :LOGONBAT 1155 # :: ------------------Insert Installwpkg dans $LogonBat------------------------------ 1156 # echo. 1157 # echo. 1158 # echo Commande a ajouter sur une ligne au script de login des utilisateurs : 1159 # echo :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 1160 # echo $CMDINSTALL 1161 # echo :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 1162 # echo. 1163 # If not exist $LogonBat goto NoLogonBat 1164 1165 # echo Contenu actuel du script de login concernant 'wpkg' : 1166 # echo -------- extrait de $LogonBat ------- 1167 # find /V "#" $LogonBat | find /V "Rem " | find /V "::" | find /I "wpkg" 1168 # echo ------------------------------------------------------------------- 1169 # echo. 1170 # If ErrorLevel 1 Goto PASCMDLOGIN 1171 # find "$FINDCMD" $LogonBat >NUL 1172 # If Not ErrorLevel 1 Goto SameCMD 1173 # echo Une commande d'installation de wpkg semble deja presente dans logon.bat 1174 # echo Elle n'est cependant pas identique a la commande preconisee. 1175 # echo Voulez-vous quand meme ajouter la commande d'installation de wpkg 1176 # Set REPONSE=N 1177 # Goto AskInsertCmd 1178 1179 # :SameCMD 1180 # echo La commande qui se trouve dans le script coïncide avec la commande preconisee. 1181 # pause 1182 # echo. 1183 # Goto WPKGOK 1184 1185 # :PASCMDLOGIN 1186 # echo Voulez-vous ajouter la commande d'installation de wpkg 1187 # Set REPONSE=O 1188 1189 # :AskInsertCmd 1190 # Set /P REPONSE= au template base logon.bat ? O^|N [%REPONSE%] 1191 # if Not "%REPONSE%"=="O" if Not "%REPONSE%"=="o" Goto NoAddTemplate 1192 # echo. >> $LogonBat 1193 # echo $CMDINSTALL >> $LogonBat 1194 # echo. 1195 # echo Nouveau contenu du script de login concernant 'wpkg' : 1196 # find /I "wpkg" $LogonBat 1197 # echo. 1198 # If ErrorLevel 1 Goto NoInstallTemplate 1199 # :: -----------------Fin Insert Installwpkg dans $LogonBat------------------------------ 1200 1201 # :WPKGOK 1202 # find /I ":: Pour resoudre un probleme de lancement de wpkg" $LogonBat >NUL 1203 # If "%ErrorLevel%"=="0" Goto WPKGGreetings 1204 # echo. >> $LogonBat 1205 # echo :: Pour resoudre un probleme de lancement de wpkg sur un poste. >> $LogonBat 1206 # echo Rem @if "%%COMPUTERNAME%%"=="PosteProblemeWpkg" call \\\\$SE3\\Progs\\install\\wpkg-diag.bat 2^>NUL ^>NUL >> $LogonBat 1207 1208 # :WPKGGreetings 1209 # echo. 1210 # echo Felicitation : WPKG est operationnel sur ce serveur 1211 # echo Il sera installe puis execute sur les postes 1212 # echo au prochain login d'un utilisateur. 1213 # echo Une fois installe, WPKG s'execute au boot du poste, 1214 # echo apres une temporisation de 30sec, 1215 # echo sans qu'il soit necessaire de s'authentifier. 1216 # Goto AUTODEL 1217 1218 # :ErrAuthSe3 1219 # echo. 1220 # echo Echec d'authentification au serveur $SE3 avec le compte '$SE3\\$ADMINSE3'. 1221 # Goto Done 1222 1223 # :NoAddTemplate 1224 # echo. 1225 # echo Felicitation : La configuration de Wpkg est terminee. 1226 # If "%InLoginScript%"=="1" Goto AUTODEL 1227 # echo Il vous reste a ajouter la ligne de commande precedente 1228 # echo dans les templates de votre choix. 1229 # Goto AUTODEL 1230 1231 # :No2000XP 1232 # Set WinType=9x 1233 # echo Erreur : Vous n'etes pas sur un poste Windows 2000 ou XP. 1234 # Goto Done 1235 1236 # :ErrMakeInstallJob 1237 # echo Erreur : le fichier $INSTTASKJOB n'a pas pu etre cre. 1238 # Goto Done 1239 1240 # :ErrRunJob 1241 # echo Erreur : l'installation de wpkg sur ce poste a echoue. Err=%ErrorLevel% 1242 # If EXIST "%SystemDrive%\\netinst\\wpkg-notempo.txt" del /F /Q "%SystemDrive%\\netinst\\wpkg-notempo.txt" 1243 # Goto Done 1244 1245 # :NoLogonBat 1246 # echo Erreur : le fichier $LogonBat est introuvable. 1247 # Goto NoInstallTemplate 1248 1249 # :NoInstallTemplate 1250 # echo Erreur : le fichier template $LogonBat n'a pas pu etre mis a jour. 1251 # echo Ajoutez manuellement la ligne precedente au script de login des utilisateurs. 1252 # Goto Done 1253 1254 # :NOJT 1255 # echo. 1256 # echo Erreur : Vous n'etes pas sur un PC Windows XP et l'utilitaire jt.exe 1257 # echo n'est pas disponible. 1258 # echo Telechargez jt.zip depuis l'adresse : 1259 # echo ftp://ftp.microsoft.com/reskit/win2000/jt.zip 1260 # echo puis, apres extraction, placez le fichier jt.exe dans le repertoire : 1261 # echo %WPKGROOT%\\tools\\ 1262 # echo C'est ce que je vous recommande. 1263 # echo. 1264 # echo Sinon, vous pouvez vous passer de jt.exe a condition d'executer ce script 1265 # echo a partir d'un PC Windows XP... 1266 # echo. 1267 # Goto Done 1268 1269 # :AUTODEL 1270 # If Not Exist "%~f0" Goto Done 1271 # Set REPONSE=O 1272 # echo. 1273 # echo La gestion des applications a deployer sur les postes, 1274 # echo se fait a l'aide d'un navigateur web a l'adresse : 1275 # echo $URLSE3/wpkg/ 1276 # echo. 1277 # echo Par securite, il serait prudent de supprimer ce fichier de configuration. 1278 # echo Pour cela, tapez : del %~f0 1279 # echo. 1280 # echo En cas de besoin, vous pourrez le recreer en executant a nouveau 1281 # echo '/var/cache/se3_install/wpkg-install.sh' 1282 # echo en root, sur la console du serveur. 1283 # echo. 1284 1285 # If Not "%WpkgIsInstalled%"=="1" Goto WpkgNotInstalled 1286 # If "%NoRunWpkgJS%"=="1" echo Wpkg s'executera au prochain demarrage de ce poste. 1287 # If Not "%NoRunWpkgJS%"=="1" echo Wpkg s'executera a nouveau a chaque demarrage de ce poste. 1288 # echo Si vous voulez executer wpkg maintenant, utilisez le lien 1289 # echo 'Applications Wpkg' sur le bureau de %UserName%. 1290 # echo. 1291 # :WpkgNotInstalled 1292 1293 # @If "$DBG"=="1" Echo L'installation a ete effectuee en mode DEBUG (DBG="1"). 1294 # @If "$DBG"=="1" Echo Si tout s'est bien passe, n'oubliez pas de 1295 # @If "$DBG"=="1" Echo reexecuter ce script en mode normal (DBF="0") 1296 # @If "$DBG"=="1" Echo pour supprimer les 'Pause' de l'execution des scripts. 1297 # @If "$DBG"=="1" Echo. 1298 1299 # ::set /P REPONSE=Voulez-vous supprimer wpkg-config.bat maintenant ? O^|N [O] 1300 # ::if Not "%REPONSE%"=="O" if Not "%REPONSE%"=="o" Goto Done 1301 # ::del "%~f0"&exit 0 1302 # Goto Done 1303 1304 # :Done 1305 # Set DestExe= 1306 # Set REPONSE= 1307 # Set SCHTASKS= 1308 # Set SetACL= 1309 # Set WinType= 1310 # Set WpkgIsInstalled= 1311 # Set WPKGROOT= 1312 1313 # echo. 1314 # echo Fin de wpkg-config.bat 1315 # Pause 1316 # FINCONFIGBAT 1317 1318 1319 #--------Fin wpkg-config.bat-----------# 1320 # recode $script_charset..CP850 $CONFIGBAT 1321 # unix2dos $CONFIGBAT 1322 # echo "Script de configuration destine a l'admin $CONFIGBAT cree." 1323 # chown admin:admins $CONFIGBAT 1324 # chmod 770 $CONFIGBAT 1325 1326 #--------Debut de la partie remplacant le lancement manuel de wpkg-config.bat-----------# 1327 # script devenu obsolete : suppression. 1328 [ -e /var/se3/Progs/install/wpkg-config.bat ] && echo "Suppression de /var/se3/Progs/install/wpkg-config.bat"&& rm /var/se3/Progs/install/wpkg-config.bat 1329 1330 adminse3="adminse3" 1331 1332 # Chemin du job d'installation de wpkg sur un poste pour un utilisateur lambda 1333 INSTTASKJOB="wpkgInstall.job" 1334 # Chemin du job d'execution de wpkg sur un poste pour un utilisateur lambda 1335 RUNWPKGJOB="wpkgRun.job" 1336 # Chemin du script de login 1337 LogonBat="/home/templates/base/logon.bat" 1338 # Commande executee par adminse3 pour installer wpkg sur le poste 1339 TASK="(net use \\\\$SE3||(exit 8))&&(Set APPENDLOG=1&&Set TaskUser=$ADMINSE3&&Set TaskPass=$PASSADMINSE3&&call $WPKGROOT\\wpkg-install.bat&net use * /delete /y)" 1340 # Commande executee par adminse3 pour executer wpkg sur le poste 1341 TASKRUNWPKG='{%{ComSpec}%} /C cscript {%{Windir}%}\\wpkg-client.vbs /debug /notempo /cpuLoad 80&pause' 1342 #variable WPKGDIR deja definie 1343 1344 #### on abandonne SCHTASK pour windows2000 puisque jt fonctionne. 1345 1346 # Recopie de reg.exe qui n'est pas disponible sous Win2k alors qu'il fonctionne parfaitement 1347 ### on cherche un WinXP allume et on tente un allumage si besoin. 1348 # a implementer : avec requete ldap + tcpcheck 1349 #IPWINXP=10.211.55.160 1350 #NAMEWINXP=WINXPSE3 1351 1352 if [ -e $WPKGDIR/tools/reg.exe ] ; then 1353 echo "Utilitaire reg.exe present sur le serveur." 1354 else 1355 echo "$(/usr/bin/smbstatus -b | grep -v root | grep -v nobody | awk 'NF>4 {print $4,$5}')" | while read line 1356 do 1357 NAMEWINXP="$(echo $line | cut -d" " -f1)" 1358 IPWINXP="$(echo $line | cut -d"(" -f2 | cut -d")" -f1)" 1359 #echo "NAME : $NAMEWINXP et IP : $IPWINXP" 1360 1361 ### tester si c'est un windows xp pour eviter des requetes inutiles 1362 1363 # Preparation des parametres de connexion au poste 1364 ( 1365 echo username=$adminse3 1366 echo password=$xppass 1367 echo domain=$NAMEWINXP 1368 )>/root/AUTHENTIFICATIONWINXP 1369 #cat /root/AUTHENTIFICATIONWINXP 1370 echo "Tentative de recuperation de reg.exe depuis le poste $NAMEWINXP" 1371 1372 smbclient //$IPWINXP/C$ -A /root/AUTHENTIFICATIONWINXP -c"get Windows\System32\reg.exe $WPKGDIR/tools/reg.exe" > /dev/null 1373 [ -e $WPKGDIR/tools/reg.exe ] && echo "reg.exe recupere avec succes depuis $NAMEWINXP"&& break 1374 done 1375 [ -e /root/AUTHENTIFICATIONWINXP ] && rm /root/AUTHENTIFICATIONWINXP 1376 if [ ! -e $WPKGDIR/tools/reg.exe ]; then 1377 echo "L'utilitaire reg.exe n'est toujours pas present dans $WPKGDIR/tools. Si vous avez des Windows 2000 sur votre domaine, cela pose probleme." > /tmp/mail-wpkginstall 1378 echo "PROCEDURE :" >> /tmp/mail-wpkginstall 1379 echo "1. Vous loguer sur un windows XP du domaine (peu importe le compte)." >> /tmp/mail-wpkginstall 1380 echo "2. en tant que root sur le SE3, lancer la commande :" >> /tmp/mail-wpkginstall 1381 echo "wpkg-install.sh" >> /tmp/mail-wpkginstall 1382 echo "ATTENTION : reg.exe non recupere. Envoi d'un mail a l'admin" 1383 mail root -s"[Module se3-wpkg : installation d'applications] AVERTISSEMENT : reg.exe absent du serveur" < /tmp/mail-wpkginstall 1384 rm -f /tmp/mail-wpkginstall 1385 fi 1386 fi 1387 1388 echo "Generation des job" 1389 [ -e /var/se3/Progs/ro/$INSTTASKJOB ] && rm /var/se3/Progs/ro/$INSTTASKJOB 1390 [ -e /var/se3/Progs/ro/$RUNWPKGJOB ] && rm /var/se3/Progs/ro/$RUNWPKGJOB 1391 1392 1393 ############################ 1394 # Fix for wine when running from sudo 1395 export HOME=/root 1396 ############################ 1397 cd /tmp 1398 echo "Creation du job CPAU d install sous le compte $ADMINSE3" 1399 env WINEDEBUG=-all wine /home/netlogon/CPAU.exe -u "$adminse3" -wait -p "$xppass" -file $INSTTASKJOB -lwp -c -hide -ex "$TASK" -enc > /dev/null 1400 echo "Creation du lien de lancement manuel de wpkg" 1401 env WINEDEBUG=-all wine /home/netlogon/CPAU.exe -u "$adminse3" -wait -p "$xppass" -file $RUNWPKGJOB -lwp -c -hide -ex "$TASKRUNWPKG" -enc > /dev/null 1402 [ ! -d /home/netlogon/machine ] && mkdir /home/netlogon/machine 1403 mv -f $INSTTASKJOB /var/se3/Progs/ro/ 1404 chown admin:admins /var/se3/Progs/ro/$INSTTASKJOB 1405 mv -f $RUNWPKGJOB /var/se3/Progs/ro/ 1406 chown admin:admins /var/se3/Progs/ro/$RUNWPKGJOB 1407 1408 # creation du raccourci sur le bureau d'admin (ou admins) 1409 #[ -e "/home/templates/admins/Bureau/Applications\ Wpkg.lnk" ] && echo "Suppression du raccourci du template admins" && rm "/home/templates/admins/Bureau/Applications\ Wpkg.lnk" 1410 #[ -e "/home/templates/admin/Bureau/Applications\ Wpkg.lnk" ] && echo "Suppression du raccourci du template admin" && rm "/home/templates/admin/Bureau/Applications\ Wpkg.lnk" 1411 1412 #env WINEDEBUG=-all wine $WPKGDIR/tools/nircmdc.exe shortcut $CPAU ".\\" "Applications Wpkg" "-dec -lwp -cwd c:\\ -file $RUNWPKGJOB" %%windir%%\\system32\\setup.exe 1413 1414 if [ -d /home/templates/admins ]; then 1415 mkdir -p /home/templates/admins/Bureau 1416 TEMPLATE="admins" 1417 echo "Creation du raccourci Applications WPKG sur le bureau des admins" 1418 else 1419 TEMPLATE="admin" 1420 mkdir -p /home/templates/admin/Bureau 1421 echo "Creation du raccourci Applications WPKG sur le bureau d'admin" 1422 fi 1423 1424 FINDCMD="@if not exist \"%LOGONSERVER%\\\\admhomes\\\\templates\\\\$TEMPLATE\\\\Bureau\\\\Applications Wpkg.lnk\" (\\\\\\\\$SE3\\\\install\\\\wpkg\\\\tools\\\\nircmdc.exe shortcut \\\\\\\\$SE3\\\\netlogon\\\\CPAU.exe \"\\\\\\\\$SE3\\\\admhomes\\\\templates\\\\$TEMPLATE\\\\Bureau\" \"Applications Wpkg\" \"-dec -lwp -cwd c:\\\\ -file \\\\\\\\$SE3\\\\Progs\\\\ro\\\\$RUNWPKGJOB\" %windir%\\\\system32\\\\setup.exe" 1425 CMDINSTALL="@if not exist \"%LOGONSERVER%\\admhomes\\templates\\$TEMPLATE\\Bureau\\Applications Wpkg.lnk\" (\\\\$SE3\\install\\wpkg\\tools\\nircmdc.exe shortcut $CPAU \"\\\\$SE3\\admhomes\\templates\\$TEMPLATE\\Bureau\" \"Applications Wpkg\" \"-dec -lwp -cwd c:\\ -file \\\\$SE3\\Progs\\ro\\$RUNWPKGJOB\" %windir%\\system32\\setup.exe & copy /Y \"\\\\$SE3\\admhomes\\templates\\$TEMPLATE\\Bureau\\Applications Wpkg.lnk\" \"\\\\$SE3\\admin\\profil\\Bureau\\Applications Wpkg.lnk\") ELSE (if exist \"\\\\$SE3\\admin\\profil\\Bureau\\Applications Wpkg.lnk\" del /F /Q \"\\\\$SE3\\admin\\profil\\Bureau\\Applications Wpkg.lnk\")" 1426 1427 1428 LOGONSCRIPT="/home/templates/$TEMPLATE/logon.bat" 1429 TEST="" 1430 [ -e $LOGONSCRIPT ] && TEST=$(cat $LOGONSCRIPT | grep "$FINDCMD" | grep -v "::" | grep -v "rem") 1431 1432 #echo "TEST :$TEST-FINDCMD=$FINDCMD" 1433 if [ ! "$TEST" = "" ]; then 1434 echo "La commande de creation du racourci Applications WPKG est deja presente." 1435 else 1436 echo "Commande de creation du raccourci Applications WPKG ajoutee a $LOGONSCRIPT." 1437 [ -e "/home/admin/profil/Bureau/Applications Wpkg.lnk" ] && echo "Suppression du raccourci invalide (ancienne generation wpkg) du Bureau d'admin" && rm "/home/admin/profil/Bureau/Applications Wpkg.lnk" 1438 echo "$CMDINSTALL" >> $LOGONSCRIPT 1439 #recode $script_charset..CP850 $LOGONSCRIPT 1440 todos $LOGONSCRIPT 1441 chown admin:admins $LOGONSCRIPT 1442 chmod 770 $LOGONSCRIPT 1443 fi 1444 1445 1446 echo "Creation du job pour lancer wpkg-repair.bat" 1447 wpkgRepairJOB=wpkg-repair.job 1448 wpkgRepairBAT=\\\\$SE3\\install\\wpkg\\wpkg-repair.bat 1449 env WINEDEBUG=-all wine /home/netlogon/CPAU.exe -u "$adminse3" -wait -p "$xppass" -file $wpkgRepairJOB -lwp -c -hide -ex "(net use \\\\$SE3||exit 8)&&(set TaskUser=$adminse3&&set TaskPass=$xppass&&call $wpkgRepairBAT&net use * /delete /y)" -enc > /dev/null 1450 mv -f $wpkgRepairJOB /var/se3/Progs/ro/ 1451 chown admin:admins /var/se3/Progs/ro/$wpkgRepairJOB 1452 1453 # On supprime toute reference a CPAU.exe dans installdll. 1454 # En cas de presence, on vire aussi toute reference a wpkg-client.vbs : cette methode permet de supprimer une ligne creee en double dans la version testing de 2.0 1455 TEST="" 1456 FINDCMD="\\\\\\\\$SE3\\\\Progs\\\\install\\\\installdll\\\\CPAU.exe" 1457 [ -e /home/templates/base/logon.bat ] && TEST=$(cat /home/templates/base/logon.bat | grep "$FINDCMD" ) 1458 if [ ! "$TEST" = "" ]; then 1459 # Suppression de la ligne en double introduite dans la version testing lors des tests de la 2.0 1460 sed -i /home/templates/base/logon.bat -e 's/%WinDir%\\wpkg-client.vbs/##### delete me #####/g' 1461 sed -i /home/templates/base/logon.bat -e "/##### delete me #####/d" 1462 # pour modifier le chemin de job CPAU personnels : 1463 echo "Correction du lien vers CPAU.exe dans base/logon.bat" 1464 sed -i /home/templates/base/logon.bat -e 's/\\\\'$SE3'\\Progs\\install\\installdll\\CPAU.exe/\\\\'$SE3'\\netlogon\\CPAU.exe/g' 1465 fi 1466 1467 1468 echo "Modification (si besoin) du script de login de base" 1469 # Commande a placer dans le script de login des utilisateurs 1470 CMDINSTALL="@if \"%OS%\"==\"Windows_NT\" if not exist \"%WinDir%\\wpkg-client.vbs\" $CPAU -dec -lwp -hide -cwd %SystemDrive%\\ -file \\\\$SE3\\Progs\\ro\\$INSTTASKJOB 2>NUL >NUL" 1471 FINDCMD="@if \"%OS%\"==\"Windows_NT\" if not exist \"%WinDir%\\\\wpkg-client.vbs\" \\\\\\\\$SE3\\\\netlogon\\\\CPAU.exe -dec -lwp -hide -cwd %SystemDrive%\\\\ -file \\\\\\\\$SE3\\\\Progs\\\\ro\\\\$INSTTASKJOB 2>NUL >NUL" 1472 1473 TEST="" 1474 [ -e /home/templates/base/logon.bat ] && TEST=$(cat /home/templates/base/logon.bat | grep "$FINDCMD" | grep -v "::" | grep -v "rem") 1475 if [ ! "$TEST" = "" ]; then 1476 echo "La commande d'installation de wpkg existe dans logon.bat et n'est pas commentee." 1477 else 1478 echo "Commande d'installation de wpkg ajoutee a /home/templates/base/logon.bat" 1479 #echo "$CMDINSTALL" 1480 echo "$CMDINSTALL" >> /home/templates/base/logon.bat 1481 #recode $script_charset..CP850 /home/templates/base/logon.bat 1482 todos /home/templates/base/logon.bat 1483 chown admin:admins /home/templates/base/logon.bat 1484 chmod 770 /home/templates/base/logon.bat 1485 fi 1486 1487 # Commande a placer dans le script de login des utilisateurs 1488 CMDINSTALL="Rem @if \"%COMPUTERNAME%\"==\"PosteProblemeWpkg\" call \\\\$SE3\\Progs\\install\\wpkg-diag.bat 2>NUL >NUL" 1489 FINDCMD="Rem @if \"%COMPUTERNAME%\"==\"PosteProblemeWpkg\" call \\\\\\\\$SE3\\\\Progs\\\\install\\\\wpkg-diag.bat 2>NUL >NUL" 1490 1491 TEST="" 1492 [ -e /home/templates/base/logon.bat ] && TEST=$(cat /home/templates/base/logon.bat | grep "$FINDCMD" | grep -v "::" | grep -v "rem") 1493 #echo "TEST :$TEST-FINDCMD=$CMDINSTALL" 1494 if [ ! "$TEST" = "" ]; then 1495 echo "La commande de diagnostique wpkg existe dans logon.bat sous sa forme d'origine." 1496 else 1497 echo "Commande de diagnostique wpkg ajoutee commentee a /home/templates/base/logon.bat" 1498 echo "$CMDINSTALL" >> /home/templates/base/logon.bat 1499 #recode $script_charset..CP850 /home/templates/base/logon.bat 1500 todos /home/templates/base/logon.bat 1501 chown admin:admins /home/templates/base/logon.bat 1502 chmod 770 /home/templates/base/logon.bat 1503 fi 1504 1505 1506 #--------Fin de la partie remplacant le lancement manuel de wpkg-config.bat-----------# 1507 1508 1509 # Client wpkg execute par la tâche planifiee. 1510 # Mise a jour du parametre $SE3 dans wpkg-client.vbs 1511 sed "s/\$SE3/$SE3/g" $WPKGDIR/wpkg-client.vbs-original > $WPKGDIR/wpkg-client.vbs 1512 todos $WPKGDIR/wpkg-client.vbs 1513 echo "Script $WPKGDIR/wpkg-client.vbs cree." 1514 1515 # Cles publiques ssh de www-se3 et de root disponibles pour etre recopiees sur les postes lors de l'install de copssh 1516 # Contrôle (et creation si besoin) d'une cle ssh pour l'utilisateur www-se3 1517 if [ ! -e "/var/remote_adm/.ssh/id_rsa.pub" ]; then 1518 if [ ! -d "/var/remote_adm/.ssh" ] ; then 1519 mkdir -p "/var/remote_adm/.ssh" 1520 fi 1521 chown www-se3:www-data 1522 chmod 700 "/var/remote_adm/.ssh" 1523 cd "/var/remote_adm/.ssh" 1524 # Creation de la cle 1525 sudo -u www-se3 ssh-keygen -q -b 1024 -t rsa -f id_rsa -N '' 1526 cd - 1527 fi 1528 # Contrôle (et creation si besoin) d'une cle ssh pour l'utilisateur root 1529 if [ ! -e "/root/.ssh/id_rsa.pub" ]; then 1530 if [ ! -d "/root/.ssh" ] ; then 1531 mkdir -p "/var/remote_adm/.ssh" 1532 fi 1533 chmod 700 "/root/.ssh" 1534 cd "/root/.ssh" 1535 # Creation de la cle 1536 ssh-keygen -q -b 1024 -t rsa -f id_rsa -N '' 1537 cd - 1538 fi 1539 # Mise a disposition des cles publiques de www-se3 et root pour adminse3 1540 cat /var/remote_adm/.ssh/id_rsa.pub /root/.ssh/id_rsa.pub > $WPKGDIR/authorized_keys 1541 1542 # Initialisation de profiles.xml, hosts.xml et initvars_se3.bat 1543 chown www-se3:root /usr/share/se3/scripts/update_hosts_profiles_xml.sh 1544 chmod +x /usr/share/se3/scripts/update_hosts_profiles_xml.sh 1545 chown www-se3:root /usr/share/se3/scripts/update_droits_xml.sh 1546 chmod +x /usr/share/se3/scripts/update_droits_xml.sh 1547 bash /usr/share/se3/scripts/update_hosts_profiles_xml.sh "$computersRdn" "$parcsRdn" "$ldap_base_dn" 1548 echo "Fichiers hosts.xml et profiles.xml crees." 1549 bash /usr/share/se3/scripts/update_droits_xml.sh 1550 echo "Fichier droits.xml cree." 1551 chown www-se3:root /usr/share/se3/scripts/wpkg_initvars.sh 1552 chmod +x /usr/share/se3/scripts/wpkg_initvars.sh 1553 bash /usr/share/se3/scripts/wpkg_initvars.sh 1554 echo "Fichier initvars_se3.bat cree." 1555 chown www-se3:root /usr/share/se3/scripts/wakeonlan 1556 chmod +x /usr/share/se3/scripts/wakeonlan 1557 1558 # Initialisation de Touslespostes.xml 1559 if [ -d "$WPKGDIR/hosts" ]; then 1560 mkdir -p "$WPKGDIR/hosts" 1561 fi 1562 TOUSLESPOSTESXML=$WPKGDIR/hosts/Touslespostes.xml 1563 echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>" > $TOUSLESPOSTESXML 1564 echo "<wpkg>" >> $TOUSLESPOSTESXML 1565 echo "<host name=\".+\" profile-id=\"_TousLesPostes\" />" >> $TOUSLESPOSTESXML 1566 echo "</wpkg>" >> $TOUSLESPOSTESXML 1567 recode $script_charset..CP850 $TOUSLESPOSTESXML 1568 todos $TOUSLESPOSTESXML 1569 echo "Fichier $TOUSLESPOSTESXML cree." 1570 1571 # on efface le fichier cree inutilement : non fonctionnel 1572 if [ -e $WPKGDIR/profiles/Touslespostes.xml ]; then 1573 rm -f $WPKGDIR/profiles/Touslespostes.xml 1574 fi 1575 1576 # Initialisation de unattended.xml 1577 WPKGPROFILEUNATTEND=$WPKGDIR/profiles/unattended.xml 1578 echo "Creation du fichier $WPKGPROFILEUNATTEND pour les installations unattended." 1579 if [ -d "$WPKGDIR/profiles" ]; then 1580 mkdir -p "$WPKGDIR/profiles" 1581 fi 1582 echo -e "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\r 1583 <profiles>\r 1584 <profile id=\"unattended\">\r 1585 <depends profile-id=\"_TousLesPostes\"/>\r 1586 </profile>\r 1587 </profiles>\r" > $WPKGPROFILEUNATTEND 1588 1589 1590 # Initialisation de packages.xml 1591 if [ ! -e "$WPKGDIR/packages.xml" ]; then 1592 SE3=`gawk -F' *= *' '/netbios name/ {print $2}' /etc/samba/smb.conf` 1593 cat - > $WPKGDIR/packages.xml <<PACKAGESXML 1594 <?xml version="1.0" encoding="iso-8859-1"?> 1595 <packages> 1596 <package id="7za" name="7-Zip en ligne de commande" revision="442" reboot="false" priority="10"> 1597 <check type="file" condition="exists" path="%WinDir%\\7za.exe"/> 1598 <download url="http://www.etab.ac-caen.fr/serveurmalherbe/tools/7za/7za.exe" saveto="wpkg/tools/7za.exe" md5sum="885e9eb42889ca547f4e3515dcde5d3d"/> 1599 <install cmd='"%WinDir%\\system32\\xcopy.exe" /Y %WPKGROOT%\\tools\\7za.exe %Windir%\\' /> 1600 <remove cmd='"%comspec%" /c del /Q /F %windir%\\7za.exe' /> 1601 </package> 1602 </packages> 1603 PACKAGESXML 1604 if [ ! "$script_charset" == "ISO8859-15" ]; then 1605 recode $script_charset..ISO8859-15 $WPKGDIR/packages.xml 1606 fi 1607 1608 echo "Fichier packages.xml cree." 1609 else 1610 echo "Le fichier packages.xml present est conserve." 1611 fi 1612 1613 # Paquet deploiementimprimantes.xml obsolete : on le rend inactif en supprimant le script qu'il execute. 1614 # Une maj du xml rendra egalement ce package inoperant. 1615 if [ -e /var/se3/unattended/install/packages/windows/printers/ajoutpilotesimprimantes.bat ]; then 1616 echo "Suppression du script ajoutpilotesimprimantes.bat devenu obsolete en 2.0." 1617 rm -f /var/se3/unattended/install/packages/windows/printers/ajoutpilotesimprimantes.bat 1618 fi 1619 1620 # Dossier destine a recevoir les rapports remontes par les postes 1621 # On donne droits rwx a adminse3 1622 if [ ! -d $WPKGDIR/rapports ] ; then 1623 mkdir $WPKGDIR/rapports 1624 fi 1625 1626 # Dossier des fichiers ini de config des postes 1627 if [ ! -d $WPKGDIR/ini ] ; then 1628 mkdir $WPKGDIR/ini 1629 fi 1630 1631 # Le fichier patche 'schtasks2k.exe', a-t-il deja ete genere par l'admin. 1632 if [ -e $WPKGDIR/tools/schtasks2k.exe ]; then 1633 echo "Le fichier patche schtasks2k.exe qui a ete genere par l'admin est disponible." 1634 fi 1635 1636 # Mise en place des droits sur $WPKGDIR 1637 setfacl -b -R $WPKGDIR 1638 # www-se3 a tous les droits sur /var/se3/unattended/install 1639 # C'est peut-etre trop. A voir... 1640 chown -R www-se3 /var/se3/unattended/install 1641 setfacl -R -m u:www-se3:rwx -m d:u:www-se3:rwx /var/se3/unattended/install 1642 setfacl -R -m u:$ADMINSE3:rwx -m d:u:$ADMINSE3:rwx /var/se3/unattended/install/wpkg/rapports 1643 setfacl -R -m u::rwx -m g::rx -m o::rx -m d:m:rwx -m d:u::rwx -m d:g::rx -m d:o::rx /var/se3/unattended/install 1644
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |