Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3049 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Powershell] Connection hosts remote

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Powershell] Connection hosts remote

n°2089968
Kastor94
Capitaliste
Posté le 18-07-2011 à 15:03:30  profilanswer
 

'jour :jap:
 
 
J'ai un script PS qui fait des manips sur des fichiers, rien de bien violent (copier-coller / renommage):

Code :
  1. $SourceFile = "C:\Temp\Test.txt";
  2. $NewFile    = "C:\Temp\Test2.txt";
  3. # CHECK & COPY
  4. if ([System.IO.File]::Exists($SourceFile))  {
  5.    [System.IO.File]::Copy($SourceFile, $NewFile)
  6.    "Source File ($SourceFile) copied to ($newFile)"
  7. }
  8. else {
  9. "Source file ($Sourcefile) does not exist."
  10. # RENAME
  11. Rename-Item $Sourcefile test.ori
  12. Rename-item $NewFile test.new


 
Seulement voilà, j'aimerais lancer ce script en local sur une liste de serveur définie dans un fichier .txt.
J'ai bien essayé "bêtement" avec un "for each" des éléments du .txt mais ça ne passe pas.
 
 
Si quelqu'un a une idée... merci d'avance  [:pou3t]  


---------------
I see your ugly mugs and your boppin' along as if you were always down - Proud - our ways still cocky, arrogance in the finest form.
mood
Publicité
Posté le 18-07-2011 à 15:03:30  profilanswer
 

n°2090275
xaeon
Profil: TT
Posté le 20-07-2011 à 01:23:49  profilanswer
 

Peut être que je passe a coté de la vraie demande mais pour moi:
 
1. Appel du script PS depuis un batch
2. Dans ce batch, une boucle FOR /F qui parcours chaque ligne de ton fichier texte contenant tes serveurs
3. Les paramètres passés au script PS se récupèrent dans un Array ($args de mémmoire, indicé à partir de 0)
 
Ca donnerait donc  
batch.bat

Code :
  1. for /f %%i (C:\listeServeur.txt) (
  2.     powershell .\tonscript.ps1 %%i
  3.     )


 
tonscript.ps1

Code :
  1. $Serveur = $args[0]


 
Après il y a sans doute plus simple, mais je suppose que c'est un traitement récurrent donc qui va être exécuté par une scheduled task, donc je mettrait ça dans un batch.  
 
Sinon si tu veux tout faire coté PowerShell, je pense qu'avec ta classe System.IO.File tu peux t'en sortir, avec une instance de StreamReader pour ouvrir ton fichier listeServeur.txt en lecture seule, puis avec une boucle de type TantQue, parcrourir ligne par ligne ton fichier texte et assigner la valeur de la ligne à une variable dans ton script.
 
http://msdn.microsoft.com/fr-fr/li [...] .100).aspx


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Powershell] Connection hosts remote

 

Sujets relatifs
[PowerShell] Renommer des fichiers PDF avec leurs métadonnéesConnection à une base Mysql (easyPhp) en Java suivant modele MVC
Connection msn[RESOLU] connexion SSH2 sous windows
[Powershell]Lister les PC de l'AD, et les caractéristiques...Erreur connection local MySQL / MySQL connector
connection ssh sous c#Creation d'utilisateur dans AD via powershell plus..
connection ODBC MySQL avec machine virtuellepowershell - variable après un pipe ?
Plus de sujets relatifs à : [Powershell] Connection hosts remote


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR