Bonjour,

Voilà je suis en train de développer un script en PowerShell pour copier un fichier d'installation sur un poste puis lancer l'installation.
Plus j'avance et plus j'ai l'impression de faire une usine à gaz.

Mes étapes :
1. copie du fichier de mon poste vers le poste distant sur c:\
2. ouverture d'une connexion à distance sur le poste
3. contrôle que le dossier c:\temp existe. Si pas de dossier, le créer
4. déplacement du fichier de c: vers c:\temp
5. exécution du fichier

Pour le moment, j'ai fait les 4 premiers points. J'ai des erreurs sur le point 4 car je dois relance deux fois le script pour que cela fonctionne comme s'il essayé de copier le fichier avant d'avoir créé le dossier temp. Mais de toute façon, idéalement, j'aurais préféré contrôler si le dossier temp existe sur le poste distant, le créer si ce n'est pas le cas et copier directement le fichier dedans sans devoir passer au préalable par une copie sur le c: mais ça ne semblait pas fonctionner. Je m'y prends sans doute mal... Voilà mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Déclaration du chemin du fichier sur le poste local
$localFilePath = "C:\temp\PROTECT_Installer_x64_fr_FR.exe"

# Déclaration des détails du poste distant
$remoteComputer = "192.168.254.230"
$remoteFolderPath = "\\$remoteComputer\c$"

#Copie du fichier à la racine du poste distant
Copy-Item -Path $localFilePath -Destination $remoteFolderPath

#Connexion au poste distant
Enter-PSSession -ComputerName $remoteComputer -Credential "IT-CONNECT\Administrateur"

# Spécifier les chemins des fichiers et dossiers
$sourceFilePath = "C:\PROTECT_Installer_x64_fr_FR.exe"
$destinationFolderPath = "C:\temp"

# Vérifier si le dossier de destination existe, sinon le créer
if (-not (Test-Path $destinationFolderPath -PathType Container)) {
    New-Item -Path $destinationFolderPath -ItemType Directory | Out-Null
    Write-Host "Le dossier $destinationFolderPath a été créé."
} else {
    Write-Host "Le dossier $destinationFolderPath existe déjà."
}

# Copier le fichier vers le dossier de destination
Move-Item -Path $sourceFilePath -Destination $destinationFolderPath
Merci d'avance