Question Connaître le partage le plus utilisé

Plus d'informations
il y a 11 ans 10 mois #17417 par SiSMik
Bonjour, j'ai pas trop compris ce que tu souhaites faire, mais ce bout de code devrait t'iader.. pas vraiment tester mais bon...

La condition à ce que tout fonctionne c'est que tes fichiers qui listent les shares par utilisateur, portent le nom de l'utilisateur.

[code:1]# On crée un tableau vide pour stocker et trier les résultats
$Output = @()
# On liste les fichiers contenant les partages de chaque utilisateur
# Et on boucle dessus
Get-ChildItem $Cheminousontlesfichierstxt | % {
$Fichier = $_
# On récupère le contenu du fichier qu'on colle dans un tableau
Get-Content $Fichier | % {
$prop = @{\"UserName\"=$Fichier.Name;
\"ShareUNC\"=$_}
$Output += New-Object -TypeName pscustomObject -Property $prop
}
}

$Output[/code:1]

En espérant que ça t'aide.

Cordialement,

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

Plus d'informations
il y a 11 ans 10 mois #17419 par Laurent Dardenne
Ombrefst écrit:

La seul chose que j'ai réussi à mettre en place c'est une variable pour indiquer le chemin où sont rangés mes fichiers texte utilisateur contenant les partages auxquels ils sont associés :S .

Faut commencer par un début :)

Avant de partir sur Excel, la création d'un fichier csv peut te faciliter la vie :
[code:1]
$users=@('riri','fifi','loulou')
$Shares=@(
'\\Prog\Programmes'
'\\Testsrv\Daper'
'\\Prog\fusion'
'\\Prodsrv\Aper'
'\\Testsrv\Taper'
'\\LONDRES\Users\abenkhal'
'\\Londres\drc'
)

$Result=foreach ( $user in $users){
foreach ( $share in Get-Random -InputObject $Shares -Count 4)
{
#crée pour chaque user autant d'objet que de share utilisé
new-object PsObject -property @{Name=$user;Share=$share}
}
}
#export le résultat
# peut se faire pour chaque user -> c:\temp\user_Riri.csv
$Result|Export-Csv c:\temp\User_datas.csv

Import-Csv c:\temp\User_datas.csv|
Group-Object -property share|sort count -des

#pour + fichiers
dir 'c:\temp\User_*.csv'|
foreach {
Import-Csv -path $_.Fullname
}|
Group-Object -property share|sort count -des
[/code:1]
Cela rejoint la solution de Fabien, mais sans utilser les fichiers, car on ne sait pas comment ils sont gérés/nommés.
Si tu crées un fichier csv pour tous tes utilisateurs l'import dans Excel est à mon avis facilité.<br><br>Message édité par: Laurent Dardenne, à: 7/05/14 15:55

Tutoriels PowerShell

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

Plus d'informations
il y a 11 ans 10 mois #17421 par Bernadie
En premier lieu j'ai testé la solution de benduru,

j'obtiens quelque chose comme cela

[code:1]
\\londres\poolsaisie wlechopi.txt
\\Londres\AXI zhadibi.txt
\\londtres\poolsaisie zhadibi.txt
[/code:1]

ce qui manque maintenant c'est une sorte de compteur qui donnerai un résultat dans ce genre la :
[code:1]
Partages ; nb d'utilisateur(s)
\\londres\poolsaisie ; 2
\\londres\axi ; 1

[/code:1]
vous voyez ce que je veux dire?


je teste la solution de Mr Dardenne en ce moment :P

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

Plus d'informations
il y a 11 ans 10 mois #17422 par Laurent Dardenne
Ombrefst écrit:

vous voyez ce que je veux dire?

Plus ou moins. Récupère déjà toutes les données, la solution de Fabien est à exécuter pour chaque utilisateur.
Une fois les données générées tu pourras créer ton rapport avec Ps ou Excel.

Tutoriels PowerShell

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

Plus d'informations
il y a 11 ans 10 mois #17423 par Bernadie
Je crois que tu n'as pas saisi la globalité, j'ai déjà un dossier qui est régulièrement mis à jour ou sont stockés des fichiers textes qui sont aux nom des utilisateurs.

Dans ces fichiers textes leur partage sont listés.

Ce que je cherche c'est justement comment générer ce rapport :)

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

Plus d'informations
il y a 11 ans 10 mois #17424 par Laurent Dardenne
Ombrefst écrit:

Ce que je cherche c'est justement comment générer ce rapport :)

Une fois la collection générée tu peux construire ton rapport dans un csv :
[code:1]
$Output|
Group-Object -property shareUNC|
Sort-Object count -des|
Select-Object @{n='Partages';E={$_.Name}},@{N=\&quot;nb
d'utilisateur(s)\&quot;;e={$_.count}}|
Export-csv -path 'c:\temp\ShareUser.csv -Delimliter ';' -Encoding utf8
[/code:1]

Tutoriels PowerShell

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

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