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

Windows Discussion :

Image WIM montées fichiers illisibles par d'autres programmes que ceux liés à l'exporateur windows


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2014
    Messages : 266
    Par défaut Image WIM montées fichiers illisibles par d'autres programmes que ceux liés à l'exporateur windows
    Bonjour,

    J'utilise des images wim créées avec l'outils Dism avec d'autres outils pour réaliser différentes opérations.
    J'arrive à naviguer sur une image montée sur un dossier cible et ouvrir les fichiers en passant par l'explorateur windows. Cela prend parfois un peu de temps lorsqu'il y a des images (je pense qu'il y a création de fichiers temporaires pour cela... ?) mais ça fonctionne on peut utiliser l'image comme un dossier windows et enregistrer les modifications à volonté.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dism /Mount-Image /ImageFile:"G:\mon_image.wim" /index:1 /MountDir:"C:\mon_image_montee\"
    En revanche si l'image est montée et que l'on n'utilise pas l'explorateur de fichiers windows l'accès aux fichiers par le dossier cible est impossible, en effet une ligne de programmation telle que "fopen($file,"r"); suivante indique une erreur et donc qu'auncun fichier n'existe alors que l'image est bien montée.
    Une commande IF EXIST indique bien que le fichier existe.

    Ce n'est qu'après avoir visualisé le fichier via l'explorateur windows que le fichier devient effectivement lisible.
    Or je souhaite pouvoir manipuler ces fichiers montés et utiliser directement des des outils de programmation pour lire les fichiers comment faire ? Y a t il une commande spéciale permettant de rendre un fichier ou un dossier accessible tout le temps ?

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2014
    Messages : 266
    Par défaut
    Pas beaucoup de retours pour l'insant j'espère arriver à trouver la solution :

    J'ai une première solution pas très optimisée et qui fonctionne en tous les cas en utilisant la commande appelée par une fonction système (sous php 8.1x par exemple) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    passthru("type mon_fichier",$retour);
    Le fichier est bien ouvert et ça fonctionne.

    Par contre deux gros problèmes :
    1/ rapidité on chute en vitesse avec un bitrate de 400 ko/s au lieu des 60 Mo/ de lecture de disque (d'après ma configuration)
    2/ plusieurs processus lancés en même temps n'arrivent pas à exécuter la commande et le fichier n'est pas ouvert ce qui oblige à relancer une nouvelle fois la commande et cela fonctionne si en insistant

    Qu'est ce qui explique ou pourrait améliorer les 2 problèmes listés ?

    Est ce que powershell pourrait faire la même chose mais en mieux (get_content pas encore testé mais je doute car il faut lancer en powershell qui appelle la fonction... donc moins rapide à priori) ?

    Y a t il d'autres commandes dos permettant de rendre la lecture possible ?

  3. #3
    Membre expérimenté
    Avatar de XeGregory
    Homme Profil pro
    Passionné par la programmation
    Inscrit en
    Janvier 2017
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Passionné par la programmation
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 507
    Par défaut
    Vérifier les permissions

    Clique droit sur le dossier monté → Propriétés → Sécurité.
    Assure-toi que l'utilisateur ou les programmes ont les droits de lecture.

    Vérifier et accorder les droits de lecture : PowerShell

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    # Chemin du dossier monté
    $mountPath = "C:\mount"
    
    # Nom de l'utilisateur à autoriser (remplace par ton nom d'utilisateur)
    $userName = "$env:USERNAME"
    
    # Vérifie si l'utilisateur a déjà des droits
    $acl = Get-Acl $mountPath
    $hasAccess = $acl.Access | Where-Object { $_.IdentityReference -like "*$userName*" }
    
    if ($hasAccess) {
        Write-Host "L'utilisateur '$userName' a déjà des permissions sur '$mountPath'."
    } else {
        Write-Host "L'utilisateur '$userName' n'a pas encore de permissions. Ajout en cours..."
    
        # Crée une règle d'accès en lecture
        $accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule(
            $userName,
            "FullControl",
            "ContainerInherit,ObjectInherit",
            "None",
            "Allow"
        )
    
        # Applique la règle
        $acl.AddAccessRule($accessRule)
        Set-Acl -Path $mountPath -AclObject $acl
    
        Write-Host "Droits de lecture accordés à '$userName' sur '$mountPath'."
    }
    Vous ne pouvez pas faire confiance à un code que vous n'avez pas totalement rédigé vous-même.
    Ce n’est pas un bogue - c’est une fonctionnalité non documentée.

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 322
    Par défaut
    Un point de montage d'image WIM n'a pas pour vocation d'être utilisé comme un volume standard, c'est fait pour du déploiement. Ça ne me parait pas aberrant de ne pas pouvoir l'utiliser comme un dossier comme un autre depuis l'explorateur.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/03/2018, 14h19
  2. Réponses: 5
    Dernier message: 15/06/2009, 18h41
  3. Erreur "Fichier utilisé par un autre processus"
    Par solo3326 dans le forum Langage
    Réponses: 3
    Dernier message: 18/08/2005, 16h55
  4. Réponses: 9
    Dernier message: 19/08/2004, 11h03
  5. Rendre une disquette illisible par d'autres que moi
    Par kivoch dans le forum x86 16-bits
    Réponses: 8
    Dernier message: 26/12/2003, 22h49

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