Is there a replacement or update for WmiSet for post-Delphi 2007?

We are currently using WmiSet from Online Admin to run Wmi queries and request registry settings on remote computers.

The problem is that it only supports Delphi prior to RAD Studio 2007.

Now we are in the process of switching to Delphi XE and should know if anyone knows or has a newer version of WmiSet components or something like that.

We tried to contact the seller, but so far there have been no answers to any of our requests.

+4
source share
2 answers

converting a WMISet library to Unicode Delphi is not too difficult. I did the conversion in Delphi 2009 and 2010, and the compiler points you to those lines of code that need to be changed. If I find the time, I will prepare a “diff” between the source code and the modified for UniCode Delphi and download it.

Regards, Olaf

+2
source

Pieter, some time ago I started a project called Delphi Wmi Class Generator , this project creates fully documented Object Pascal classes (compatible with delphi 7 to XE) to access WMI.

check this code, which uses the TWin32_BIOS class (created by the application) to access the Win32_BIOS class on the remote machine.

 uses SysUtils, uWmiDelphiClass in '..\..\uWmiDelphiClass.pas', uWin32_BIOS in '..\..\root_CIMV2\uWin32_BIOS.pas'; var RemoteBiosInfo : TWin32_BIOS; i : integer; begin try RemoteBiosInfo:=TWin32_BIOS.Create(False); try RemoteBiosInfo.WmiServer:='192.168.217.128'; RemoteBiosInfo.WmiUser :='Administrator'; RemoteBiosInfo.WmiPass :='password'; RemoteBiosInfo.LoadWmiData; if RemoteBiosInfo.WmiConnected then begin Writeln('Serial Number '+RemoteBiosInfo.SerialNumber); Writeln('BuildNumber '+RemoteBiosInfo.BuildNumber); if RemoteBiosInfo.BIOSVersion.Count>0 then Writeln('Version '+RemoteBiosInfo.BIOSVersion[0]); Writeln('Identification Code '+RemoteBiosInfo.IdentificationCode); Writeln('Manufacturer '+RemoteBiosInfo.Manufacturer); Writeln('SoftwareElementID '+RemoteBiosInfo.SoftwareElementID); Writeln('Release Date '+DateToStr(RemoteBiosInfo.ReleaseDate)); Writeln('Install Date '+DateToStr(RemoteBiosInfo.InstallDate)); Writeln('Target SO '+GetTargetOperatingSystemAsString(RemoteBiosInfo.TargetOperatingSystem)); Writeln('Soft. element state '+GetSoftwareElementStateAsString(RemoteBiosInfo.SoftwareElementState)); Writeln(''); Writeln('Bios Characteristics'); Writeln('--------------------'); for i:=Low(RemoteBiosInfo.BiosCharacteristics) to High(RemoteBiosInfo.BiosCharacteristics) do Writeln(GetBiosCharacteristicsAsString(RemoteBiosInfo.BiosCharacteristics[i])); end else Writeln('No connected'); finally RemoteBiosInfo.Free; end; except on E:Exception do Writeln(E.Classname, ': ', E.Message); end; Readln; end. 
+7
source

Source: https://habr.com/ru/post/1342027/


All Articles