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 :

Modification propriété d'une class WMI [PowerShell]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 9
    Par défaut Modification propriété d'une class WMI
    Bonjour,

    Je tente de modifier la propriété 'Description' de la class WMI Win32_OperatingSystem; ne rencontre aucune erreur mais la modification n'est pas appliquée.

    Quelqu'un voit il mon erreur dans le script ci dessous ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $strComputer = "."
    
    $CompSys = get-wmiobject Win32_OperatingSystem -namespace"root\CIMV2" -ComputerName $strComputer  
    
    $CompSys.Description = "Testing"
    $result = $CompSys.put_
    
    Write-Host $result
    L'affichage de $result me permet de vérifier qu'aucune erreur n'est renvoyée lors de l'opération Put_ .

    Question subsidiaire : Peux on me confirmer que les propriétés de classe WMI affichée comme Read-only ne peuvent être mofifiée ?

    Merci d'avance

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par Nightbird000 Voir le message
    Quelqu'un voit il mon erreur dans le script ci dessous ? :
    Put_ est vue, par défaut, comme une propriété. Si celle-ci n'existe pas, avec la configuration de PS par défaut, cet appel ne provoquera pas d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Set-StrictMode -Version 2
    $CompSys.Put_
    #La propriété « Put_ » est introuvable sur cet objet. Vérifiez qu'elle existe.
    Set-StrictMode -Off
    Essaie la méthode Put().
    Citation Envoyé par Nightbird000 Voir le message
    Question subsidiaire : Peux on me confirmer que les propriétés de classe WMI affichée comme Read-only ne peuvent être modifiée ?
    As-tu un exemple ?

  3. #3
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 9
    Par défaut Tout simple
    Merci encore Laurent.

    Pour celui ci c'était tout bête.

    Pour ma qustion subsidiaire, regarde la description des classes WMI sur le MSDN : http://msdn.microsoft.com/en-us/libr...=VS.85%29.aspx
    Tu peux prendre n'importe quel classe, pour chaque propriétés ils affichent un statut Read-Only ou Read-Write.
    Est ce que le Read-Only m'empeche de modifier la propriété en question par la gestion des objet WMI en PowerShell ?

  4. #4
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Nightbird000 Voir le message
    Est ce que le Read-Only m'empeche de modifier la propriété en question par la gestion des objet WMI en PowerShell ?
    Tu peux modifier une propriété d'une instance récupérée par Get-WMIObject (c'est une copie) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $CompSys = get-wmiobject Win32_OperatingSystem  
    $CompSys.Debug
    #false
    $CompSys.Debug=$true
     $CompSys.Put()
    $CompSys.Debug
    #true
    Bien que la propriété soit indiquée en R/O :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ([wmiclass]"Win32_OperatingSystem").psbase.Properties| ? {$_.name -eq "debug"}
    Mais l'instance originale (dans le référentiel WMI) n'est pas mis à jour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $CompSys2 = get-wmiobject Win32_OperatingSystem 
    $CompSys2.Debug
    #false
    J'en déduis que le R/O porte sur le référentiel et pas sur les instances récupérées, mais je n'ai pas le temps de m'en assurer...

    Un article sur le sujet.

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

Discussions similaires

  1. Lecture de propriété d'une classe
    Par Mass-yas dans le forum VB.NET
    Réponses: 7
    Dernier message: 12/06/2007, 10h52
  2. Ajout de propriété dans une classe d'une assembly
    Par ftesson dans le forum Général Dotnet
    Réponses: 7
    Dernier message: 14/05/2007, 14h25
  3. Double propriété dans une classe
    Par Kiboumz dans le forum VB.NET
    Réponses: 3
    Dernier message: 28/03/2007, 13h49
  4. [VB.NET 2005] Parcourir les propriétes d'une Class
    Par ricil78 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 27/03/2007, 21h47
  5. Réponses: 2
    Dernier message: 13/12/2006, 15h10

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