Script rapide d'installation nouveau PC

[Fermé]
Signaler
Messages postés
3
Date d'inscription
dimanche 23 août 2020
Statut
Membre
Dernière intervention
25 août 2020
-
Messages postés
3
Date d'inscription
dimanche 23 août 2020
Statut
Membre
Dernière intervention
25 août 2020
-
Salut,

Avant-tout je tiens à préciser que je ne pourrai pas suivre vos réponses de façon régulière mais j'essaierai de jeter un œil chaque soir. Je vous demande donc de faire preuve de patience pour mes retours à vos questions.

Mon problème :

Pour faciliter les installations de nouveau PC je cherche à automatiser certaines étapes dans un script powershell.

Traditionnellement mes prédécesseurs passent par ninite (gratuit) pour installer un pack prédéfinit d'applications et ne souhaitent pas changer de façon de faire.
Je ne parviens pas à faire une installation silencieuse du paquet ninite.
Idem pour les antivirus Eset, mais là j'ai contourné le problème en passant par un batch.

Je lance un premier batch dans lequel j'autorise les scripts power shell puis je lance mon fichier ps1. après quoi je lance mon deuxième batch pour l'installation eset.

Au final, j'aimerais effectuer toutes les installations avec mon script powershell que je lancerais avec mon install.bat

Je précise que je débute en powershell. J'utilise des commandes de temps à autre mais c'est la première fois que je tente un script qui effectue plusieurs taches.

Je lance mon premier fichier batch pour appeler mon script :

powershell "Set-ExecutionPolicy RemoteSigned"

powershell %~dp0\script_new_PC_interactif.ps1"

powershell "Set-ExecutionPolicy Restricted"

Install_eset.bat


Le script s'execute

#instancier les logs
start-transcript ".\logs\log.rtf"

# Messagebox d'avertissement



# Instanciation des variables (nom du poste, mdp adm local etc....:

$MdpAdmlocal = Read-Host "saisissez le nouveau mot de passe du compte administrateur" –AsSecureString

$ComputerName = Read-Host "saisissez le nouveau nom de l' ordinateur"

#$EsetLic = Read-Host "Entrez la licence Eset (préférez un copier/coller pour eviter les erreurs de saisie)"

<# desactiver parefeu #>
Set-NetFirewallProfile -Profile * -Enabled True -DefaultInboundAction Allow <#Block#> -DefaultOutboundAction Allow –NotifyOnListen True -AllowUnicastResponseToMulticast True –LogFileName %SystemRoot%\System32\LogFiles\Firewall\pfirewall.log

# activer le compte administrateur local système
Enable-LocalUser Administrateur

# definir le mot de passe administrateur
Set-LocalUser -Name Administrateur -Password $MdpAdmlocal

# pour que le mot de passe n'expire jamais :
Set-LocalUser -Name Administrateur -PasswordNeverExpires $true

# desactiver compte "utilisateur"
Disable-LocalUser -Name "Utilisateur"

# Renommer le poste
Rename-Computer -NewName $ComputerName


# Installer antivirus
#msiexec /i eea_nt64.msi /qn CFG-POTENTIALLYUNWANTED_ENABLED=1 -CFG_LIVEGRID_ENABLED=1 FIRSTSCAN_ENABLED=1 PRODUCT_LANG=1036 PRODUCT_LANG_CODE=fr-fr -ACTIVATIONDATA=key:$EsetLic

# Installer ninite
Start-Process $PSScriptRoot\"Ninite 7Zip Air Chrome Firefox Java AdoptOpenJDK 8 Installer.exe" /silent -Wait #-ArgumentList /q -Wait -PassThru -NoNewWindow

# installer acrobat reader
Start-Process $PSScriptRoot\AcroRdrDC2000920063_fr_FR.exe -ArgumentList /q -Wait <#-PassThru#> -NoNewWindow

#arreter les logs
stop-transcript

J'ai mis la ligne pour l'antivirus en commentaire. J'espère que vous saurez me dire ce qui cloche.
Aucune fenêtre ninite ne se lance avec "-nonewwindows". Si je l'enlève ça démarre mais au bout de 3 secondes j'ai une erreur qui, quand je valide, me conduit à cette page :


L'installation de acrobat reader se lance mais pas en mode silencieux.
Le reste du script se déroule sans accrocs. Je lance alors mon deuxième fichier batch pour installer l'antivirus (copié/collé pris sur internet)

REM ** Check for existing install

if exist "C:\Program Files (x86)\ESET\ESET File Security\egui.exe" goto esetinstalled
if exist "C:\Program Files (x86)\ESET\ESET File Security\x86\ekrn.exe" goto esetinstalled
if exist "C:\Program Files\ESET\ESET File Security\x86\ekrn.exe" goto esetinstalled
if exist "C:\Program Files\ESET\ESET File Security\egui.exe" goto esetinstalled
if exist "C:\Program Files\ESET\ESET Endpoint Antivirus\x86\ekrn.exe" goto esetinstalled
if exist "C:\Program Files\ESET\ESET Endpoint Antivirus\ekrn.exe" goto esetinstalled
if exist "C:\Program Files (x86)\ESET Endpoint Antivirus\ekrn.exe" goto esetinstalled

REM ** Removing Registry Entires
REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\ESET /f

REM ** Remove old ESET Folders
DEL /f /q "C:\Program Files\ESET"
DEL /f /q "C:\Program Files (x86)\ESET"

if %PROCESSOR_ARCHITECTURE% == x86 goto 32bit
if %PROCESSOR_ARCHITECTURE% == AMD64 goto 64bit

:64bit
msiexec /i "eea_nt64.msi" /qn
goto esetinstalled

:32bit
msiexec /i "\\SERVERNAME\SHARENAME\ESET-32Bit-Installer.msi" /qn
:esetinstalled




Auriez-vous des solutions à me proposer ?

Merci,

3 réponses

Messages postés
524
Date d'inscription
mardi 4 août 2020
Statut
Membre
Dernière intervention
23 novembre 2020
71
Bonjour,
il y a trop de 'if exist..
Cordialement,
Messages postés
3
Date d'inscription
dimanche 23 août 2020
Statut
Membre
Dernière intervention
25 août 2020

Salut,

Merci pour ton retour mais ce n'est pas le fichier.bat qui pose problème (celui-ci s’exécute à la perfection), mais le script powershell.

Cordialement,
Messages postés
13724
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
16 octobre 2021
4 661
Bonjour,

Dans la ligne qui installe les programmes via Ninite, le commutateur /q pose problème, tu devrais le supprimer ou bien le repositionner au bon endroit.

Aussi je ne comprends pas pourquoi tu as mis deux fois le paramètre -Wait



“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
Messages postés
3
Date d'inscription
dimanche 23 août 2020
Statut
Membre
Dernière intervention
25 août 2020

Bonjour,

Merci pour ton retour Barnabe0057, je vais suivre ton conseil ce week-end et voir ce que ça donne. Pour toi le bon endroit serait ou ?

Le deuxième paramètre -Wait c'est parce que j'ai mis la fin de la ligne en commentaire du coup je l'ai rajouté avant le "#".