Question [Résolu]connaitre le propriétaire d'un fichier

Plus d'informations
il y a 10 ans 11 mois #19952 par Axel
j'ai réussi à connaitre le propriétaire d'un fichier grâce à la commande sur la console powershell mais maintenant j'esseye d'intégrer cette commande à mon code mais je n'y arrive pas !!!

pouvez-vous me donner une piste s'il-vous-plaît !?

voici mon code:

[code:1]
#demande de la valeur minimum en octet des fichiers à analyser
$length = read-host \"`nIndiquer la taille minimum pour l'analyse des fichiers en Octet: \"
$taille = $length

$chemin = read-host \"`nIndiquer la localisation du répertoire pour lancer l'analyse: \"
#recherche des fichiers par rapport à la taille
$files = gci $chemin * -recurse -force |
where-object {$_.length -gt $taille}

#création
$doublons = $files |
sort-object length |
group-object length |
where-object {$_.count -gt 1}

function Clear-KeyboardBuffer {
while ($Host.UI.RawUI.KeyAvailable)
{$null = $Host.UI.RawUI.ReadKey(\"NoEcho,IncludeKeyDown,IncludeKeyUp\"«»)}
}

function YesNo {
param(
$Caption,
$Message,
[ValidateSet(\"Yes\",\"No\"«»)]
$DefaultChoice=\"No\"
)
Clear-KeyboardBuffer
$Yes = New-Object System.Management.Automation.Host.ChoiceDescription \"&Yes\"
$No = New-Object System.Management.Automation.Host.ChoiceDescription \"&No\"
$Choices = [System.Management.Automation.Host.ChoiceDescription[]]($Yes,$No)
$Host.UI.PromptForChoice($Caption,$Message,$Choices,([byte]($DefaultChoice -eq \"no\"«»)))
}

function Get-FileHash {
[CmdletBinding()]
Param(
[Parameter(Position=0,Mandatory=$true, ValueFromPipelineByPropertyName=$true,ValueFromPipeline=$True)]
[Alias(\"PSPath\",\"FullName\"«»)]
[string[]]$Path,
[Parameter(Position=1)]
[ValidateSet(\"MD5\"«»)]
[string[]]$Algorithm = \"MD5\"
)
Process {
ForEach ($item in $Path) {
$item = (Resolve-Path $item).ProviderPath
$object = New-Object PSObject -Property @{
Path = $item
}
#ouverture flux
$stream = ([IO.StreamReader]$item).BaseStream
foreach ($Type in $Algorithm) {
[string]$hash = -join ([Security.Cryptography.HashAlgorithm]::Create( $Type ).ComputeHash( $stream ) |
ForEach {\"{0:«»X0}\" -f $_ })
$null = $stream.Seek(0,0)
$object = Add-Member -InputObject $Object -MemberType NoteProperty -Name $Type -Value $Hash -PassThru
}
$object.pstypenames.insert(0,'System.IO.FileInfo.Hash')
#sortie du Hash et du chemin
Write-Output $object
#fermeture flux
$stream.Close()
}
}
}

function new-rapport {
param($fichier)
#construit un nouvel objet à partir d'un objet fichier
#par défaut le résultat est émis dans le pipeline
select-object -inputobject $fichier -property 'Lastwritetime','FullName','Length','Owner'
}

#affichage
#boucle sur la collection principale
$rapport = $doublons |
foreach-object {
#boucle sur la collection group de chaque doublon
$_.group |
foreach-object {
#boucle sur la collection de fichiers de chaque group

new-rapport -fichier $_

}#file
}#group

$i = 0
#calcul le nombre de fichiers trouvé
$rapport | foreach {
$i = $i + 1
}

$Yes = 0
$No = 1

if ($i -gt 1)
{
$Choice = YesNo -message \"`n$i fichiers trouvés, voulez-vous les afficher ?\"
}
else
{
write-host \"`nIl n'y a pas de doublon`n\"
}

if ($Choice -eq $Yes)
{
$rapport | format-table
$Choice = YesNo -message \"`nVoulez-vous calculer leur MD5 ?\"
if ($Choice -eq $Yes)
{
$rapport | Get-FileHash
$Choice = YesNo -message \"`nVoulez-vous exporter les informations ?\"
if ($Choice -eq $Yes)
{
$rapport | export-csv \"C:\Temp\RapportFiles.csv\" -Delimiter \";\"
write-host \"Les informations ont été enregistrées dans C:\Temp\RapportFiles.csv\"
}
}
}
[/code:1]

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

Plus d'informations
il y a 10 ans 11 mois #19953 par Axel
j'ai même essayé Get-ChildItem C:\Scripts -recurse | ForEach-Object {Get-Acl $_.FullName}

mais aucun succès

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

Plus d'informations
il y a 10 ans 11 mois #19954 par xyz
Harcide écrit:

maintenant j'esseye d'intégrer cette commande à mon code mais je n'y arrive pas !!!

Que veux-tu faire de cette information ?

Tutoriels PowerShell

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

Plus d'informations
il y a 10 ans 11 mois #19955 par Axel
j'aimerais obtenir l'information owner et l'exporter dans mon fichier csv<br><br>Message édité par: Harcide, à: 8/06/15 17:24

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

Plus d'informations
il y a 10 ans 11 mois #19957 par xyz
Ok.
Où sont regroupés tes informations actuelles ?

Tutoriels PowerShell

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

Plus d'informations
il y a 10 ans 11 mois #19959 par Axel
je les exporte dans un fichier .csv

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

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