Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBS als Aufgabe startet Programm nicht

Frage Microsoft Windows 7

Mitglied: citroendsvier

citroendsvier (Level 1) - Jetzt verbinden

23.08.2014, aktualisiert 22:52 Uhr, 1870 Aufrufe, 2 Kommentare

Guten Abend,

Vorneweg: Ich konnte mich nicht entscheiden, ob das hier eher Thema Windows 7 oder Shell ist.

Ich habe eine VBS geschrieben, die per Aufgabenplanung alle 5 min läuft. Sie prüft, ob eine Datei existiert, und startet, wenn sie existiert, Teamviewer. Den Vorgang speichert sie in eine Log Datei, deshalb sehe ich, dass alles andere läuft. Nur der Befehl

WshShell.run "D:\Programme\Teamviewer\Teamviewer.exe"

funktioniert wohl nicht richtig. Wenn ich ihn durch ein WScript.Echo ersetze, bekomme ich auch keine Meldung. Also in der Aufgabenplanung nachgesehen, und gesehen, dass die Aufgabe länger als 1:30 min ausgeführt wird. Manuell Beendet und neugestartet (Die Aufgabe, nicht das Skript) und wieder nichts passiert. In die LogDatei wird aber trotzdem geschrieben.

Kann es sein, dass ich der Aufgabe noch weitere Rechte geben muss, um ein Programm zu starten? Hier ist nochmal das gesamte Skript:

Option Explicit
' Variablen für 1. Teil
Dim FileSystemObject, File, WshShell, Drive, Path, Time, User
'On Error Resume Next
Set FileSystemObject = CreateObject("Scripting.FileSystemObject")
if FileSystemObject.FileExists("D:\Teamviewer.txt") Then
Set File = FileSystemObject.GetFile("D:\Teamviewer.txt")
End if
Set WshShell = CreateObject("WScript.Shell")
' Systemviariablen importieren
Drive = WshShell.ExpandEnvironmentStrings("%~d0")
User = WshShell.ExpandEnvironmentStrings("%Username%")
' Drive mit Path funktioniert noch nicht ganz...
'Path = Drive & "\VBScript\Aufgabe LogFile\LogFile.log"
Path = "J:\VBScript\LogFile.log"
' Zeit festlegen
Time = now()

'
' zweiter Teil *
'

Dim Erfolgreich, LogFile, YesNo
if FileSystemObject.FileExists(File) Then
WshShell.run "D:\Programme\Teamviewer\Teamviewer.exe"
WScript.Echo "Datei gefunden"
' Datei wird später gelöscht
Erfolgreich = "1"
Else
Erfolgreich = "0"
End if

if FileSystemObject.FileExists(Path) Then
Const ForAppending = 8
Set LogFile = FileSystemObject.OpenTextFile(Path, ForAppending, True)
Else
Set LogFile = FileSystemObject.CreateTextFile(Path, True)
End if

if Erfolgreich = "1" then
Erfolgreich = "erfolgreich."
Else
Erfolgreich = "nicht erfolgreich."
YesNo = "nicht "
End if
LogFile.WriteLine(Time & " - " & "Aufgabenausfuehrung war " & Erfolgreich & " Teamviewer wurde " & YesNo & "gestartet.")
LogFile.WriteLine("Benutzername: "& User)
LogFile.WriteLine("-----------------------------------------------------------------------------------------------------")
Set Erfolgreich = nothing
Set YesNo = nothing
LogFile.Close

if FileSystemObject.FileExists(File) Then
FileSystemObject.deleteFile(File)
End if

Ich bin für jede Antwort dankbar!

LG DS4
Mitglied: colinardo
LÖSUNG 24.08.2014, aktualisiert um 18:06 Uhr
Moin DS4,
unter welchem Sicherheitskontext läuft denn deine Aufgabe im Aufgabenplaner ?
Ein WScript.Echo "Datei gefunden" in deinem Script bewirkt, wenn es unter einem anderen Useraccount im Taskplaner gestartet wird, das das Script mit der Messagebox unsichtbar im Hintergrund hängt, da ja keiner die Messagebox wegklicken kann !!
Außerdem sei natürlich erwähnt das Teamviewer nicht sichtbar im Hintergrund gestartet wird, wenn du einen anderen als den aktuellen User für die Ausführung der Aufgabe verwendest, was du im Taskmanager überprüfen kannst.
Wenn die Anwendung nicht in den Tasks aufgeführt wird, prüfe ob der Useraccount mit dem du den Task ausführst die entsprechenden Rechte auf den Ordner hat im dem die Teamviewer-Exe liegt und hake das Kästchen bei Mit höchsten Privilegien ausführen im Task an, dann läuft das wie gewünscht.

Grüße Uwe
Bitte warten ..
Mitglied: citroendsvier
24.08.2014 um 18:06 Uhr
Den Haken bei ,,Mit höchsten Priviligien" habe ich gesetzt, ändert nichts. Des weiteren arbeite ich nur mit einem Useraccount - dort kann das Problem auch nicht liegen. Wenn ich das Skript manuell anklicke, läufts ja auch. Und TV startet im Vordergrund, als Fenster.

Ich werde das Problem jetzt anders lösen: Ich schreibe ein weiteres Skript, was dann das oben geschriebene alle 5 min startet. Das neue Skript kommt dann in den Startup Ordner.. ;)

Aber trotzdem danke für deine Hilfe!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Vbs programm unabhängig vom Speicherort ausführen (2)

Frage von Markus2016 zum Thema Batch & Shell ...

Entwicklung
Aufgabe zum überprüfen einer anderen Aufgabe (4)

Frage von tresha zum Thema Entwicklung ...

Assembler
Assembler-Aufgabe (4)

Frage von How-To zum Thema Assembler ...

Windows Server
gelöst Auf TS protokollieren wer ein bestimmtes Programm startet (2)

Frage von pablovic zum Thema Windows Server ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
CNC Maschinen verlieren Netzwerkverbindung (kurioser Fehler) (22)

Frage von NoHopeNoFear zum Thema LAN, WAN, Wireless ...

Webentwicklung
Aktuellen Mitarbeiter auf Homepage anzeigen (13)

Frage von alemanne21 zum Thema Webentwicklung ...

Windows Server
gelöst Parameter Übergabe Terminal Server (9)

Frage von ThomasKern zum Thema Windows Server ...

Server-Hardware
Starker PC zum Virtualisieren (8)

Frage von canlot zum Thema Server-Hardware ...