Question
Lancer un EXE à distance depuis un script
- Howard
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 11 ans 8 mois #17822
par Howard
Lancer un EXE à distance depuis un script a été créé par Howard
Bonjour,
J'ai créé un script PS qui vérifie plusieurs choses sur les postes clients et qui installe le client SCCM sur ces postes. Si la version 2012 R2 n'est pas présente le script lance l'EXE.
Pour info, le script est lancé depuis un poste d'administration et non localement sur chaque poste.
Le script effectue les tâches suivantes:
1. Récupère la liste des postes depuis un fichier texte (Get-Content C: \Ordinateurs)
2. Copie le client SCCM du poste d'admin vers les postes clients sur C: \Temp
3. Si la version n'est pas 2012 R2, alors je lance
Invoke-Command -ComputerName $Ordinateurs -ScriptBlock {\\$_\C$\Temp\ccmsetup.exe /mp:MP01}
Mais cette étape génère une erreur stipulant que le chemin réseau n'est pas trouvé. Comment lancer l'installation à distance sous PowerShell svp en sachant que l'EXE est en local sur les postes ?
Comment lancer l'EXE sans l'UAC étant donné que la fonctionnalité est activée sur tous les postes ?
Merci<br><br>Message édité par: JH21, à: 11/07/14 11:56
J'ai créé un script PS qui vérifie plusieurs choses sur les postes clients et qui installe le client SCCM sur ces postes. Si la version 2012 R2 n'est pas présente le script lance l'EXE.
Pour info, le script est lancé depuis un poste d'administration et non localement sur chaque poste.
Le script effectue les tâches suivantes:
1. Récupère la liste des postes depuis un fichier texte (Get-Content C: \Ordinateurs)
2. Copie le client SCCM du poste d'admin vers les postes clients sur C: \Temp
3. Si la version n'est pas 2012 R2, alors je lance
Invoke-Command -ComputerName $Ordinateurs -ScriptBlock {\\$_\C$\Temp\ccmsetup.exe /mp:MP01}
Mais cette étape génère une erreur stipulant que le chemin réseau n'est pas trouvé. Comment lancer l'installation à distance sous PowerShell svp en sachant que l'EXE est en local sur les postes ?
Comment lancer l'EXE sans l'UAC étant donné que la fonctionnalité est activée sur tous les postes ?
Merci<br><br>Message édité par: JH21, à: 11/07/14 11:56
Connexion ou Créer un compte pour participer à la conversation.
- Thibulaire
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 16
- Remerciements reçus 0
il y a 11 ans 8 mois #17829
par Thibulaire
Réponse de Thibulaire sur le sujet Re:Lancer un EXE à distance depuis un script
Si je comprend bien ta variable $_ contient le nom des Postes ?
as tu un double slash avant le nom des postes ? celà vient peut être de là...
Bon après moi je débute donc bon...<br><br>Message édité par: Thibulaire, à: 11/07/14 12:32
as tu un double slash avant le nom des postes ? celà vient peut être de là...
Bon après moi je débute donc bon...<br><br>Message édité par: Thibulaire, à: 11/07/14 12:32
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 8 mois #17832
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Lancer un EXE à distance depuis un script
Peux-tu utiliser les balises codes ? L'étape 3 est illisible sans cela.
Est-ce la même discussion qu' ici ?
Le remoting PS (WinRM) est-il configuré sur tes machines clientes ?
Est-ce la même discussion qu' ici ?
Le remoting PS (WinRM) est-il configuré sur tes machines clientes ?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Howard
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 11 ans 8 mois #17836
par Howard
Réponse de Howard sur le sujet Re:Lancer un EXE à distance depuis un script
Oui c'est bien la même discussion mais entre temps j'ai découvert un dernier soucis : l'exe ne se lance pas sur les postes clients parce que l'UAC est activé.
Y a t-il un moyen sous PowerShell de contourner l'UAC ou d'exécuter la commande en mode RunAs ?
[code:1]
Get-Content C:\Ordinateurs.txt
Invoke-Command -ComputerName $Ordinateurs -ScriptBlock {\\$_\C$\Temp\ccmsetup.exe /mp:MP01}
[/code:1]<br><br>Message édité par: JH21, à: 11/07/14 13:22
Y a t-il un moyen sous PowerShell de contourner l'UAC ou d'exécuter la commande en mode RunAs ?
[code:1]
Get-Content C:\Ordinateurs.txt
Invoke-Command -ComputerName $Ordinateurs -ScriptBlock {\\$_\C$\Temp\ccmsetup.exe /mp:MP01}
[/code:1]<br><br>Message édité par: JH21, à: 11/07/14 13:22
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 11 ans 8 mois #17838
par Philippe
Réponse de Philippe sur le sujet Re:Lancer un EXE à distance depuis un script
Bonjour JH21
je pense que tu a deux pb :
- pour que $_ fonctionne il faut etre dans une boucle (d'un pipe ici)
- le $ du lecteur C$ est interpreté par powershell comme une variable. il faut donc faire en sorte qu'il interprete pas le C$.
j'ai fait ce test qui fonctionne :
[code:1]'pc-test' | foreach {. $(\"\\$_\\"+'C$\Windows\System32\notepad.exe')}[/code:1]
dans ton cas ca devrait être :
[code:1]Get-Content C:\Ordinateurs.txt | foreach {
Invoke-Command -ComputerName $Ordinateurs -ScriptBlock {. $(\"\\$_\\"+'C$\Temp\ccmsetup.exe /mp:MP01')}
}
[/code:1]
dis moi si je me trompe ou pas !
bon courage pour la suite
je pense que tu a deux pb :
- pour que $_ fonctionne il faut etre dans une boucle (d'un pipe ici)
- le $ du lecteur C$ est interpreté par powershell comme une variable. il faut donc faire en sorte qu'il interprete pas le C$.
j'ai fait ce test qui fonctionne :
[code:1]'pc-test' | foreach {. $(\"\\$_\\"+'C$\Windows\System32\notepad.exe')}[/code:1]
dans ton cas ca devrait être :
[code:1]Get-Content C:\Ordinateurs.txt | foreach {
Invoke-Command -ComputerName $Ordinateurs -ScriptBlock {. $(\"\\$_\\"+'C$\Temp\ccmsetup.exe /mp:MP01')}
}
[/code:1]
dis moi si je me trompe ou pas !
bon courage pour la suite
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 8 mois #17840
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Lancer un EXE à distance depuis un script
6ratgus écrit:
[code:1]
$(\"\\$_\\"+\"C$\Windows\System32_CRLF_otepad.exe\"«»)
#ok
$c$=10
#parse error
#nommage étendu
${c$}=10
#ok
${c$}
#10
[/code:1]
Ici pas du tout, sauf si le caractère suivant le dollar est un caractère autorisé dans un nom de variable.- le $ du lecteur C$ est interprété par powershell comme une variable. il faut donc faire en sorte qu'il interprète pas le C$.
[code:1]
$(\"\\$_\\"+\"C$\Windows\System32_CRLF_otepad.exe\"«»)
#ok
$c$=10
#parse error
#nommage étendu
${c$}=10
#ok
${c$}
#10
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.049 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Lancer un EXE à distance depuis un script