login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Lokale services

Offline Toppe - 17/05/2010 15:36
Avatar van ToppePHP interesse Hallo,

Ik draai momenteel Win 2003 met IIS, nu wil ik een script gaan maken die de lokale services opvraagt, maar zover ik kan zien bestaat dat uberhaupth niet.

Iemand enig idee hoe ik dit dan kan maken. Ik wil als resultaat gewoon een lijst krijgen met alle actieve services, moet lukken lijkt me?

Grtz,
Evert-Job

14 antwoorden

Gesponsorde links
Offline MiST - 17/05/2010 15:53 (laatste wijziging 17/05/2010 15:58)
Avatar van MiST Lid als je de uitvoer van een command-prompt kan aansturen en afvangen kan je dat doen met 'net start'

verder is er nog de win32service extensie voor PHP.
Offline Toppe - 17/05/2010 16:26 (laatste wijziging 17/05/2010 16:35)
Avatar van Toppe PHP interesse Heb ik nu geinstalleerd maar de boel blijft leeg.

[b]Als ik gewoon
  1. <?php
  2. print_r(win32_query_service_status("ISSADMIN", "HPSTORAGE"));
  3. ?>
doe geeft hij als resultaat een '5'

deze 5 staat voor 'Access denied', maar hoe fix ik dit?

IISADMIN
5
Service Type:
CurrentState:
Controls Accpeted:
Win32 Exit Code:
Service Specific Exit Code:
Check Point:
Wait Hint:
Process Id:
Service Flags: 0


  1. <?php
  2. $servicename ="IISADMIN";
  3. $machine ="desktopper";
  4. //print_r (win32_query_Service_status($servicename,$machine));
  5.  
  6. echo $servicename;
  7.  
  8. $sray = win32_query_Service_status($servicename,$machine);
  9.  
  10. echo "<br>";
  11.  
  12. print_r ($sray);
  13.  
  14. echo "<ul>";
  15. echo "<li>Service Type: " .$sray[ServiceType] . "</li>";
  16. echo "<li>CurrentState: " .$sray[CurrentState] . "</li>";
  17. echo "<li>Controls Accpeted: " .$sray[ControlsAccepted] . "</li>";
  18. echo "<li>Win32 Exit Code: " .$sray[Win32ExitCode] . "</li>";
  19. echo "<li>Service Specific Exit Code: " .$sray[ServiceSpecificExitCode] . "</li>";
  20. echo "<li>Check Point: " .$sray[CheckPoint] . "</li>";
  21. echo "<li>Wait Hint: " .$sray[WaitHint] . "</li>";
  22. echo "<li>Process Id: " .$sray[ProcessId] . "</li>";
  23. echo "<li>Service Flags: " .$sray[ServiceFlags] . "</li>";
  24. ?>
rechtstreeks van php.net
Offline cyberninjah - 17/05/2010 16:36 (laatste wijziging 17/05/2010 16:36)
Avatar van cyberninjah Lid hmm windows ik weet niet hoe dat precies werkt je kan met php console commands sturen via de volgende functie's

http://nl.php.net/system

http://nl3.php.net/exec


edit: was beetje laat met op versturen druke (A)
Offline Toppe - 17/05/2010 16:39
Avatar van Toppe PHP interesse Nja, wat vreemd is, zelfs error_reprorting doet niets...

<?php
error_reporting(E_ALL && E_NOTICE);
echo $boe;
?>

moet toch wel een fout geven, doet hij ook niet...
Offline cyberninjah - 17/05/2010 16:43 (laatste wijziging 17/05/2010 16:47)
Avatar van cyberninjah Lid jah ik heb zelf slechte ervaring met php op IIS draaie maar oke

maar als je IIS heb draaie gebruik .asp ? daar kan het vast wel mee


Voorbeeldje C# Code

  1. public static ServiceController[] GetDevices()
  2.  
  3. ServiceController[] scDevices;
  4. scDevices = ServiceController.GetDevices();
  5.  
  6. int numAdapter = 0,
  7. numFileSystem = 0,
  8. numKernel = 0,
  9. numRecognizer = 0;
  10.  
  11. // Display the list of device driver services.
  12. Console.WriteLine("Device driver services on the local computer:");
  13.  
  14. foreach (ServiceController scTemp in scDevices)
  15. {
  16. // Display the status and the service name, for example,
  17. // [Running] PCI Bus Driver
  18. // Type = KernelDriver
  19.  
  20. Console.WriteLine(" [{0}] {1}",
  21. scTemp.Status, scTemp.DisplayName);
  22. Console.WriteLine(" Type = {0}", scTemp.ServiceType);
  23.  
  24. // Update counters using the service type bit flags.
  25. if ((scTemp.ServiceType & ServiceType.Adapter) != 0)
  26. {
  27. numAdapter++;
  28. }
  29. if ((scTemp.ServiceType & ServiceType.FileSystemDriver) != 0)
  30. {
  31. numFileSystem++;
  32. }
  33. if ((scTemp.ServiceType & ServiceType.KernelDriver) != 0)
  34. {
  35. numKernel++;
  36. }
  37. if ((scTemp.ServiceType & ServiceType.RecognizerDriver) != 0)
  38. {
  39. numRecognizer++;
  40. }
  41.  
  42. }
  43.  
  44. Console.WriteLine();
  45. Console.WriteLine("Total of {0} device driver services", scDevices.Length);
  46. Console.WriteLine(" {0} are adapter drivers", numAdapter);
  47. Console.WriteLine(" {0} are file system drivers", numFileSystem);
  48. Console.WriteLine(" {0} are kernel drivers", numKernel);
  49. Console.WriteLine(" {0} are file system recognizer drivers", numRecognizer);
Offline Toppe - 17/05/2010 16:47
Avatar van Toppe PHP interesse Ik bak helemaal niets van ASP, wil graag een 'server monitor' scriptje maken, niets bijzonders enkel kijken of een aantal services draaien (imap, pop, mysql etc)

Iemand dan een kant en klaar script? via phpsysinfo krijg ik 'XML file loading failed'
Offline cyberninjah - 17/05/2010 16:47 (laatste wijziging 17/05/2010 16:51)
Avatar van cyberninjah Lid Hmm dat kan je via sockets toch ook checken ??

Live demo: http://www.rapix.nl/serverstatus ( Ik weet meest is offline wordt niks mee gedaan )

Voorbeeld:
  1. function serverstatus($ip,$port,$maint)
  2. {
  3. $ip = "$ip:$port";
  4. $array=explode(':',$ip);
  5. $fp = @fsockopen($array[0], $array[1], $errno, $errstr,1);
  6. if($maint == 1) {
  7. $status = "<font color=\"orange\"><b>Onderhoud</b></font>";
  8. }
  9. else if($fp){
  10. $status = "<font color=\"green\"><b>Online</b></font>";
  11. fclose($fp);
  12. }
  13. else{
  14. $status = "<font color=\"red\"><b>Offline</b></font>";
  15. }
  16. return $status;
  17. }
  18.  
  19.  
  20. echo serverstatus("IP","PORT",'0');
Offline Toppe - 17/05/2010 17:05 (laatste wijziging 17/05/2010 17:05)
Avatar van Toppe PHP interesse Oke, dat werkt wel. Alleen hoe doe je dat met mysql dan?

  1. <?php
  2. $connect = mysql_connect('localhost', 'user', 'password');
  3. if($connect){
  4. echo'succes';
  5. }
  6. ?>


en je voorbeeld doet het hier niet...

?
Offline cyberninjah - 17/05/2010 17:20
Avatar van cyberninjah Lid je kan idd verbinding maken en dan kijken of het gaat of niet

mysql gaat toch over port 3306 ?


De live demo bedoel je ?
Hier wel zit Javascript in mischien is dat het probleem ?
Offline Toppe - 17/05/2010 17:37 (laatste wijziging 17/05/2010 21:38)
Avatar van Toppe PHP interesse Internet Explorer cannot display the webpage

What you can try:
Diagnose Connection Problems


Zou je voor mij eens de gehele code willen posten (of mailen desnoods), eens kijken naar jou code:)

Lol, krijg phpsysinfo wel werkend via static maar niet via dynamic, edit, had lol ff in xml.php gezet als test, nu is die weg en alles werkt. Op naar een marnier om services te testen:)
Offline cyberninjah - 18/05/2010 09:43
Avatar van cyberninjah Lid heb ook even zitten kijken naar dat phpsysinfo je kan er leuke dingen mee doen zeg =)
Offline Toppe - 18/05/2010 15:45 (laatste wijziging 18/05/2010 16:12)
Avatar van Toppe PHP interesse Ja dat wel, net de process name functie ontdekt, kan alleen niet achter de php naam komen... Vet weird. Heb gewoon mysqld.exe er tussen staan, alleen voor php kan ik niets verzinnen
Offline cyberninjah - 18/05/2010 16:15
Avatar van cyberninjah Lid hmm bij apache is dat een module dat is geen losse services zo ver ik weet.
Offline Toppe - 18/05/2010 17:08
Avatar van Toppe PHP interesse Gebruik geen apache maar ISS.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.213s