Avatar billede nca Juniormester
02. november 2003 - 21:23 Der er 9 kommentarer og
1 løsning

Finde operativsystem på en computer i netværk

Hvordan kan jeg finde ud af hvilket operativsystem en vilkårlig computer på mit netværk køre.
Jeg går ud fra at jeg skal anvende GetVersionEx på computeren, men hvordan får jeg fortalt at forespørgslen ikke skal køre på min egen computer?
Avatar billede dkn Nybegynder
02. november 2003 - 21:30 #1
Ikke testet!


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  SERVER_INFO_101 = record
    sv101_platform_id : Integer;
    sv101_name : PWideChar;
    sv101_version_major : Integer;
    sv101_version_minor : Integer;
    sv101_type : Integer;
    sv101_comment : PWideChar;
  end;
  PSERVER_INFO_101 = ^SERVER_INFO_101;
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
function NetServerGetInfo(Server: PWideChar; Level: DWord; var BufPtr:Pointer): LongInt; stdcall; external 'netapi32.dll';

procedure TForm1.Button1Click(Sender: TObject);

function GetServerInfo(ComputerName: String):String;
var
  MyPtr:Pointer;
  MyInfo:PSERVER_INFO_101;
  Server:WideString;
begin
  Server := ComputerName;
  if NetServerGetInfo(PWideChar(Server), 101, MyPtr) <> 0 then
      result := Server+' not available' else begin
  if (MyPtr <> nil) then
  begin
    MyInfo:=PSERVER_INFO_101(MyPtr);
    if MyInfo^.sv101_version_major <= 4 then
  Result := 'Windows NT' else begin
  case MyInfo^.sv101_version_minor of
    0: result := 'Windows 2000';
    1: result := 'Windows XP';
  end;
  end;
  end else result := 'Windows 9x';
  end;
end;
begin
ShowMessage(GetServerInfo('ServerCompany'));
end;
end.
Avatar billede bufferzone Praktikant
02. november 2003 - 21:46 #2
Det kan du med f.eks. portscannings programmet Nmap. det fortæller dig en masse om porte samt giver dig et rimeligt bud på operativsystemet. Der findes flere forskellige værktøjer til dette. Disse værktøjer kan du finde en liste over på samme side som du downloader Nmap. http://www.insecure.org
Avatar billede nca Juniormester
03. november 2003 - 08:35 #3
>>bufferzone
Jeg er i gang med at lave mit eget licensstyringsprogram, hvor jeg har brug for at finde ud af hvilke programmer der er installeret på en maskine samt hvilket operativsystem, den kører.
Jeg kan finde det jeg har brug for i registreringsdatabasen undtage OS. Derfor dette spørgsmål.
Avatar billede nca Juniormester
03. november 2003 - 08:37 #4
>>dkn
Det virker perfekt selvom jeg havde glemt at skrive, at jeg bruger Delphi 5
Avatar billede dkn Nybegynder
03. november 2003 - 14:26 #5
Okay, vil sige at der måske er noget problemer hvis programmet bliver kørt på win9x maskiner, da dll filen hedder noget andet der, håber ikke det er tilfældet. Men der er skam også råd for det :)

Bare lige sig til
Avatar billede nca Juniormester
03. november 2003 - 14:46 #6
>>dkn
Der er nogle få Win9x maskiner på domænet, så det ville da være dejligt at få en funktion, som dækker alle maskiner.
Avatar billede dkn Nybegynder
03. november 2003 - 14:50 #7
funktionen dækker alle, det kræves bare at den bliver kørt på en computer med os over win2k så vodt jeg ved.

Men vis programmet skal køres på win9x maskiner så sig lige til igen :)
Avatar billede nca Juniormester
03. november 2003 - 16:01 #8
Jamen det skal det (også)
Avatar billede dkn Nybegynder
03. november 2003 - 20:34 #9
Ok har bixet en dll som understøtter begge operativ systemmer.

Den tjekker egentlig bare efter det styresystem den er på, og vælger så den rette dll (svrapi.dll eller netapi32.dll).

Men kom med mail og jeg kan sende den til dig.
Avatar billede nca Juniormester
03. november 2003 - 21:13 #10
>>dkn
Du er en knag. Tak for hjælpen.
Send venligst din kode til nca@pmc.odense.dk
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester