Question [Résolu] Recherche de chaînes dans toutes les OU

Plus d'informations
il y a 15 ans 6 mois #7844 par Delita
Bonjour, et merci d'avance à ceux qui m'aideront, je suis débutant.


Je cherche à faire un script qui recherche une chaîne de caractères (exemple 'fourmi') dans tous les fichiers de chaque dossier de chaque serveur de mon OU. Le résultat (les différents nom de fichier contenant 'fourmi' à l'intérieur) serait alors listé dans un tableau excel, avec leurs chemin rescpectif.

J'ai déja trouvé comment extraire ma commande dans un fichier CSV, mais le problème c'est que je ne trouve pas comment écrire le fait que la commande select-string doit chercher dans chaque fichier.

Dois-je faire une fonction qui répertorie les emplacements?

Merci!<br><br>Message édité par: Arnaud, à: 28/09/10 17:25

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

Plus d'informations
il y a 15 ans 6 mois #7845 par Laurent Dardenne
Salut,
Delita écrit:

mais le problème c'est que je ne trouve pas comment écrire le fait que la commande select-string doit chercher dans chaque fichier.

Il faut déjà consulter la doc de Select-String :
[code:1]
Get-Help Select-string -parameter Path
# Accepter l'entrée de pipeline ? true (ByPropertyName)
[/code:1]
Le cmdlet Select-String sait où trouver l'information si tu lui passe un objet fichier, ou un objet portant un membre Path contenant un nom complet de fichier.
Du coup ceci devient possible :
[code:1]
$SearchPath=\&quot;C:\Temp\&quot;
$Pattern=\&quot;advapi32.dll\&quot;

$MatchFiles=Dir $SearchPath -recurse|
Select-String $Pattern|
Foreach {$_.path}

$MatchFiles
[/code:1]
Si toutefois j'ai bien compris ton pb...<br><br>Message édité par: Laurent Dardenne, à: 23/09/10 13:20

Tutoriels PowerShell

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

Plus d'informations
il y a 15 ans 6 mois #7846 par Delita
Merci!

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

Plus d'informations
il y a 15 ans 6 mois #7848 par Delita
J'ai un morceau de mon script qui est comme suit:

[code:1]$MatchFiles = Select-String -Path c:\test\*.txt -Pattern 'reseau'
$MatchFiles | Format-List -Property[/code:1]

Comment faire pour qu'au lieu d'aller dans \&quot;C:\test\\&quot;, que la recherche se fasse dans tous les matériel présent sur le réseau?

Le problème c'est que je doit conserver le *txt.

Dois-je faire une variable qui prend pour valeur les différents chemin auquel je rajoute \*.txt?

Merci d'avance à ceux qui sauront m'éclairer

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

Plus d'informations
il y a 15 ans 6 mois #7849 par Laurent Dardenne
Delita écrit:

tous les matériel présent sur le réseau?

tu peux préciser pour \&quot;tous les matériels\&quot; ?
Delita écrit:

Dois-je faire une variable qui prend pour valeur les différents chemin auquel je rajoute \*.txt?

Oui :
[code:1]
Select-String -Path \&quot;$CurrentPath\*.txt\&quot;
[/code:1]

Tutoriels PowerShell

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

Plus d'informations
il y a 15 ans 6 mois #7851 par Delita
Aaaah d'accord excellent! Par \&quot;tous les matériels\&quot; j'entendais tous les postes du réseau\&quot;.

Mais vais essayer avec une variable, sinon je me demande si je peut récupérer tous les chemin sur mon serveur DNS...Je vais voir ca

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

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