VBS - Prüfen ob man ausführen - Recht an einer Datei hat
Hallo,
ich möchte, falls eine bestimmte Scriptdatei besteht, diese über ein anderes aufrufen.
Die aufrufende läuft immer. Falls die zweite Datei nicht besteht soll einfach nichts geschehen.
Auf keinen Fall sollen irgend welche fehler am Bildschirm erscheinen.
Die Aufrufende steht unten.
Jetzt gibts aber auch die konstellation dass ein User das Browse Recht auf die Share hat
nicht jedoch ausführen auf tv-login.vbs.
-> Es tritt ein fehler auf, trotz "on error resume next". Kann ich vorab prüfen ob ich ausführen
Berechtigung habe an der Datei, falls ja wie?
Oder kann ich irgendwie anders wirklich alle Fehler unterdrücken ?!
Danke!
SC
ich möchte, falls eine bestimmte Scriptdatei besteht, diese über ein anderes aufrufen.
Die aufrufende läuft immer. Falls die zweite Datei nicht besteht soll einfach nichts geschehen.
Auf keinen Fall sollen irgend welche fehler am Bildschirm erscheinen.
Die Aufrufende steht unten.
Jetzt gibts aber auch die konstellation dass ein User das Browse Recht auf die Share hat
nicht jedoch ausführen auf tv-login.vbs.
-> Es tritt ein fehler auf, trotz "on error resume next". Kann ich vorab prüfen ob ich ausführen
Berechtigung habe an der Datei, falls ja wie?
Oder kann ich irgendwie anders wirklich alle Fehler unterdrücken ?!
Danke!
SC
set WshShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
on error resume next
'Scriptpfad
sSP = "\\server\share\TC-Login.vbs"
if not fso.FileExists(sSP) then
wscript.quit
end if
windir = wshShell.ExpandEnvironmentStrings( "%windir%" )
wshshell.run windir & "\system32\wscript.exe " & sSP,0,false
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 197537
Url: https://administrator.de/contentid/197537
Ausgedruckt am: 22.11.2024 um 04:11 Uhr
1 Kommentar
Servus,
gib mal in die cmd wscript /? ein, dann siehst du vollgendes
Ich glaube, dass der Fehler nicht vom aufrufenden Script, sondern vom Windows Scrip Host geraisd wird.
Also einfach mal den Parameter //B an den WSH mitübergeben, und testen ob er immer noch eine Fehlermeldung bringt.
Zu nachfolgendem weis ich nicht, ob es so machbar ist, aber es wäre meine Idee dazu.
Zum testen des Zugriffs, würde ich einfach in die TC-Login.vbs eine Test-Routine einbauen, die bei übergabe des parameters -t aufgerufen wird, und einen integer mit wert 1 zurückliefert.
Somit rufst du das Script mit dem Parameter -t auf, wenn du einen Wert zurückbekommst, dann war der zugriff erfolgreich, wenn du nichts zurückbekommst, dann überspringst du denn Produktiven aufruf des Scripts, bringt ja eh nix.
Ich hoffe ich konnte dir weiterhelfen.
MfG
Callback
gib mal in die cmd wscript /? ein, dann siehst du vollgendes
Syntax: WScript Skriptname.Erweiterung [Option...] [Argumente...]
Optionen:
//B Batch-Modus: Zeigt keine Skriptfehler und Aufforderungen an
........
Ich glaube, dass der Fehler nicht vom aufrufenden Script, sondern vom Windows Scrip Host geraisd wird.
Also einfach mal den Parameter //B an den WSH mitübergeben, und testen ob er immer noch eine Fehlermeldung bringt.
Zu nachfolgendem weis ich nicht, ob es so machbar ist, aber es wäre meine Idee dazu.
Zum testen des Zugriffs, würde ich einfach in die TC-Login.vbs eine Test-Routine einbauen, die bei übergabe des parameters -t aufgerufen wird, und einen integer mit wert 1 zurückliefert.
Somit rufst du das Script mit dem Parameter -t auf, wenn du einen Wert zurückbekommst, dann war der zugriff erfolgreich, wenn du nichts zurückbekommst, dann überspringst du denn Produktiven aufruf des Scripts, bringt ja eh nix.
Ich hoffe ich konnte dir weiterhelfen.
MfG
Callback