AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie setze man WMI Werte?

Ein Thema von Piro · begonnen am 11. Apr 2009 · letzter Beitrag vom 13. Apr 2009
Antwort Antwort
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#1

Wie setze man WMI Werte?

  Alt 11. Apr 2009, 09:34
Frohe Ostern miteinander,

mich würde mal interessieren wie man einen WMI Wert einer bestimmten WMI Klasse setzt, z.B. Manufacturer.

Mit folgendem Code kann ich auf die WMI Klasse zugreifen und Wert auslesen. Leider weiß ich jetzt nicht wie man Wert setzt. Habe mal was versucht, was aber nicht klappte.

Delphi-Quellcode:
procedure Tfrm_main.btn_setClick(Sender: TObject);
var
 SWbemLocator1 : ISWbemLocator;
 aSrv : ISWbemServices;
 vNVS : OleVariant;
 aObjSet : ISWbemObjectSet;
 aNVSDummy : IDispatch;
 pEnum : IEnumVARIANT;
 vOut : OleVariant;
 dwRetrieved : LongWord;
 hRes : HResult;
 computer : String;
begin
 try
   SWbemLocator1 := CoSWbemLocator.Create;
   aSrv := SWbemLocator1.ConnectServer(computer,'root\cimv2','','','','',0,vNVS);
   aObjSet := aSrv.ExecQuery('Select * from Win32_ComputerSystem','WQL', 0, aNVSDummy);
   pEnum := aObjSet.Get__NewEnum as IEnumVARIANT;
   hRes := pEnum.Next(1, vOut, dwRetrieved);
   if hRes = S_OK then
   begin
     vOut.Manufacturer := 'Testeintrag';
     vOut.SetInfo; // blau-äugiger Versuch...leider kommt ein Fehler
     // vOut.Put // funktioniert auch nicht
   end;
 Except
   //
 end;
end;
Könnt ihr mir weiterhelfen?

Vielen Dank im voraus.
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#2

Re: WIe setze man WMI Werte?

  Alt 11. Apr 2009, 10:05
...irrrrrtum....
  Mit Zitat antworten Zitat
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Wie setze man WMI Werte?

  Alt 13. Apr 2009, 11:05
Hat denn keiner ne Idee. Ich wäre ja schon glücklich wenn es überhaupt gehen würde. Egal mit welcher Programmiersprache.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#4

Re: Wie setze man WMI Werte?

  Alt 13. Apr 2009, 12:13
Ach Du schande... ich hatte das schonmal gemacht.. wie ging denn das nochmal?

Zum einen mal muss man freilich Schreibrechte auf der WMI-Verbindung haben. Zum anderen darf das Property freilich nicht als Readonly markiert sein. Eigentlich sollte Put dann funktionieren. Als Parameter erwartet das den Propertynamen, den Wert (als pointer auf einen Variant) und das wichtigste an der Geschichte ist der vtType Parameter, der den Typen des Variants angibt.

Das Problem was man dann noch haben kann ist, dass der entsprechende WMI-Provider diese Put-Operation dennoch nicht unterstützt. Kommt leider arg häufig vor. Die Alternative wäre, nach Methoden auf dem Objekt suchen, die das gewünschte erledigen sollen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Wie setze man WMI Werte?

  Alt 13. Apr 2009, 12:37
Vielen Dank.

Aber das klingt sehr kompliziert.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz