Tscon.exe 1 dest:console
Hallo,
gibt es eine Möglichkeit folgenden Befehl verzögert auszuführen? (tscon.exe 1 /dest:console )
tscon.exe 1 /dest:console -t 60 hat leider nicht funktioniert...
Sinn und Zweck des ganzen ist es, eine Power Point Präsentation in der Empfangshalle aufzurufen, das "Log-off Script" auszuführen und die Präsentation läuft weiter.
Leider beendet er so direkt die RDP Sitzung und ich habe keine Chance, die Präsentation vorher zu starten.
Vielen Dank!
gibt es eine Möglichkeit folgenden Befehl verzögert auszuführen? (tscon.exe 1 /dest:console )
tscon.exe 1 /dest:console -t 60 hat leider nicht funktioniert...
Sinn und Zweck des ganzen ist es, eine Power Point Präsentation in der Empfangshalle aufzurufen, das "Log-off Script" auszuführen und die Präsentation läuft weiter.
Leider beendet er so direkt die RDP Sitzung und ich habe keine Chance, die Präsentation vorher zu starten.
Vielen Dank!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 285315
Url: https://administrator.de/contentid/285315
Ausgedruckt am: 08.11.2024 um 05:11 Uhr
16 Kommentare
Neuester Kommentar
Ich glaube zu verstehen.
Du hast nen Windows_Rechner, der eine Powerpoint-Präsi zeigen soll.
Du loggst Dich mittels RDP ein, um die zu starten und dann wieder aus in der Hoffnung, dass die Powerpoint dennoch rennt.
Warum legst Du stattdessen nicht den Startbefehl in den "Geplanten Tasks" an?
Ist doch viel einfacher.
Du hast nen Windows_Rechner, der eine Powerpoint-Präsi zeigen soll.
Du loggst Dich mittels RDP ein, um die zu starten und dann wieder aus in der Hoffnung, dass die Powerpoint dennoch rennt.
Warum legst Du stattdessen nicht den Startbefehl in den "Geplanten Tasks" an?
Ist doch viel einfacher.
Powerpointpräsentation aktualisieren
Oder einfach die Präsi aktualisieren (speichern) und dann via VBS/CMD/Powershell, die alte Präsi auf dem System killen und neu starten.
Gruß grexit
Oder einfach die Präsi aktualisieren (speichern) und dann via VBS/CMD/Powershell, die alte Präsi auf dem System killen und neu starten.
Gruß grexit
Wie wäre es mit folgendem:
http://venussoftcorporation.blogspot.de/2010/05/thefolderspy.html
Das Progi ist klein und in .NET geschrieben und Freeware.
Es überwacht Dateien auf mögliche Änderungen und kann dann ein entsprechendes Script abfeuern.
Ein Zweizeiler für das Script dürfte reichen
Die erste Zeile unterdrückt die Scriptbefehle .
Die zweite schmeißt ein laufendes Powerpoint raus oder eben nicht.
Dieses Script vom FolderSpy aufgerufen sollte Dir helfen.
http://venussoftcorporation.blogspot.de/2010/05/thefolderspy.html
Das Progi ist klein und in .NET geschrieben und Freeware.
Es überwacht Dateien auf mögliche Änderungen und kann dann ein entsprechendes Script abfeuern.
Ein Zweizeiler für das Script dürfte reichen
@echo off
taskkill /F /IM POWERPNT.EXE /T
Pfad zur\powerpnt.exe /s PFad_zur\Präsentation.pptx
Die erste Zeile unterdrückt die Scriptbefehle .
Die zweite schmeißt ein laufendes Powerpoint raus oder eben nicht.
Dieses Script vom FolderSpy aufgerufen sollte Dir helfen.
Oder auch ohne externe Tools direkt mit Powershell:
Überwacht einen Ordner auf neue Dateien im Format Kunden*.pptx. Wird eine eine neue Datei im Ordner erstellt wird Powerpoint beendet und die neue pptx verwendet.
Gruß grexit
$folder = 'c:\Kundenpräsentationen'
$filter = 'Kunde*.pptx'
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{IncludeSubdirectories = $false;NotifyFilter = [IO.NotifyFilters]'FileName,LastWrite'}
Get-EventSubscriber PPTXWatcher -EA SilentlyContinue | Unregister-Event
Register-ObjectEvent $fsw Created -SourceIdentifier PPTXWatcher -Action {
$fullpath = $Event.SourceEventArgs.FullPath
Get-Process -Name powerpnt -EA SilentlyContinue | stop-process -force
& "C:\Program Files (x86)\Microsoft Office\root\Office16\POWERPNT.EXE" /s "$fullpath"
}
write-host "Überwache Ordner auf neue Präsentationen..."
while($true){
sleep(1)
}
Gruß grexit
"The directory name c:\Kundenpräsentationen is invalid."
Typisch, Script nicht im Unicode- oder Umlaut kompatiblen Format gespeichert ...Zitat von @c64b311ee9:
Wie hattest du gedacht soll das ablaufen mit dem Script? Über die Aufgabenplanung oder Autostart oder manuell starten?
Aufgabenplanung wäre das Mittel der Wahl.Wie hattest du gedacht soll das ablaufen mit dem Script? Über die Aufgabenplanung oder Autostart oder manuell starten?
Also das Script läuft, aber es passiert leider nichts...
Das Skript überwacht einen Ordner auf neue Dateien im Format Kunde*.pptx, also bspw. Kunde_Meier.pptx. Wenn also eine neue Datei in diesem Format in dem Ordner landet wird PP automatisch geschlossen und diese neue Datei im Präsentationsmodus gestartet. Es muss jeweils immer eine Datei mit neuem Namen in den Ordner geschoben werden weil sich Präsentationen wenn sie laufen, nicht im Dateisystem ersetzen lassen.Der Pfad zum Ordner muss einen Laufwerksbuchstaben im lokalen System haben, UNC-Pfade gehen nicht !
Wenn du das beachtest läuft das einwandfrei ...
Mehr Support von mir dazu gibts nur gegen Bares.
Viel Erfolg.
Gruß grexit
Zitat von @c64b311ee9:
genau das, was ich mir vorgestellt habe! Danke Danke!
Leider öffnet er Power Point immer im "Hintergrund" und die Taskleiste schließt sich nicht...
Habe es nun so gelöst, dass die Taskleiste automatisch ausgeblendet wird. Vielleicht hat jemand ja ne "elegantere" Lösung?
Man kann das Powershell-Fenster beim Start des Skripts unsichtbar machen und Das PP Fenster in den Vordergrund holen:genau das, was ich mir vorgestellt habe! Danke Danke!
Leider öffnet er Power Point immer im "Hintergrund" und die Taskleiste schließt sich nicht...
Habe es nun so gelöst, dass die Taskleiste automatisch ausgeblendet wird. Vielleicht hat jemand ja ne "elegantere" Lösung?
$folder = 'c:\Kundenpräsentationen'
$filter = 'Kunde*.pptx'
$showWindowAsync = Add-Type –memberDefinition @”
[DllImport("user32.dll")]
public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
“@ -name “Win32ShowWindowAsync” -namespace Win32Functions –passThru
# Hide Powershell console window
[void]$showWindowAsync::ShowWindowAsync((Get-Process –id $pid).MainWindowHandle, 2)
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{IncludeSubdirectories = $false;NotifyFilter = [IO.NotifyFilters]'FileName,LastWrite'}
Get-EventSubscriber PPTXWatcher -EA SilentlyContinue | Unregister-Event
Register-ObjectEvent $fsw Created -SourceIdentifier PPTXWatcher -Action {
$fullpath = $Event.SourceEventArgs.FullPath
Get-Process -Name powerpnt -EA SilentlyContinue | stop-process -force
# start PP
$proc = Start-Process "C:\Program Files (x86)\Microsoft Office\root\Office16\POWERPNT.EXE" -ArgumentList "/s `"$fullpath`"" -WindowStyle Maximized -PassThru
sleep(1)
# bring PP window to front maximized
[void]$showWindowAsync::ShowWindowAsync($proc.MainWindowHandle, 3)
}
write-host "Überwache Ordner auf neue Präsentationen..."
while($true){
sleep(1)
}