scroller
Goto Top

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


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  

Content-ID: 197537

Url: https://administrator.de/contentid/197537

Ausgedruckt am: 22.11.2024 um 04:11 Uhr

callback
callback 01.02.2013 um 13:39:21 Uhr
Goto Top
Servus,

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