Question
Out-file sur des ordinateurs distants
- Toper
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 145
- Remerciements reçus 0
il y a 11 ans 1 mois #19358
par Toper
Powershell: la vie est belle
Réponse de Toper sur le sujet Re:Out-file sur des ordinateurs distants
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
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.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 11 ans 1 mois #19359
par Philippe
le code que je t'ai donner était un exemple pour le forum
le code peu ressemblé à ce qui suit :
[code:1]
$Computerlist = \"C:\liste.txt\"
get-content $Computerlist
ForEach ($comp in $Computerlist) {
$fichierdistant = \"\\$comp\c$\fichier.ini\"
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
Réponse de Philippe sur le sujet Re:Out-file sur des ordinateurs distants
oui biensurNe faudrait-il pas passer par
le code que je t'ai donner était un exemple pour le forum
le code peu ressemblé à ce qui suit :
[code:1]
$Computerlist = \"C:\liste.txt\"
get-content $Computerlist
ForEach ($comp in $Computerlist) {
$fichierdistant = \"\\$comp\c$\fichier.ini\"
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.
- Toper
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 145
- Remerciements reçus 0
il y a 11 ans 1 mois #19363
par Toper
Powershell: la vie est belle
Réponse de Toper sur le sujet Re:Out-file sur des ordinateurs distants
J'essaie donc de passer par cette solution, mais j'ai un message d'erreur.
Voici le code:
[code:1]$Computerlist = \"C:\liste.txt\"
get-content $Computerlist
ForEach ($comp in $Computerlist) {
$fichierdistant = \"\\$comp\c$\Program Files\Cobian Backup 10\Settings\cbEngine.ini\"
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 <<<< $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 <<<< $fichierdistant
+ CategoryInfo : ObjectNotFound: (\\C:\Users\.....\fichierdistant.ini:«»String) [Get-Content], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand
[/code:1]
Voici le code:
[code:1]$Computerlist = \"C:\liste.txt\"
get-content $Computerlist
ForEach ($comp in $Computerlist) {
$fichierdistant = \"\\$comp\c$\Program Files\Cobian Backup 10\Settings\cbEngine.ini\"
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 <<<< $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 <<<< $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.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 11 ans 1 mois #19368
par Arnaud Petitjean
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 ?
Réponse de Arnaud Petitjean sur le sujet Re:Out-file sur des ordinateurs distants
Salut,
Essaie de \"backquoter\" le caractère dollar dans ta chaine car pour PowerShell un dollar représente un nom de variable.
Comme ceci :
[code:1]$fichierdistant = \"\\$comp\c`$\Program Files\Cobian Backup 10\Settings\cbEngine.ini\"[/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
Essaie de \"backquoter\" le caractère dollar dans ta chaine car pour PowerShell un dollar représente un nom de variable.
Comme ceci :
[code:1]$fichierdistant = \"\\$comp\c`$\Program Files\Cobian Backup 10\Settings\cbEngine.ini\"[/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.
- Toper
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 145
- Remerciements reçus 0
il y a 11 ans 1 mois #19373
par Toper
Powershell: la vie est belle
Réponse de Toper sur le sujet Re:Out-file sur des ordinateurs distants
Ta première solution ne fonctionne pas pour moi.
Il me dit ceci que \"Get-content ne peut pas trouver le chemin d'accès blablabla...\"
Mais j'ai du mal à comprendre pourquoi !
Si je fais un simple get-content comme ceci, aucun probleme:
[code:1]get-content \"\\serveurdistant\c$\Program Files\Cobian Backup 10\Settings\cbEngine.ini[/code:1]
Mais sur ce même \"serveurdistant\", j'essais de lire la liste.txt qui contient ce même nom \"serveurdistant\" et il ne trouve pas le chemin....
Faut qu'on m'explique....
<br><br>Message édité par: gregmurf, à: 31/03/15 15:10
Il me dit ceci que \"Get-content ne peut pas trouver le chemin d'accès blablabla...\"
Mais j'ai du mal à comprendre pourquoi !
Si je fais un simple get-content comme ceci, aucun probleme:
[code:1]get-content \"\\serveurdistant\c$\Program Files\Cobian Backup 10\Settings\cbEngine.ini[/code:1]
Mais sur ce même \"serveurdistant\", j'essais de lire la liste.txt qui contient ce même nom \"serveurdistant\" et il ne trouve pas le chemin....
Faut qu'on m'explique....
Powershell: la vie est belle
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 11 ans 1 mois #19375
par Arnaud Petitjean
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 = \"\\$comp\c`$\Program Files\Cobian Backup 10\Settings\cbEngine.ini\"
Get-Content $fichierdistant
# Doit donner le même résultat que :
Get-Content \"\\$comp\c`$\Program Files\Cobian Backup 10\Settings\cbEngine.ini\"[/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 ?
Réponse de Arnaud Petitjean sur le sujet Re:Out-file sur des ordinateurs distants
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 = \"\\$comp\c`$\Program Files\Cobian Backup 10\Settings\cbEngine.ini\"
Get-Content $fichierdistant
# Doit donner le même résultat que :
Get-Content \"\\$comp\c`$\Program Files\Cobian Backup 10\Settings\cbEngine.ini\"[/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
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Out-file sur des ordinateurs distants