Forum: PC-Programmierung Batch Programmierung, ganz kurze Frage zu "start xxx"


von Michael (Gast)


Lesenswert?

Hallo,

die Zeile

start "C:\Users\Username\Desktop\Datei.ppsx"

öffnet mit nicht die Datei mit dem default Prgramm Powerpoint, sondern 
einfach nur ein neue cmd-Fenster mit dem Dateinamen und Pfad als Titel.
Auf Windows 8.

Was mache ich falsch? Ich möchte, dass der Befehl die Datei öffnet.

Danke und Gruß,
Michael

von aGast (Gast)


Lesenswert?

Schau dir mal die PArameter von "Start" an.
Start /? damit kommt die Hilfe zu dem Befehl

von aGast (Gast)


Lesenswert?

Schon gelesen? Hier die Antwort.

Einfach in der Batch die Datei wie folgt aufrufen

C:\Users\Username\Desktop\Datei.ppsx

und schon sollte es auch unter Win 8 funktionieren.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

aGast schrieb:
> Einfach in der Batch die Datei wie folgt aufrufen

Dann darf "Username" aber keine Leerzeichen enthalten.

von aGast (Gast)


Lesenswert?

Ich setzte mal soviel Wissen vorraus, dass in dem Fall der Befehl in 
Anfuhrungszeichen zu setzen ist.

von Michael (Gast)


Lesenswert?

Ach danke, das war ja einfach. Mit "C:\...\powerpoint.ppsx" ging es 
dann, einfach das "start" weggelassen.

Nun gehts weiter:
Ich möchte diese batch-Datei, die eine Powerpoint öffnet, mit psexec von 
einem anderen Rechner öffnen. Ich habe es soweit geschafft, dass ich die 
batch auch remote starten kann, leider kommt dann von Powerpoint der 
Fehler, dass er die Präsentationsdatei nicht lesen könne.
Hier der Clou: Öffne ich die batch-Datei lokal, öffnet sich die 
Powerpointpräsentation ganz normal, nur remote kommt der Fehler, der auf 
dem Rechner angezeigt wird, der die Präsentation dann auch anzeigen 
soll.

Mein psexec Befehl, der ja soweit funktioniert:

psexec -i -s -d \\PCNAME -u username -p password 
"C:\Users\username\Desktop\local_start.bat"

Das klingt mir nach einem Rechteproblem. Lokal kann ich mit der batch 
die Powerpoint öffnen nur remote meckert Powerpoint...

Sollte aber nicht die psexec-Option 's' das genau verhindern?
"-s Run the remote process in the System account."

Die Firewall ist schon aus auf dem Zielrechner.
Der batch- und der Präsentationsdatei habe ich vorsichthalber mal 
"jeder" (jedem) Vollzugriff gegeben.

Hat jemand eine Idee?

Oder eine andere Idee remote diese Powerpoint zu starten?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Michael schrieb:
> Run the remote process in the System account

In dem willst Du kein Powerpoint laufen lassen. Das ist kein 
interaktives Benutzerkonto.

Was ist die spezifische Idee, die dahintersteckt? Wozu soll das ganze 
gut sein?

von Michael (Gast)


Lesenswert?

Hallo Rufus,

die Idee dahinter ist folgende:
Ein PC mit Bildschirm dient in meiner Firma zur Präsentation von 
aktuellen Stauts zu den Reparaturfällen. Der PC dient nur der Anzeige.

Die Präsentation muss manuell bearbeitet und aktualisiert werden. Dies 
soll bzw funktioniert derzeit so, dass jemand die Präsentation manuell 
am Präsentations-PC beendet, die Präsentation mit einem anderen PC 
aktualisiert und die aktuelle Version auf den Präsentations-PC lädt und 
jemand manuell die Präsentation wieder startet.

Dieses manuelle Beenden und Starten der Präsentation möchte ich umgehen 
und direkt über psexec die Präsentation ausführen und beenden können 
(taskkill).

Dann muss man an den PC, der nur der Anzeige dient, garnicht mehr 
anfassen. Das ist nun das Ziel.

Gruß,
Michael

von Vlad T. (vlad_tepesch)


Lesenswert?

Klassischer Fall von
"Von hinten durch die Brust ins Auge"
oder
"Wenn man nur einen Hammer kennt, sieht jedes Problem wie ein Nagel aus.

Warum mnicht einfach eine html-Datei erzeugen, die der 
Präsentationsrechner im Vollbildmodus anzeigt?

Im einfachsten Fall dann ein autmoatisches Refresh einbauen. oder damit 
man den Seitenaufbau nicht sieht, mit Javascript die jeweils aktuellsten 
Daten einlsesen und Grafik anpassen.

: Bearbeitet durch User
von Peter II (Gast)


Lesenswert?

Suche mal nach

https://de.wikipedia.org/wiki/Kiosk-Modus

damit sollte das möglich sein. Ich denke man kann es so umbiegen das man 
jedes Programm starten kann.

als Systemaccount ist wirklich eine sehr dumme Idee, zum glück scheint 
es Windows ja zu verhindert. Das Programm hat damit alles Lokalen Rechte 
und darf damit alles machen. So möchte man ein PC bestimmt nicht 
rumstehen lassen.

von Michael (Gast)


Lesenswert?

Vlad T. schrieb:
> Warum mnicht einfach eine html-Datei erzeugen, die der
> Präsentationsrechner im Vollbildmodus anzeigt?
>
> Im einfachsten Fall dann ein autmoatisches Refresh einbauen. oder damit
> man den Seitenaufbau nicht sieht, mit Javascript die jeweils aktuellsten
> Daten einlsesen und Grafik anpassen.

Dafür fehlt das Know-How.

Peter II schrieb:
> https://de.wikipedia.org/wiki/Kiosk-Modus

Gibt es keine einfachere Lösung? Wieso habe ich per psexec, mit username 
und password angegeben nicht die nötigen Rechte auf dem Ziel-PC?
Ich würde diese Lösung bevorzugen, da es ja nun nur noch an fehlenden 
Rechten liegt. Kiosk-Modus oder gar HTML und Scripten braucht viel zu 
lange Zeit. Das ist es meinem Chef nicht wert.

Gruß,
Michael

von Vlad T. (vlad_tepesch)


Lesenswert?

Michael schrieb:
> Dafür fehlt das Know-How.

sorry, aber irgend eine Webseite anzulegen, die ein paar Zahlen oder 
eine Grafike enthält, kann man mit nahezu jedem Program machen, notfalls 
mit Word.


Dann ein passendes Browseraddon, was eine Webseite neu läd, wenn sich 
die Datei ändert.
das sieht ganz gut aus (nicht getestet): 
https://addons.mozilla.org/de/firefox/addon/livereload/


Wenn neue Daten da sind, werden die in die Webseite eingepflegt und 
diese gespeichert.

Der Anzeigerechner kümmert sich um das neuladen der Darstellung.

Was ist daran anders als.
 - neu daten in ppt
 - script schreiben, dass
   - powerpoint auf anzeigerechner beendet
   - ppt kopiert
   - powerpoint auf anzeigerechner neu startet
?

von Eric (Gast)


Lesenswert?

Michael schrieb:
> Ich möchte diese batch-Datei, die eine Powerpoint öffnet, mit psexec von
> einem anderen Rechner öffnen. Ich habe es soweit geschafft, dass ich die
> batch auch remote starten kann, leider kommt dann von Powerpoint der
> Fehler, dass er die Präsentationsdatei nicht lesen könne.

Liest die PräsentationsPC dann auch die PPT-Datei von deinem Rechner 
oder liegt die Datei auf dem PräsentationsPC?

von Michael (Gast)


Lesenswert?

Eric schrieb:
> Liest die PräsentationsPC dann auch die PPT-Datei von deinem Rechner
> oder liegt die Datei auf dem PräsentationsPC?

Die Datei liegt auf dem Präsentations-PC.

von c-hater (Gast)


Lesenswert?

Vlad T. schrieb:

> Klassischer Fall von
> "Von hinten durch die Brust ins Auge"
> oder
> "Wenn man nur einen Hammer kennt, sieht jedes Problem wie ein Nagel aus.
>
> Warum mnicht einfach eine html-Datei erzeugen, die der
> Präsentationsrechner im Vollbildmodus anzeigt?

Ja genau. Du hast dein Problem wirklich absolut treffend 
klassifiziert...

Du kennst nur Browser-basierten Scheiß, deswegen muß alles 
Browser-basierter Scheiß sein oder Browser-basierter Scheiß werden.

Ganz egal, was dabei alles den Bach runtergeht...

Ein "Web-Entwickler" hat sich geoutet.


Was nun das Problem des TO betrifft, ist es wahrscheinlich wirklich ein 
"Rechteproblem", allerdings anders, als der TO glaubt. Das Problem ist 
wohl schlicht, dass die Datei im Zielsystem noch offen ist, wenn er 
schon versucht, auf dem Zielsystem die Präsentations-Anwendung neu zu 
starten.

Sprich: er braucht in des Upload-Script eigentlich nur ein Sleep 
einbauen (die dumme Variante) oder in einer Schleife mit kurzen Sleeps 
immer wieder prüfen, daß sich die Datei auf dem Zielsystem 
uneingeschränkt zum Lesen öffnen läßt, bevor die Anwendung neu gestartet 
wird (die etwas schlauere Variante).

Mit der PowerShell könnte man es sogar vollständig korrekt machen, indem 
man einen DirectoryWatcher benutzt, der einfach dann ein Event wirft, 
wenn die Datei durch den schreibenden Prozess geschlossen und somit 
"frei zur Benutzung" auf dem Zielsystem wird. Im Handler dieses Events 
startet man dann einfach die neue Instanz des Präsentations-Viewers.

PS: Natürlich ist die Verwendung des SYSTEM-Accounts hier völlig 
daneben. Nützt absolut nix, ist aber ein potentielles 
Sicherheitsproblem. Nein, es genügt völlig, wenn stinknormaler 
Benutzer-Account verwendet wird. Er muß halt nur das Recht haben, auf 
die per Netzwerk eingespielte Datei lesend zugreifen zu dürfen. Das 
einzurichten ist wirklich so dermaßen trivial, dass es sogar ein MCSE 
hinbekommen sollte...

von Vlad T. (vlad_tepesch)


Lesenswert?

c-hater schrieb:
> Du kennst nur Browser-basierten Scheiß, deswegen muß alles
> Browser-basierter Scheiß sein oder Browser-basierter Scheiß werden.
>
> Ganz egal, was dabei alles den Bach runtergeht...
>
> Ein "Web-Entwickler" hat sich geoutet.

da liegst du völlig falsch.
Ich hab schon ewig nix mehr in der Richtung gemacht und kenne 
mittlerweile wahrscheinlich sogar Powerpoint besser als html, aber es 
braucht auch nicht viel dafür.

Aber die Anforderungen, Daten anzuzeigen, die im Hintergrund 
aktualisiert werden, funktioniert halt besonders gut mit html und nem 
Browser.
Da die Daten wahrscheinlich auch nicht per Post kommen, sondern aller 
Wahrscheinlichkeit aus irgend einem digitalen System rausfallen, kann 
man wahrscheinlich die Anpassung auch automatisieren. Auch das geht bei 
html bedeutend einfacher.
Hast du mal ein pptx geöffnet? da will man nicht drin rum pfuschen. Vom 
klassischem ppt reden wir mal gar nicht erst.

: Bearbeitet durch User
von physiker (Gast)


Lesenswert?

Ich würde sagen das hängt auch davon ab wie die Reparaturfälle verwaltet 
werden. Ob nur auf Papier/mündlich oder von einer Software. Im letzteren 
Fall kann man das ganze auch gleich komplett automatisieren (und zwar 
erstmal völlig unabhängig davon wie die Anzeige realisiert wird, auch 
power point kann man mit externen Werten füttern). Das ist dann auch ein 
Argument für den Chef, da die permanent notwendige Arbeitszeit wegfällt.

von Michael (Gast)


Lesenswert?

Also um es kurz zu fassen:
Für mein konkretes Problem hat leider keine eine Lösung, sondern nur 
umständliche Alternativen anzubieten?

von Steffen R. (steffen_rose)


Lesenswert?

Wieso, hier waren doch auch Ansätze zur Lösung deines Problems dabei.
Zum einen sollst Du die Option für den Systemaccount rausnehmen und zum 
anderen sollst Du nach deinen Zugriffsrechten schauen. (Was du ja selbst 
schon geahnt hast.)

z.B.
Beitrag "Re: Batch Programmierung, ganz kurze Frage zu "start xxx""

Ohne weitere Infos deinerseits kann das Orakeln nicht weitergehen.
Du hast ja noch nicht einmal die fertige Batchdatei angegeben und die 
Fehlermeldung von PPT.

Michael schrieb:
> Hier der Clou: Öffne ich die batch-Datei lokal, öffnet sich die
> Powerpointpräsentation ganz normal, nur remote kommt der Fehler, der auf
> dem Rechner angezeigt wird, der die Präsentation dann auch anzeigen
> soll.

Funktioniert der Batch, wenn du lokal am Präsentationsrechner arbeitest. 
Was nützt es, wenn es lokal auf deinem eigenen Rechner mit deinen 
Rechten und deinen Pfaden usw. läuft.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.