IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Récupération d'informations de sécurité de fichiers, dossiers/sous-dossiers. [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2020
    Messages : 14
    Par défaut Récupération d'informations de sécurité de fichiers, dossiers/sous-dossiers.
    Bonjour,
    je cherche à récupérer dans un fichier texte le chemin des dossiers, sous-dossiers et fichiers avec leurs droits d'accès (onglet sécurité quand on va dans les propriétés).

    J'ai écris le script suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    cd "I:\_CLIENTS"
    $filePath = Get-ChildItem -Path "I:\_CLIENTS" -Force -Recurse | select-object name
    $filePath2 = Get-ChildItem -Path "I:\_CLIENTS" -Force -Recurse | select-object fullname
    #-Force -Recurse
    cd "I:\_CLIENTS"
    #Echo $filePath 
    Echo $filePath2.fullname
    #Echo Split-path -Path $filePath2.name 
    #Get-ChildItem -Path $filePath2.name -Force -Recurse | select-object fullname | out-file "C:\Users\Administrateur\Documents\test.txt"
    Get-ChildItem -Path "I:\_CLIENTS" -Force -Recurse | select-object fullname | out-file "C:\Users\Administrateur\Documents\test.txt"
    
    foreach ($Fichier in $filePath)
     {
     echo $Fichier.name
     echo $Fichier.fullname
     (Get-Item -force -path  $Fichier.Name ).getaccesscontrol() | fl >> "C:\Users\Administrateur\Documents\test.txt"
     }
    Ce script me permet de récupérer les informations et la liste mais uniquement des fichiers qui sont sous la racine pas pour les éléments qui sont dans des sous-dossiers :

    Voici le message d'erreur que j'obtiens :
    Get-Item : Impossible de trouver le chemin d'accès «*I:\_CLIENTS\9.3. DECLARATIONS FISCALES*», car il n'existe pas.
    Au caractère I:\_CLIENTS\Recup_proprietes_fichiers2.ps1:16 : 3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    +  (Get-Item -force -path  $Fichier.Name ).getaccesscontrol() | fl >> " ...
    +   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : ObjectNotFound: (I:\_CLIENTS\9.3. DECLARATIONS FISCALES:String) [Get-Item], ItemNotFoundException
        + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand

    Il ne semble pas avoir gardé le chemin complet : le dossier 9.3. DECLARATIONS FISCALES se trouve dans un sous dossier de I:\_CLIENTS et non pas directement dessous.
    Comment faire pour qu'il prenne bien le chemin complet ?

    Merci de votre aide.
    Nicole

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Par défaut
    Est-ce que vous ne devriez pas tout simplement remplacer Name par FullName ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Get-Item -force -path  $Fichier.Name

  3. #3
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2020
    Messages : 14
    Par défaut
    Non, c'est ce que j'avais fait au départ. Erreur retournée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Get-Item : Impossible de lier l'argument au paramètre «*Path*», car il a la valeur Null.
    Au caractère I:\_CLIENTS\Recup_proprietes_fichiers2.ps1:16 : 26
    +  (Get-Item -force -path  $Fichier.fullname ).getaccesscontrol() | fl  ...
    +                          ~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidData : (:) [Get-Item], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.GetItemCommand

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Par défaut
    C'est un peu normal car vous ne récupérez que l'attribut Name:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $filePath = Get-ChildItem -Path "I:\_CLIENTS" -Force -Recurse | select-object name
    Faites alors ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $filePath = Get-ChildItem -Path "I:\_CLIENTS" -Force -Recurse | select-object name,fullname
    Et votre souci devrait être résolu.

    Notez que vous avez "volontairement" limité la quantité d'éléments à récupérer. Si vous aviez omis select-object, vous n'auriez pas eu ce problème.
    Mais vous avez raison de ne pas prendre plus que nécessaire. Ce qu'il vous faut c'est fullname, name n'est probablement même pas utile dans le cas présent.

  5. #5
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2020
    Messages : 14
    Par défaut
    Oui, effectivement !
    Merci beaucoup, c'était ça le problème.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sécurité des fichiers INIT sous Windows 10
    Par gegila dans le forum Langage
    Réponses: 4
    Dernier message: 11/04/2021, 12h22
  2. Récupération des informations contenues dans un fichier
    Par dream_of_australia dans le forum Débuter
    Réponses: 16
    Dernier message: 08/07/2009, 17h47
  3. [SAX] Récupération d'informations à partir d'un fichier xml
    Par wajdi_forum dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 11/07/2008, 15h10
  4. Réponses: 4
    Dernier message: 28/02/2008, 18h40
  5. Réponses: 6
    Dernier message: 28/04/2004, 10h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo