Hallo,
ich benutze IPSymcon 1 seit etlichen Jahren und versuche nun auf IPSymcon 2 zu migrieren.
Dabei habe ich Probleme beim Zugriff auf alle Netzwerkfreigabe vom IpSymcon Hostrechner, sowohl auf Windows Server als auch auf ein Linux NAS.
Unter IpSymcon 1 ist folgende Scriptzeile kein Problem:
(Zeile 4) $a = scandir(„K:“); // enthält das Array die Liste der Files
unter IpSymcon 2 erhalte ich die Fehlermeldung.
Warning: scandir(K:) [function.scandir]: failed to open dir: No error in D:\Programme\IP-Symcon\scripts\56246.ips.php on line 4
Warning: scandir() [function.scandir]: (errno 0): No error in D:\Programme\IP-Symcon\scripts\56246.ips.php on line 4
IP-Symcon läuft als System-Dienst uns hat somit keinen Zugriff auf Netzwerkfreigaben. So handhabt das Windows.
Möglich ist, den Dienst unter einem Benutzerkonto laufen zu lassen (Systemsteuerung -> Verwaltung -> Dienste -> IP-Symcon -> Anmelden), um dadurch die Netzwerkfreigabe zugreiflich zu machen. Bitte beachten, dass dadurch die IPS_ExecuteEx Funktion nicht mehr nutzbar ist.
Hallo
ich habe mit der 'Anleitung etwas Schwierigkeiten.
Ich nehme an mit „IP_Symcon“ ist der Dienst „IP_Symcon Environment“ gemeint. Einen Anderen finde ich nicht. Wenn ich dort unter Anmelden „Lokales Systemkonto“ die Option „Datenaustausch … zulassen“ abhake und den Dienst neu starte - erhalten ich im Script die gleiche Fehlermeldung wie vorher.
ich möchte das noch ergänzen, vielleicht erspart das die eine oder andere Suche.
Das verwendete Windowsbenutzerkonto muss Passwort geschützt sein, sonst verweigert der IP-Symcon Dienst, mit Hinweis auf eine nicht korrekte Anmeldung, den Start.
Der Zugriff im php-Script auf die Netzwerkfreigaben funktioniert nicht mit dem Laufwerks-Buchstaben, sondern muss über
//Servername/volume
erfolgen
2.) es muss die Notation \Server\Freigabe benutzt werden?
@Paresy: Wenn das so ist, warum kann dann die IPS_ExecuteEx nicht mehr ausgeführt werden und welchen Work-around gibt es, wenn ein Programm die Session-Erweiterung braucht (z.B. „ton.exe“ um einen Ton auszugeben)?
Hallo,
Ja die sind UND verknüpft. Hintergrund ist der, dass SYSTEM lokal teilweise mehr Rechte hat als ein user. im Netzwerk aber so gut wie keine.
Bezüglich des Laufwerksmapping ist es so, dass die Zuweisung der Laufwerksbuchstaben, erst nach Anmeldung durch die Shell (Explorer.exe) eingerichtet werden. Ein Dienst, auch wenn unter einem Benutzerkonto ausgeführt, Arbeitet keine Startscripts wie z.b. Autostart ab.
ergänzend wäre noch zu erwähnen, das ein Dienst welcher unter dem Systemkonto läuft sehr wohl auf Netzwerkresourcen zugreifen kann. Es gilt allerdings zu beachten, das UNC Pfade (\Server\Freigabe) genutzt werden und es darf keine Benutzerabfrage / Passwortabfrage auf dem Ziel aktiviert sein. Wenn man in einem Windows Netzwerk eine Freigabe mit Jeder (Lesen) sowie die Windows Sicherheit auch auf Jeder (Lesen) setzt ist ein Zugriff möglich.