Question Out-file sur des ordinateurs distants

Plus d'informations
il y a 11 ans 1 mois #19358 par Toper
Il y avait bien une ligne vide, mais ça n'a rien changé.
Comme expliqué ci-dessus, un simple [code:1]Get-content \\serveur\c$\fichierdistant.ini[/code:1]
m'affiche le contenu du fichier.

A savoir que ce même nom de PC \"serveur\" se trouve dans mon fichier texte.
J'essaie sur un seul poste pour l'instant.

Ne faudrait-il pas passer par [code:1]\\$_\c$\[/code:1] ?<br><br>Message édité par: gregmurf, à: 30/03/15 15:07

Powershell: la vie est belle :)

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

Plus d'informations
il y a 11 ans 1 mois #19359 par Philippe

Ne faudrait-il pas passer par

oui biensur
le code que je t'ai donner était un exemple pour le forum

le code peu ressemblé à ce qui suit :
[code:1]
$Computerlist = \&quot;C:\liste.txt\&quot;
get-content $Computerlist
ForEach ($comp in $Computerlist) {
$fichierdistant = \&quot;\\$comp\c$\fichier.ini\&quot;
Get-Content $fichierdistant |
ForEach-Object {
$_ = $_ -replace 'bla.+','blabla'
$_ = $_ -replace 'bla2.+','blabla2'
$_
} | Out-File $fichierdistant
}
[/code:1]
ou à tous autre chose celons tes besoins<br><br>Message édité par: 6ratgus, à: 30/03/15 19:28

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

Plus d'informations
il y a 11 ans 1 mois #19363 par Toper
J'essaie donc de passer par cette solution, mais j'ai un message d'erreur.
Voici le code:
[code:1]$Computerlist = \&quot;C:\liste.txt\&quot;
get-content $Computerlist
ForEach ($comp in $Computerlist) {
$fichierdistant = \&quot;\\$comp\c$\Program Files\Cobian Backup 10\Settings\cbEngine.ini\&quot;
Get-Content $fichierdistant
}[/code:1]

Et la petite erreur:
[code:1]Get-Content : Le format du chemin d'accès donné n'est pas pris en charge.
Au niveau de ligne : 5 Caractère : 16
+ Get-Content &lt;&lt;&lt;&lt; $fichierdistant
+ CategoryInfo : InvalidOperation: (\\C:\Users\.......\fichierdistant.ini:«»String) [Get-Content], NotSupportedException
+ FullyQualifiedErrorId : ItemExistsNotSupportedError,Microsoft.PowerShell.Commands.GetContentCommand

Get-Content : Impossible de trouver le chemin d'accès « \\C:\liste.txt\c$\fichierdistant.ini », car il n'existe pas.
Au niveau de ligne : 5 Caractère : 16
+ Get-Content &lt;&lt;&lt;&lt; $fichierdistant
+ CategoryInfo : ObjectNotFound: (\\C:\Users\.....\fichierdistant.ini:«»String) [Get-Content], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand
[/code:1]

Powershell: la vie est belle :)

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

Plus d'informations
il y a 11 ans 1 mois #19368 par Arnaud Petitjean
Salut,

Essaie de \&quot;backquoter\&quot; le caractère dollar dans ta chaine car pour PowerShell un dollar représente un nom de variable.

Comme ceci :
[code:1]$fichierdistant = \&quot;\\$comp\c`$\Program Files\Cobian Backup 10\Settings\cbEngine.ini\&quot;[/code:1]

Sinon tu peux aussi construire ta chaine ainsi :

[code:1]
$fichierdistant = ('\\{0}\c$\Program Files\Cobian Backup 10\Settings\cbEngine.ini' -f $comp)
[/code:1]

Sinon, quoiqu'il en soit, moi je n'aborderais pas le problème de la même manière. En fait, je ferais fonctionner le script sur une machine de référence; puis grâce à la fonctionnalité de Remoting PowerShell, je le ferais exécuter (cf. Invoke-Command) à distance sur les autres machines.

Arnaud

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.

Plus d'informations
il y a 11 ans 1 mois #19373 par Toper
Ta première solution ne fonctionne pas pour moi.
Il me dit ceci que \&quot;Get-content ne peut pas trouver le chemin d'accès blablabla...\&quot;
Mais j'ai du mal à comprendre pourquoi !
Si je fais un simple get-content comme ceci, aucun probleme:
[code:1]get-content \&quot;\\serveurdistant\c$\Program Files\Cobian Backup 10\Settings\cbEngine.ini[/code:1]

Mais sur ce même \&quot;serveurdistant\&quot;, j'essais de lire la liste.txt qui contient ce même nom \&quot;serveurdistant\&quot; et il ne trouve pas le chemin....

Faut qu'on m'explique.... :S
:silly:<br><br>Message édité par: gregmurf, à: 31/03/15 15:10

Powershell: la vie est belle :)

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

Plus d'informations
il y a 11 ans 1 mois #19375 par Arnaud Petitjean

Ta première solution ne fonctionne pas pour moi.


Alors là, ce serait pour moi une énigme si les 2 codes ci-après ne sont pas fonctionnellement équivalents !


[code:1]
$comp = 'SERVEUR-1'
$fichierdistant = \&quot;\\$comp\c`$\Program Files\Cobian Backup 10\Settings\cbEngine.ini\&quot;
Get-Content $fichierdistant

# Doit donner le même résultat que :

Get-Content \&quot;\\$comp\c`$\Program Files\Cobian Backup 10\Settings\cbEngine.ini\&quot;[/code:1]


Et que donne la seconde solution ? Pour moi c'est la plus élégante et celle que je choisirais.

Arnaud

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.

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