Rechner "fernsteuern"

Hallo,

nach dem ich jetzt den Kollegen dank HM das Licht ausmachen kann … Nö Spass bei Seite. Ich möchte über das Webfront Rechner hoch- und runterfahren bzw. wissen ob der Rechner an ist. Optisch habe es mir so vorgestellt das der Rechner ähnlich wie eine HM-Akuator grün angezeigt wenn läuft mit einem klick heruntergefahren wird - rote Anzeige - und mit einem Klick wieder gestartet werden kann.

Das hat den Hintergrund das manche Kollegen ihren Rechner am Abend nicht herunterfahren und man sich das gelatsche durch die Räume dann spaaren kann

Leider habe ich keinen oder nur teilweise Dunst wie ich das lösen kann. :rolleyes:

Lukky

Hallo Lukky,

das Anzeige des Status eines Rechner ist noch die einfachste Lösung, dazu hat Steiner mal ein hervorragendes Skript gepostet.

Mit dem Ein- und Ausschalten hatte ich auch so meine Probleme insbesondere da ich meine Rechner entweder Standby oder Ruhezustand fahre.

Sollte Du einen Rechner komplett ausschalten wollen so sei Dir mal das Tool psshutdown ans Herz gelegt. Mit einem anschließenden WOL (WakeOnLan) sollte er dann wieder aufwachen.

Aber da WOL nicht im Ruhezustand oder StandBy funktioniert habe ich das Thema wieder bleiben lassen, sollte aber für deine Zwecke funktionieren. Mit der Suchfunktion im Forum wirst Du auch den einen oder anderen Beitrag dazu finden.

Hallo Lukky,

Hochfahren lassen sich Rechner per WakeOnLan.

Welcher Rechner läuft sollte über einen Ping möglich sein, und ausschalten lassen sich die Rechner normalerweise auch über das Netzwerk mit Shutdown von Windows!

Einfach mal etwas rumprobieren! :wink:

Gruß

Ralf

Danke für die Rückantworten.

Hatte mich glaube ich etwas falsch ausgedrückt.

WOL ist klar verwende folgendes Script

<?

$mac = "001966DD66E6"; //MAC Adresse Buchhaltungs PC
 $ip = "255.255.255.255"; // Broadcast adresse

wake($ip,$mac,15);//Port kann irgendwas sein

function wake($ip, $mac, $port)
{
  $nic = fsockopen("udp://" . $ip, $port);
  if($nic)
  {
    $packet = "";
    for($i = 0; $i < 6; $i++)
       $packet .= chr(0xFF);
    for($j = 0; $j < 16; $j++)
    {
      for($k = 0; $k < 6; $k++)
      {
        $str = substr($mac, $k * 2, 2);
        $dec = hexdec($str);
        $packet .= chr($dec);
      }
    }
    $ret = fwrite($nic, $packet);
    fclose($nic);
    if($ret)
      return true;
  }
  return false;
}

?>

SYS_PING ebenfalls

<?

 $ip = "192.168.115.26";
$ping = Sys_Ping($ip, 1);
if ($ping)
  SetValue(50377, True);
else
  SetValue(50377, False) ;
?>

Hallo Werner psshutdown kannte nicht verwendete da etwas anderes. Wie funzt das von IPS aus?

Hast du mal ne Code-Zeile für einen PHP-Nob:rolleyes:

Lukky

So fahre ich z.B. meinen WZ PC von IPS Seite runter:


IPS_ExecuteEx(IPS_GetKernelDir().'/automatic/psshutdown.exe','\\\Wohnzimmer -s',true,true,1);

Hallo Ferengi-Master

Irgendwie bin ich glaube ich heute zu dämlich

IPS_ExecuteEx(IPS_GetKernelDir().'psshutdown.exe','\\\buchhaltung -s',true,true,1);

Warning: There were no token found for specified session: 1 in [Obergeschoss\Links\Verwaltung\Rechner Buchhaltung\Herunterfahren] on line 3

Wobei die psshutdown.exe im IPS-Verzeichnis liegt. :confused:

Lukky

Du hast einen / vergessen.

Hallo Rainer,

meine Leiter ist heute sehr lange …:stuck_out_tongue:

IPS_ExecuteEx(IPS_GetKernelDir().'/psshutdown.exe','\\\buchhaltung -s',true,true,1);

Ich krieg`s einfach nicht gebacken.

Lukky

Aber da WOL nicht im Ruhezustand oder StandBy funktioniert habe ich das Thema wieder bleiben lassen, sollte aber für deine Zwecke funktionieren. Mit der Suchfunktion im Forum wirst Du auch den einen oder anderen Beitrag dazu finden.

also, bei mir funzt WOL auch im Ruhezustand bzw Standby…
Win 7 bzw. Windows Home Server

Hallo,

der Fehler lag bei ,1 mit 0 ist Fehlermeldung weg

IPS_ExecuteEx(IPS_GetKernelDir().'/psshutdown.exe','\\\buchhaltung -s',true,true,0); 

leider behauptet psshutdown das ich keine Rechte zum herunterfahren habe :mad: ob wohl ich auf den Rechnern ein Konto mit Adminrechten habe und der Befehl shutdown aus Windoof heraus funktioniert. Jetzt komme ich leider überhaupt nicht mehr weiter.

Lukky

Versuch doch mal, ob exec() funktioniert. Damit umgehst Du IPS weitgehend und grenzt die Zahl möglicher Fehler etwas ein.
Bei mir funktionieren seit März 2010 weder IPS_ExecuteEx, noch IPS_Execute. Die native PHP-Funktion klappt aber einwandfrei…

ich hab die Lösung für dein Problem in einem anderen Forum gefunden:

Shutdown -m \Computer bringt „Zugriff verweigert“, Problem gelöst.

Wenn keine Domäne eingerichtet ist, wird die Anmeldung über das Netz generell als Gast betrachtet.

Diese Richtlinie kann mit der MMC („Microsoft Management Console“) geändert werden:

Änderung vornehmen auf allen Rechnern die Heruntergefahren werden sollen.

  1. Ausführen: „mmc“
  2. Im Konsolenfenster: „Datei“ -> „Snap-In hinzufügen/entfernen…“
  3. Im Snap-In-Dialog: „Hinzufügen“
  4. In der Snap-In-Liste: „Gruppenrichtlinie“ auswählen -> „Hinzufügen“
  5. Im Gruppenrichtlinien-Dialog: Gruppenrichtlinienobjekt „Lokaler Computer“ auswählen -> „Fertig stellen“
  6. In der Snap-In-Liste: „Schließen“
  7. Im Snap-In-Dialog: „OK“

Jetzt befinden wir uns wieder in der Konsole, die Gruppenrichtlinien sind verfügbar.

  1. Struktur öffnen:

…- Richtlinien für Lokaler Computer
…- Computerkonfiguration
…- Windows-Einstellungen
…- Sicherheitseinstellungen
…- Lokale Richtlinien
…* Sicherheitsoptionen *

  1. Sicherheitsoptionen markieren & im rechten Teil folgende Option doppelklicken:

…- „Netzwerkzugriff: Modell für gemeinsame Nutzung und Sicherheitsmodell für lokale Konten“

  1. Wert ändern auf:

…„Klassisch - lokale Benutzer authentifizieren sich als sie selbst“

  1. Einstellungen speichern, Konsole beenden und Rechner neu Starten.

Danach wird der Shutdown-Befehl auf dem Rechner ausgeführt.

Wenn Du von den Sysinternals PSTools die psshutdown nutzt kannst Du auch Benutzerdaten übergeben. Alternativ kannst Du auch ein batchfile aufrufen:

net use \pc /username:admin passwort
shutdown /bla /bla /blubb
net use \pc /delete /yes

loerdy

Das Problem mit den Rechten bei psshutdown hatte ich auch, bei mir war es die Benutzerkontensteuerung die ich ausschalten mußte. Aber die gibt es ja unter XP nicht…

Hallo,

Danke @all

Leider funktioniert nur der Umweg über eine Batch-Datei :mad:

IPS_ExecuteEx(IPS_GetKernelDir()."/automatic/bh_aus.bat", "",true,true, 0);

Inhalt

shutdown -m \192.168.115.26 -s

Das bedeutet 28 Bat-Dateien + 28 Scripte

Kann man das aus IPS nicht irgend wie direkt machen?

Lukky

Kannst Du dem Batchfile den rechnernamen bzw IP als Argumet übergeben?

also „/automatic/bh_aus.bat 192.168.115.26“

dann kannst Du im batch so tun

shutdown -m \%1 -s

Du kannst auch mal versuchen den psexec befehl abzusetzen.

psexec \computer -u user -p password shutdown -s

Öhm da fällt mir noch ein, ich musste bei uns im Klinikum die PS Tools am Virenscanner freiziehen. Sonst wurden die geblockt.
Und beim ersten Aufruf muss man die EULA abnicken. das macht man mit dem
Schalter /accepteula. Sonst poppt ne GUI auf und man muss OK klicken. Sehr sinnfrei bei nem CMD Tool. :cool: Und die GUI kriegste ja nicht zu sehen am IPS.

Hallo loerdy,

deinen Vorschlag werde ich Morgen mal testen. Bei größeren Netzen ist das sonst beschi… zu verwalten. Bei unseren Mininetz ist es gerade noch praktikabel.

Lukky

bei mir sinds 2000 Rechner im netzwerk :stuck_out_tongue:

Hallo,
das Problem wird evtl. sein, dass IPS, welches das Kommando ausführt, evtl. als Systemdienst läuft. Kann es sein, dass dem Dienst die Berechtigung fehlt? Schau mal in den Diensten nach und versuche IPS mit einem Benutzer laufen zu lassen. Ich Denke dann gehts…

LG
//Sven

Hallo,

@loerdy
Unser größtes Netz was wir betreuen hat knappe 300 Rechner :rolleyes: läßt sich aber einfacher administrieren als ein kleines Netz, bei dem die Client`s offen sind.

@Sven

Nö - Rechte sind vorhanden

Muß leider einen kranken Kollegen vertreten und dann ist auch noch Urlaubszeit und Montag :(- kann es erst leider heute Abend testen

Lukky