Résolu Outil pour copier et lancer un fichier sur un poste
- Matthieu
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 34
- Remerciements reçus 0
il y a 7 mois 3 semaines - il y a 7 mois 3 semaines #33901
par Matthieu
Réponse de Matthieu sur le sujet Outil pour copier et lancer un fichier sur un poste
Bonjour,
Je bloque sur l'installation de mon MSI...
Impossible d’exécuter cette commande en raison de l’erreur : Le fichier spécifié est introuvable.
+ CategoryInfo : InvalidOperation : (: ) [Start-Process], InvalidOperationException
+ FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
+ PSComputerName : 192.168.254.230
OU
[192.168.254.230] La connexion au serveur distant 192.168.254.230 a échoué avec le message d’erreur suivant: Accès refusé. Pour plus d'informations, voir la rubrique d'aide
about_Remote_Troubleshooting.
+ CategoryInfo : OpenError: (192.168.254.230:String) [], PSRemotingTransportException
+ FullyQualifiedErrorId : AccessDenied,PSSessionStateBroken
Je bloque sur l'installation de mon MSI...
# Déclaration du chemin du fichier sur le poste local
$FilePath = "C:\Temp\efsw_nt64.msi"
# Déclaration des détails du poste distant
$remoteComputer = "192.168.254.230"
$remoteFolderPath = "\\$remoteComputer\c`$\Temp\"
# Vérifier si le dossier de destination existe, sinon le créer
if (-not (Test-Path $remoteFolderPath -PathType Container)) {
New-Item -Path $remoteFolderPath -ItemType Directory | Out-Null
Write-Host "Le dossier $remoteFolderPath a été créé."
} else {
Write-Host "Le dossier $remoteFolderPath existe déjà."
}
#Copie du fichier à l'emplacement du poste distant
Copy-Item -Path $FilePath -Destination $remoteFolderPath
#Execute le fichier sur le poste distant
Invoke-Command -ComputerName $remoteComputer -Credential $cred -ScriptBlock {Start-Process -FilePath "C:\Temp\efsw_nt64.msi /qn /i"}
Impossible d’exécuter cette commande en raison de l’erreur : Le fichier spécifié est introuvable.
+ CategoryInfo : InvalidOperation : (: ) [Start-Process], InvalidOperationException
+ FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
+ PSComputerName : 192.168.254.230
OU
# Déclaration du chemin du fichier sur le poste local
$FilePath = "C:\Temp\efsw_nt64.msi"
# Déclaration des détails du poste distant
$remoteComputer = "192.168.254.230"
$remoteFolderPath = "\\$remoteComputer\c`$\Temp\"
# Vérifier si le dossier de destination existe, sinon le créer
if (-not (Test-Path $remoteFolderPath -PathType Container)) {
New-Item -Path $remoteFolderPath -ItemType Directory | Out-Null
Write-Host "Le dossier $remoteFolderPath a été créé."
} else {
Write-Host "Le dossier $remoteFolderPath existe déjà."
}
#Copie du fichier à l'emplacement du poste distant
Copy-Item -Path $FilePath -Destination $remoteFolderPath
$argumentsMSI = "/qn /i $FilePath"
# Lancement de msiexec sur le serveur distant via Start-Process
Invoke-Command -ComputerName $remoteComputer -Credential $cred -ScriptBlock {
param($argumentsMSI)
Start-Process -FilePath "msiexec.exe" -ArgumentList $argumentsMSI -Wait
} -ArgumentList $argumentsMSI
[192.168.254.230] La connexion au serveur distant 192.168.254.230 a échoué avec le message d’erreur suivant: Accès refusé. Pour plus d'informations, voir la rubrique d'aide
about_Remote_Troubleshooting.
+ CategoryInfo : OpenError: (192.168.254.230:String) [], PSRemotingTransportException
+ FullyQualifiedErrorId : AccessDenied,PSSessionStateBroken
Dernière édition: il y a 7 mois 3 semaines par Matthieu.
Connexion ou Créer un compte pour participer à la conversation.
- Matthieu
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 34
- Remerciements reçus 0
il y a 7 mois 3 semaines #33902
par Matthieu
Réponse de Matthieu sur le sujet Outil pour copier et lancer un fichier sur un poste
Non c'est bon je n'avais pas lancé Powershell ISE en admin quand j'avais relancé.
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 7 mois 3 semaines #33909
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Outil pour copier et lancer un fichier sur un poste
Parfait alors !
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Matthieu
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 34
- Remerciements reçus 0
il y a 7 mois 3 semaines - il y a 7 mois 3 semaines #33913
par Matthieu
Réponse de Matthieu sur le sujet Outil pour copier et lancer un fichier sur un poste
Bon j'ai pas mal avancé mais j'ai un soucis à la fin de mon script. Mes variables $RemoteComputer, $FilePath et $argumentsMSI sont vides...
Pourtant, dans mon script j'ai bien mis :
$RemoteComputer = $textboxMachineName.Text
$FilePath = $textboxFilePath.Text
$argumentsMSI = $textboxArgumentsMSI.Text
et mes variables $textboxMachineName.Text, $textboxFilePath.Text et $textboxArgumentsMSI.Text sont bien renseignées avec les valeurs que j'ai saisies dans l'interface graphique...
Pourtant, dans mon script j'ai bien mis :
$RemoteComputer = $textboxMachineName.Text
$FilePath = $textboxFilePath.Text
$argumentsMSI = $textboxArgumentsMSI.Text
et mes variables $textboxMachineName.Text, $textboxFilePath.Text et $textboxArgumentsMSI.Text sont bien renseignées avec les valeurs que j'ai saisies dans l'interface graphique...
# Importation de la librairie
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
# Création de l'objet de formulaire
$form = New-Object System.Windows.Forms.Form
$form.Text = "Télédistribution"
$form.Size = New-Object System.Drawing.Size(600,230)
$form.StartPosition = "CenterScreen"
# Champ pour saisir le nom de la machine
$labelMachineName = New-Object System.Windows.Forms.Label
$labelMachineName.Text = "Nom de la machine ou adresse IP :"
$labelMachineName.Location = New-Object System.Drawing.Point(10,20)
$labelMachineName.AutoSize="$true"
$form.Controls.Add($labelMachineName)
$textboxMachineName = New-Object System.Windows.Forms.TextBox
$textboxMachineName.Location = New-Object System.Drawing.Point(190,15)
$textboxMachineName.Width=380
$form.Controls.Add($textboxMachineName)
# Bouton pour parcourir et sélectionner le fichier MSI
$labelFilePath = New-Object System.Windows.Forms.Label
$labelFilePath.Text = "Fichier MSI :"
$labelFilePath.Location = New-Object System.Drawing.Point(10,50)
$labelFilePath.AutoSize="$true"
$form.Controls.Add($labelFilePath)
$buttonBrowse = New-Object System.Windows.Forms.Button
$buttonBrowse.Text = "Parcourir"
$buttonBrowse.Location = New-Object System.Drawing.Point(190,45)
$buttonBrowse.Add_Click({
$openFileDialog = New-Object System.Windows.Forms.OpenFileDialog
$openFileDialog.Filter = "Fichiers MSI (*.msi)|*.msi|Tous les fichiers (*.*)|*.*"
$openFileDialog.Title = "Sélectionnez un fichier MSI"
if ($openFileDialog.ShowDialog() -eq 'OK') {
$textboxFilePath.Text = $openFileDialog.FileName
}
})
$form.Controls.Add($buttonBrowse)
$textboxFilePath = New-Object System.Windows.Forms.TextBox
$textboxFilePath.Location = New-Object System.Drawing.Point(190,75)
$textboxFilePath.Width=380
$textboxFilePath.ReadOnly = $true
$form.Controls.Add($textboxFilePath)
# Champ pour saisir des arguments du fichier MSI
$labelArgumentsMSI = New-Object System.Windows.Forms.Label
$labelArgumentsMSI.Text = "Arguments du fichier MSI:"
$labelArgumentsMSI.Location = New-Object System.Drawing.Point(10,110)
$labelArgumentsMSI.AutoSize="$True"
$form.Controls.Add($labelArgumentsMSI)
$textboxArgumentsMSI = New-Object System.Windows.Forms.TextBox
$textboxArgumentsMSI.Location = New-Object System.Drawing.Point(190,105)
$textboxArgumentsMSI.Width=380
$form.Controls.Add($textboxArgumentsMSI)
# Bouton OK pour valider et fermer le formulaire
$buttonOK = New-Object System.Windows.Forms.Button
$buttonOK.Text = "Lancer la télédistribution"
$buttonOK.Location = New-Object System.Drawing.Point(410,145)
$buttonOK.AutoSize="$true"
$buttonOK.Add_Click({
$RemoteComputer = $textboxMachineName.Text
$FilePath = $textboxFilePath.Text
$argumentsMSI = $textboxArgumentsMSI.Text
$form.Close()
})
$form.Controls.Add($buttonOK)
# Affichage du formulaire
$form.ShowDialog()
Dernière édition: il y a 7 mois 3 semaines par Matthieu.
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 7 mois 3 semaines #33918
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Outil pour copier et lancer un fichier sur un poste
Comme il s'agit d'un nouveau sujet, pourrais-tu créer STP un nouveau Post ?
Merci
Merci
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Matthieu
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 34
- Remerciements reçus 0
il y a 7 mois 3 semaines #33921
par Matthieu
Réponse de Matthieu sur le sujet Outil pour copier et lancer un fichier sur un poste
C'est toujours le même sujet, il s'agit bien du script de mon outil pour copier et lancer un fichier sur un poste.
Petite précision à la fin de mon script dans ma fenêtre PowerShell ISE cela met Cancel une fois que j'ai cliqué sur mon bouton de validation.
Petite précision à la fin de mon script dans ma fenêtre PowerShell ISE cela met Cancel une fois que j'ai cliqué sur mon bouton de validation.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.126 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les initiés
- Outil pour copier et lancer un fichier sur un poste