Bonjour,
J'aimerai exécuter un script vbs sur une machine distante.
Le problème est que je ne peux pas utiliser "invoke-command" car bloqué par une politique de sécurité.
Si quelqu'un a une idée de comment faire je suis preneur.
Merci
Bonjour,
J'aimerai exécuter un script vbs sur une machine distante.
Le problème est que je ne peux pas utiliser "invoke-command" car bloqué par une politique de sécurité.
Si quelqu'un a une idée de comment faire je suis preneur.
Merci
salut moman
le wmi peut être une piste
un exemple de code que j'avais trouvé y a quelque années :
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
28
29
30
31
32
33
34 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 if (test-path "\\$Target\C$\$random.txt") { #get the log content create by the cmd try { $result = Get-Content \\$Target\C$\$random.txt -encoding ascii } catch {} #remove the log try { remove-item \\$Target\C$\$random.txt -ErrorAction SilentlyContinue } catch {} } return $result }
Merci 6ratgus.
Je testerais ta réponse lundi.
Sinon, j'avais essayé de faire un mappage réseau, de copier le script sur la machine distante et de l’exécuter via ce mappage.
Pour l’exécuter j'avais utilisé le cscript de la machine distante via le mappage, mais le script semblait s’exécuter sur la machine de départ, je pense donc que ce doit être du à l'environnement d’exécution.
Voila, voila. Si vous avez d'autres idées, je suis toujours preneur.
Merci.
Bonjour bonjour
Voila plusieurs jours que je cherche... Mais sans succès....
Disons que j'ai résolu 50% du problème, mais le reste ...
je souhaite faire deux chose, la première consiste à lancer une commande CMD sur une liste de serveur, ils sont, pour l'instant en Win2003.(je n'ai pas trouvé la solution)
La deuxième chose consiste à lancer un vbs sur, également une liste de serveur en 2003. j'ai trouvé en utilisant Psexec.
J'ai essayé avec la même méthode, psexec, mais sans succès, avec un runas... idem.
je suis donc tombé sur ton script, mais j'avoue ne pas trop le comprendre... pourriez vous me l'expliquer ?
Merci merci![]()
voici un petit exemple d'utilisation de Process_cmd :
Attention certaines commandes demandent une élévation "admin", Process_cmd ne résout pas ce problème !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $commande = "dir c:\" # tu remplace ce dir par la commande que tu veux exécuté $ordinateur = "pc-de-test" Process_cmd $Ordinateur $commande
pour ton problème de "lancer une commande CMD sur une liste de serveur" tu as plusieurs solutions !!! tout dépend de ta liste
en voici une :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 "serveur1", "serveur2", "serveur3" | foreach { Process_cmd $_ $commande }
Partager