Question
Connaître le partage le plus utilisé
- SiSMik
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 492
- Remerciements reçus 0
il y a 11 ans 10 mois #17417
par SiSMik
Réponse de SiSMik sur le sujet Re:Connaître le partage le plus utilisé
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,
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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 10 mois #17419
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Connaître le partage le plus utilisé
Ombrefst écrit:

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
Faut commencer par un débutLa 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
.
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.
- Bernadie
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 11 ans 10 mois #17421
par Bernadie
Réponse de Bernadie sur le sujet Re:Connaître le partage le plus utilisé
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
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
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 10 mois #17422
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Connaître le partage le plus utilisé
Ombrefst écrit:
Une fois les données générées tu pourras créer ton rapport avec Ps ou Excel.
Plus ou moins. Récupère déjà toutes les données, la solution de Fabien est à exécuter pour chaque utilisateur.vous voyez ce que je veux dire?
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.
- Bernadie
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 11 ans 10 mois #17423
par Bernadie
Réponse de Bernadie sur le sujet Re:Connaître le partage le plus utilisé
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
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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 10 mois #17424
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Connaître le partage le plus utilisé
Ombrefst écrit:
[code:1]
$Output|
Group-Object -property shareUNC|
Sort-Object count -des|
Select-Object @{n='Partages';E={$_.Name}},@{N=\"nb
d'utilisateur(s)\";e={$_.count}}|
Export-csv -path 'c:\temp\ShareUser.csv -Delimliter ';' -Encoding utf8
[/code:1]
Une fois la collection générée tu peux construire ton rapport dans un csv :Ce que je cherche c'est justement comment générer ce rapport
[code:1]
$Output|
Group-Object -property shareUNC|
Sort-Object count -des|
Select-Object @{n='Partages';E={$_.Name}},@{N=\"nb
d'utilisateur(s)\";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.107 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Connaître le partage le plus utilisé