Question
Instruction boucle foreach
- Toper
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 145
- Remerciements reçus 0
il y a 8 ans 4 mois #24875
par Toper
Powershell: la vie est belle
Instruction boucle foreach a été créé par Toper
Bonjour @ tous,
je cherche, à partir d'une liste d'ordinateurs (leur noms) à afficher dans un fichier texte leur nom ainsi que le résultat de recherche d'une ligne dans un fichier texte.
[code:1]$list = Get-Content -path \"path-to-txtfile\"
foreach ($Computer in $list) {
Get-WmiObject -Class Win32_Desktop $Computer >> C:\managedclients.txt
Get-Content \"\\$_\c$\path-to-file-to-explore\" | Select-String -Pattern \"some-words\" >> c:\managedclients.txt
}[/code:1]
Mais vous vous doutez que je n'y arrive pas
je cherche, à partir d'une liste d'ordinateurs (leur noms) à afficher dans un fichier texte leur nom ainsi que le résultat de recherche d'une ligne dans un fichier texte.
[code:1]$list = Get-Content -path \"path-to-txtfile\"
foreach ($Computer in $list) {
Get-WmiObject -Class Win32_Desktop $Computer >> C:\managedclients.txt
Get-Content \"\\$_\c$\path-to-file-to-explore\" | Select-String -Pattern \"some-words\" >> c:\managedclients.txt
}[/code:1]
Mais vous vous doutez que je n'y arrive pas
Powershell: la vie est belle
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 8 ans 4 mois #24880
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:Instruction boucle foreach
Salut,
pas sur de comprendre ton problème :
[code:1]
@'
begin
some-words
end
'@ > c:\temp\Test.txt
remove-item C:\Temp\managedclients.txt
$list = @('.','.')
foreach ($Computer in $list) {
Get-WmiObject -ComputerName $Computer -Class Win32_Desktop >> C:\Temp\managedclients.txt
Get-Content \"c:\temp\Test.txt\" | Select-String -Pattern \"some-words\">> C:\Temp\managedclients.txt
}
type C:\temp\managedclients.txt
[/code:1]
On a bien un fichier correspondant à ce que tu souhaites à priori faire.
pas sur de comprendre ton problème :
[code:1]
@'
begin
some-words
end
'@ > c:\temp\Test.txt
remove-item C:\Temp\managedclients.txt
$list = @('.','.')
foreach ($Computer in $list) {
Get-WmiObject -ComputerName $Computer -Class Win32_Desktop >> C:\Temp\managedclients.txt
Get-Content \"c:\temp\Test.txt\" | Select-String -Pattern \"some-words\">> C:\Temp\managedclients.txt
}
type C:\temp\managedclients.txt
[/code:1]
On a bien un fichier correspondant à ce que tu souhaites à priori faire.
Tutoriels 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 8 ans 4 mois #24881
par Toper
Powershell: la vie est belle
Réponse de Toper sur le sujet Re:Instruction boucle foreach
Je me traduis 
Sur une liste texte de noms d'ordinateurs, je souhaites afficher une et une seule ligne bien spécifique d'un fichier texte (contenu dans c:\programfiles\xxxx, puis envoyer le tout (nom du PC + la ligne du fichier texte de CE PC) dans un fichier managedclients.txt.
Comme ça je pourrais voir si la ligne correspond bien au nom du poste.
Sur une liste texte de noms d'ordinateurs, je souhaites afficher une et une seule ligne bien spécifique d'un fichier texte (contenu dans c:\programfiles\xxxx, puis envoyer le tout (nom du PC + la ligne du fichier texte de CE PC) dans un fichier managedclients.txt.
Comme ça je pourrais voir si la ligne correspond bien au nom du poste.
Powershell: la vie est belle
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 8 ans 4 mois #24885
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:Instruction boucle foreach
gregmurf écrit:
C'est donc un test si la ligne existe ou pas, c'est ça ?je souhaites afficher une et une seule ligne bien spécifique d'un fichier texte (contenu dans c:\programfiles\xxxx, puis envoyer le tout (nom du PC + la ligne du fichier texte de CE PC) dans un fichier managedclients.txt.
Comme ça je pourrais voir si la ligne correspond bien au nom du poste.
Tutoriels 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 8 ans 4 mois #24886
par Toper
Powershell: la vie est belle
Réponse de Toper sur le sujet Re:Instruction boucle foreach
Non, j'essaie de faire un rapport qui me liste:
Hostname1
ligne du fichier
hostname2
ligne du fichier
Pour voir en fait si la ligne du fichier de chaque PC correspond bien à la norme (cette ligne doit comporter \"Name of the managed client=%COMPUTERNAME\"
Ce qui me permet de dire: tel nom de PC n'a pas le bon paramètre (en l'occurence: %COMPUTERNAME)<br><br>Message édité par: gregmurf, à: 25/01/18 09:14
Hostname1
ligne du fichier
hostname2
ligne du fichier
Pour voir en fait si la ligne du fichier de chaque PC correspond bien à la norme (cette ligne doit comporter \"Name of the managed client=%COMPUTERNAME\"
Ce qui me permet de dire: tel nom de PC n'a pas le bon paramètre (en l'occurence: %COMPUTERNAME)<br><br>Message édité par: gregmurf, à: 25/01/18 09:14
Powershell: la vie est belle
Connexion ou Créer un compte pour participer à la conversation.
- Guillaume
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 116
- Remerciements reçus 0
il y a 8 ans 3 mois #24898
par Guillaume
Réponse de Guillaume sur le sujet Re:Instruction boucle foreach
Bonjour,
Tu pourrais écrire une ligne exemple pour nous montrer à quoi doit ressembler le résultat final ?
Tu pourrais écrire une ligne exemple pour nous montrer à quoi doit ressembler le résultat final ?
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.042 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Instruction boucle foreach