Question Lancer Script bat ou autre sur un autre PC du réseau

Plus d'informations
il y a 2 ans 7 mois #31339 par Simon
Bonjour a tous, 

Je commence un peu le powershell pour un projet ou j'ai 3 PCs. 
j'aimerai lancer un script sur les 3 pcs avec des paramètres, j'ai partagé les dossiers ou se trouve le script en question mais quand je lance via le dossier partagé ça me lance le script sur le pc local et non sur le pc distant ... 
après moultes recherches je m'apercois que c'est pas si simple et j'essaie donc de le faire en powershell mais je n'y arrive pas.

Invoke-Command -ComputerName PC3 -FilePath C:\Soft\test.ps1
resultat : 
Invoke-Command : Impossible de trouver le chemin d'accès etc... (car il le cherche sur le pc local j'ai l'impression)

pour verifier j'ai fait un :  Test-Connection PC3 
ça me renvoie bien l'adresse IP 

Si quelqu'un peut m'expliquer comment faire je suis preneur ;) 

merci d'avance 

Simon

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 7 mois #31340 par Simon
Donc j'ai avancé avec la commande Enter-PSSession
j'entre bien sur un shell de mon pc distant mais quand je lance un script, sur ma session distante je vois bien le process qui se lance dans le gestionnaire des taches mais rien apparaît (le script lance des softs mais ça n’apparaît pas) par contre le fichier de log que génère le script est bien créé...

moi j'aimerai que ça le lance comme si je le lançait via ma session distante.

j'ai essayé en mettant -credential mais ça ne marche pas non plus.
pouvez vous m'aider svp ?

merci
Simon

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 7 mois #31341 par Laurent Dardenne
Bonjour,
>>j'aimerai que ça le lance comme si je le lançait via ma session distante.
Le process exécuté par WinRM n'est pas dans la même session utilsateur, de plus ce process n'a pas de handle de fenêtre il ne peut donc 'afficher' quoi que ce soit.

Je ne me souviens pas comment on procéde dans ce cas, peut être avec le soft PSExec.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 7 mois #31342 par Laurent Dardenne
Pour de possibles solution recherche avec les mots clés : "powershell run remote gui"

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 7 mois - il y a 2 ans 7 mois #31347 par Simon
Merci pour la réponse, j'ai déjà essayé avec PSExec mais sans succès.

C'est moche qu'on ne puisse pas facilement faire ça quand même ^^

J'ai cherché pas mal comment faire mais je n'ai pas trouvé de solution, il y'a bien un truc en créant une tache planifiée mais on ne peut pas passer d'argument donc ça m'avance pas trop. 

Simon
Dernière édition: il y a 2 ans 7 mois par Simon .

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 7 mois - il y a 2 ans 7 mois #31365 par Philippe
salut Simon

tu peux essayer ce script que j'utiliserai il y a quelques années
il lance une commande CMD sur un poste distant. si je me souviens bien il affiché une fenêtre CMD sur l'écran de l'utilisateur 
exemple d'utilisation
Process_cmd_user $ordi $login $motDePasse "powershell -file c:\test.ps1 argument1 argument2 "
function Process_cmd
    {
    Param($Target,$exec)
        
    $random = get-random

    #cmd to execute remotely 
    $cmd = "cmd /c $exec > C:\$random.txt"

    #execute the cmd remotely 
    $processid = Invoke-WmiMethod -class Win32_process -name Create -ArgumentList $cmd -ComputerName $Target

    #wait until the process is done 
    do { $resultprocess = Get-WmiObject win32_process -ComputerName $Target | where {$_.processid -eq $processid.processid }
         sleep 1 
       } until ($resultprocess -eq $null)

    #copy the log file into the script folder to get the content quickly 
    copy-item -path \\$Target\C$\$random.txt -destination .\

    #get the log content create by the cmd
    $result=Get-Content .\$random.txt -encoding ascii

    #remove the log 
    remove-item \\$Target\C$\$random.txt
    remove-item .\$random.txt
        
    return $result
    }

 
Dernière édition: il y a 2 ans 7 mois par Philippe.

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.076 secondes
Propulsé par Kunena