Question trouver les ADS

Plus d'informations
il y a 12 ans 6 mois #15762 par FoFo
trouver les ADS a été créé par FoFo
bonjour,

je galere sur un truc tout con..:angry:
lister tout les fichiers qui ont un ADS

pour un fichier unique c'est ok..

[code:1]get-item file.txt -stream *[/code:1]
mais je veux le faire d'un bloque sur tous les fichiers du disque dur

mon idée ete de faire un genre de
[code:1]get-childitem -recurse | get-item $_ -stream *[/code:1]
mais cela ne fonctionne pas..et cela afficherai trop de choses..

j'ai pensé a un
[code:1] if ((get-item $_ -stream *).count -gt 1)
{
$_
}
[/code:1]

fonctionne pas non plus..:unsure:
quelqu'un aurait une idée pour un truc optimiser sans mettre tout les fichiers dans une variable? :woohoo:

merci :P

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

Plus d'informations
il y a 12 ans 6 mois #15763 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:trouver les ADS
Salut,
essaie ceci :
[code:1]
dir 'C:\Users\Laurent\Downloads' -rec|
Where { -not $_.PSIsContainer -and @(get-item -LiteralPath $_.Fullname -stream *).count -gt 1 }
[/code:1]
Il est préférable d'utiliser le paramètre Literalpath sinon tu peux rencontrer l'erreur suivante :

Get-Item : Impossible de trouver un paramètre correspondant au nom « stream ».

Cas pour les fichiers contenant les caractères ''.<br><br>Message édité par: Laurent Dardenne, à: 28/08/13 10:55

Tutoriels PowerShell

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

Plus d'informations
il y a 12 ans 6 mois #15768 par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:trouver les ADS
Bonjour,

Quelques réflexions autour de ce sujet, pour notre culture.

Il est simple de comprendre à quoi peut servir le paramétre '-Stream' sur le Cmdlet 'Get-Item' :

[code:1]
PS&gt; Get-Help get-item -parameter stream
Get-Help : Aucun paramètre ne correspond aux critères stream.
Au niveau de C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Pscx\Modules\GetHelp\Pscx.GetHelp.psm1 : 479 Caractère 
: 33
+ $scriptCmd = { &amp; &lt;&lt;&lt;&lt; $wrappedCmd @PSBoundParameters }
+ CategoryInfo : InvalidArgument: (System.Manageme...CommandHelpInfo:«»ProviderCommandHelpInfo) [Get-Help],
PSArgumentException
+ FullyQualifiedErrorId : NoParmsFound,Microsoft.PowerShell.Commands.GetHelpCommand
[/code:1]

(Sous PowerShell V2... Pour la V3, je n'ai pas encore testé).

Une réponse en ligne .

Applies To: Windows PowerShell 2.0, Windows PowerShell 3.0


Puis :

Stream is a dynamic parameter that the FileSystem provider adds to the Get-Item cmdlet. This parameter works only in file system drives.
This parameter is introduced in Windows PowerShell 3.0.


Je ne comprends pas comment on peut comprendre, qu'on soit débutant ou pas ; Il s'agit peut être du fameux jeu identifié par Laurent : \&quot;Allez, cherche !\&quot;.

Si nous sommes ici en PowerShell version 3, il est à noter que nous pouvons également filtrer uniquement sur les fichiers (et donc exclure les répertoires) via le paramétre '-File' de Get-ChildItem.

Cela évite ensuite d'utiliser le filtre '-not $_.PSIsContainer' au niveau du 'Where-Object'.

@ +

Matthew BETTON

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

Plus d'informations
il y a 12 ans 6 mois #15781 par FoFo
Réponse de FoFo sur le sujet Re:trouver les ADS
Merci laurent ca fonctionne!! c'était le problème du \&quot;not $_.PSIsContainer\&quot; je suposse :)

t'assures ! j'ai lu un peu tes tutos tu sembles avoir un sacré niveau tu fais quoi comme job? :p

en tout cas je suis impressionné du résultat on peut facilement voir d'où vient un fichier comme ca :P internet ou pas..
et on peut même trouver quelques surprises ...

et il serait possible de pousser encore plus loin la recherche en affichant uniquement les fichiers qui ont le 2eme Stream diffèrent de Zone.Identifier ? je pense pas que ca soit possible de cumuler les pipes pour arriver a ce résultat ?

je viens de voir que dropbox \&quot;tag\&quot; tout leurs fichiers semblerait il :) les coquins !

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

Plus d'informations
il y a 12 ans 6 mois #15782 par FoFo
Réponse de FoFo sur le sujet Re:trouver les ADS
merci a Matthew aussi ;) j'avais pas compris que c'était une reponse a la premiere lecture :P

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

Plus d'informations
il y a 12 ans 6 mois #15790 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:trouver les ADS
FoFo écrit:

t'assures !

Pas plus que d'autres.
FoFo écrit:

j'ai lu un peu tes tutos tu sembles avoir un sacré niveau

Beaucoup de temps passé à étudier le sujet, au final il en reste qq chose.
FoFo écrit:

tu fais quoi comme job?

Conception et développement logiciel, ces derniers temps dans l'infra et l'automatisation de tâches sur les produits MS.
FoFo écrit:

je pense pas que ca soit possible de cumuler les pipes pour arriver a ce résultat ?

Essaie !
FoFo écrit:

j'avais pas compris que c'était une reponse a la premiere lecture

:)
Effectivement on peut simplifier le code. Codant le plus souvent sur PS v2 je ne tiens pas compte de ces évolutions, sauf si je cible une version spécifique. Par exemple Windows 8 et que je suis assuré que ce ne sera que du Windows 8.
En même temps Matthew a raison puisque j'ai testé le code proposé sous Windows 8 ;-)

Tutoriels PowerShell

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

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