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

VBScript Discussion :

Propriétés d'une imprimante


Sujet :

VBScript

  1. #1
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut Propriétés d'une imprimante
    Bonjour,

    J'ai réussi à ajouter une imprimante via un script vbs, mais il me reste une dernière chose à faire, et je ne trouve pas de réponse.

    Je cherche à modifier les valeurs de "Gestion d'imprimantes" et "Gestion des documents" dans l'onglet "Sécurité" des propriétés d'une imprimante.

    Quelqu'un aurait une solution ?

    Merci.

  2. #2
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 302
    Par défaut
    bonjour,
    si c'est une propriété "standard", elle est peut-être reconnue par SetPrinter
    ici un exemple d'utilisation en vbs
    s'il s'agit en revanche d'une fonctionnalité "exotique", il ne reste plus que le support du constructeur pour une éventuelle api...
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  3. #3
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Merci pour ta réponse,

    A priori, ça doit être standard, puisque sous l'onglet sécurité dans les propriétés de mes imprimantes, je retrouve les cases à cocher suivantes dans les autorisations :
    - Imprimer
    - Gestion d'imprimantes
    - Gestion des documents
    - Autorisations spéciales



    Citation Envoyé par omen999 Voir le message
    bonjour,
    si c'est une propriété "standard", elle est peut-être reconnue par SetPrinter
    ici un exemple d'utilisation en vbs
    s'il s'agit en revanche d'une fonctionnalité "exotique", il ne reste plus que le support du constructeur pour une éventuelle api...

  4. #4
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Re,

    Au pire, quelqu'un saurait si ces valeurs sont stockées dans la base de registre ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    - Imprimer
    - Gestion d'imprimantes
    - Gestion des documents
    - Autorisations spéciales
    Merci.

  5. #5
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Re,

    J'ai peut-être trouvé un début de piste avec un code vu sur le net.
    Il est sensé récupérer les infos des imprimantes.
    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
    31
    32
    33
    34
    35
    36
    37
     
    SE_DACL_PRESENT = &H4
    ACCESS_ALLOWED_ACE_TYPE = &H0
    ACCESS_DENIED_ACE_TYPE = &H1
    Dim objSD
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate, (Security)}!\\" & strComputer & "\root\cimv2")
     
    Set objWMIService = GetObject("winmgmts:")
    Set colInstalledPrinters = objWMIService.ExecQuery("Select * from Win32_Printer")
     
    For Each objPrinter In colInstalledPrinters
       Wscript.echo "Name: " & objPrinter.Name
    ' Get security descriptor for printer
        ret = objPrinter.GetSecurityDescriptor(objSD)
        If (ret <> 0) Then
        Wscript.echo "Could not get security descriptor: " & ret
        wscript.Quit ret
        End If
    ' Extract the security descriptor flags
        intControlFlags = objSD.ControlFlags
        If intControlFlags And SE_DACL_PRESENT Then
    ' Get the ACE entries from security descriptor
            arrACEs = objSD.DACL
        For Each objACE In arrACEs
    ' Get all the trustees and determine which have access to printer
            Wscript.echo objACE.Trustee.Domain & "\" & objACE.Trustee.Name
            If objACE.AceType = ACCESS_ALLOWED_ACE_TYPE Then
                Wscript.echo vbTab & "User has access to printer"
            ElseIf objACE.AceType = ACCESS_DENIED_ACE_TYPE Then
                Wscript.echo vbTab & "User does not have access to the printer"
            End If
        Next
        Else
        Wscript.echo "No DACL found in security descriptor"
    End If
    Next
    Quand j'exécute ce code sous VB6, j'ai ce message sur la ligne 15
    L'objet ne gère pas cette propriété ou cette méthode
    Une idée ?

    Merci.

  6. #6
    Membre chevronné Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Par défaut
    Bonjour,

    Sur une machine Windows XP j'ai obtenu la même erreur que toi.

    Puis j'ai vu cette information sur http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx : la méthode GetSecurityDescriptor de la classe Win32_Printer n'est disponible que sur les machines Vista/2008 ou supérieures.

    Sur quelle OS exécutes-tu ce code?

    Bonne continuation

  7. #7
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Citation Envoyé par pitchalov Voir le message
    Bonjour,

    Sur une machine Windows XP j'ai obtenu la même erreur que toi.

    Puis j'ai vu cette information sur http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx : la méthode GetSecurityDescriptor de la classe Win32_Printer n'est disponible que sur les machines Vista/2008 ou supérieures.

    Sur quelle OS exécutes-tu ce code?

    Bonne continuation
    Je suis sous XP SP3

    EDIT : Il n'existe pas d'alternative pour XP ?

  8. #8
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Re,

    Je m'en suis finalement sorti en utilisant setacl.

    Merci

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

Discussions similaires

  1. Comment lire les propriétés d'une imprimante ?
    Par zidenne dans le forum Langage
    Réponses: 18
    Dernier message: 06/08/2010, 11h26
  2. Manipuler les propriétés d'une imprimante
    Par Eric Beaumard dans le forum Delphi
    Réponses: 1
    Dernier message: 19/11/2006, 11h51
  3. [VB.NET] Ouvrir la boite des propriétés d'une imprimante
    Par Pierrick dans le forum Windows Forms
    Réponses: 1
    Dernier message: 21/09/2006, 22h00
  4. Comment acceder à la propriété d'une imprimante
    Par lassad dans le forum Composants VCL
    Réponses: 1
    Dernier message: 18/10/2005, 13h55

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