Untitled

 avatar
unknown
plain_text
a month ago
2.6 kB
3
Indexable
# Variables
$SharedFolder = "\\chemin\vers\partage"
$ExeName = "Setup ZEDFREE 2023.5 x64.exe"
$LocalFolder = "C:\Temp\ZEDFREE_Install"
$LogFile = "C:\Temp\ZEDFREE_Install_Log.txt"

# Fonction de log
function Write-Log {
    param (
        [Parameter(Mandatory=$true)]
        [string]$Message
    )
    $TimeStamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
    "$TimeStamp - $Message" | Out-File -FilePath $LogFile -Append
}

# Création du dossier de logs si nécessaire
if(!(Test-Path "C:\Temp")) {
    New-Item -ItemType Directory -Path "C:\Temp" -ErrorAction SilentlyContinue
    Write-Log "Dossier temporaire C:\Temp créé"
} else {
    Write-Log "Dossier temporaire C:\Temp existe déjà"
}

# Début du script
Write-Log "Début de l'installation de ZEDFREE"

# Vérifier si le chemin réseau vers l'exécutable existe
if(Test-Path "$SharedFolder\$ExeName"){
    Write-Log "Exécutable trouvé sur le partage réseau: $SharedFolder\$ExeName"
    
    # Créer le dossier temporaire en local
    if(!(Test-Path "$LocalFolder")) {
        New-Item -ItemType Directory -Path "$LocalFolder" -ErrorAction SilentlyContinue
        Write-Log "Dossier d'installation temporaire créé: $LocalFolder"
    } else {
        Write-Log "Dossier d'installation temporaire existe déjà: $LocalFolder"
    }
    
    # Copier l'exécutable
    try {
        Copy-Item "$SharedFolder\$ExeName" "$LocalFolder" -Force
        Write-Log "Exécutable copié avec succès dans $LocalFolder"
    } catch {
        Write-Log "ERREUR lors de la copie de l'exécutable: $_"
    }
    
    # Si l'exécutable est bien copié, lancer l'installation silencieuse
    if(Test-Path "$LocalFolder\$ExeName"){
        Write-Log "Lancement de l'installation silencieuse..."
        try {
            Start-Process -Wait -FilePath "$LocalFolder\$ExeName" -ArgumentList "/L1033 /S/v/qn /V`"/qn`""
            Write-Log "Installation terminée avec succès"
        } catch {
            Write-Log "ERREUR lors de l'installation: $_"
        }
        
        # Nettoyer après installation
        try {
            Remove-Item "$LocalFolder" -Recurse -Force
            Write-Log "Dossier temporaire nettoyé: $LocalFolder"
        } catch {
            Write-Log "ERREUR lors du nettoyage du dossier temporaire: $_"
        }
    } else {
        Write-Log "ERREUR: L'exécutable n'a pas été correctement copié dans $LocalFolder"
    }
} else {
    Write-Log "ERREUR: Exécutable introuvable sur le partage réseau: $SharedFolder\$ExeName"
}

Write-Log "Fin du script d'installation"
Editor is loading...
Leave a Comment