vbscript funktioniert interaktiv, jedoch nicht als loginscript
Hallo,
ich versuche die Ausführung bestimmter Teile eines Loginscripts davon abhängig zu machen, ob der Rechner auf dem das Loginscript gerade ausgeführt wird, in einem Textfile vorhanden ist:
Wenn ich das Script nach der Anmeldung ausführe funktioniert es wunderbar. Stelle ich es jedoch als Loginscript ein, greift die Abfrage der Textdatei offensichtlich nicht - "Inventory.bat" wird immer ausgeführt.
Für Unterstützung Euerseits wäre ich sehr dankbar.
Gruß
Torsten
ich versuche die Ausführung bestimmter Teile eines Loginscripts davon abhängig zu machen, ob der Rechner auf dem das Loginscript gerade ausgeführt wird, in einem Textfile vorhanden ist:
Set WshNetwork = CreateObject("WScript.Network")
Set WshShell = WScript.CreateObject("WScript.Shell")
strComputer = WshNetwork.ComputerName
sfound = False
For Each strLine In FileToArray("Servers.txt", False)
If strLine = strComputer Then
sfound = True
Exit For
End If
Next
If Not sfound Then
WScript.Quit
Else
WshShell.Run "Inventory.bat",0,True
End If
Function FileToArray(ByVal strFile, ByVal blnUNICODE)
Const FOR_READING = 1
Dim objFSO, objTS, strContents
FileToArray = Split("")
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(strFile) Then
On Error Resume Next
Set objTS = objFSO.OpenTextFile(strFile, FOR_READING, False, blnUNICODE)
If Err = 0 Then
strContents = objTS.ReadAll
objTS.Close
FileToArray = Split(strContents, vbNewLine)
End If
End If
End Function
Wenn ich das Script nach der Anmeldung ausführe funktioniert es wunderbar. Stelle ich es jedoch als Loginscript ein, greift die Abfrage der Textdatei offensichtlich nicht - "Inventory.bat" wird immer ausgeführt.
Für Unterstützung Euerseits wäre ich sehr dankbar.
Gruß
Torsten
Please also mark the comments that contributed to the solution of the article
Content-Key: 81465
Url: https://administrator.de/contentid/81465
Printed on: April 20, 2024 at 02:04 o'clock
3 Comments
Latest comment
Hallo appleseed!
Ich kann auf jeden Fall nur empfehlen, speziell im Netzwerk nach Möglichkeit den Pfad vollständig anzugeben (und das am besten in UNC-Schreibweise).
Noch eine Anmerkung zum "On Error": Während des Testens solltest Du dieses eigentlich immer weglassen, um eben Fehlern leichter auf die Spur zu kommen.
Grüße
bastla
Ich frage mich nur, warum er die Datei beim manuellen Ausführen des Scriptes findet ...
... weil Du aus dem Verzeichnis heraus testest, in dem auch die "Servers.txt" liegt?Ich kann auf jeden Fall nur empfehlen, speziell im Netzwerk nach Möglichkeit den Pfad vollständig anzugeben (und das am besten in UNC-Schreibweise).
Noch eine Anmerkung zum "On Error": Während des Testens solltest Du dieses eigentlich immer weglassen, um eben Fehlern leichter auf die Spur zu kommen.
Grüße
bastla