appleseed
Goto Top

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:

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

Content-Key: 81465

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

Printed on: April 16, 2024 at 14:04 o'clock

Member: bastla
bastla Feb 23, 2008 at 14:22:32 (UTC)
Goto Top
Hallo appleseed!

Versuche es zunächst mit einer vollständigen Pfadangabe für "Servers.txt" und kommentiere, falls das nicht geholfen hat, das "On Error Resume Next"-Statement aus, damit eine Fehlermeldung angezeigt werden kann.

Grüße
bastla
Member: appleseed
appleseed Feb 23, 2008 at 15:12:30 (UTC)
Goto Top
Hallo bastla,

die korrekte Pfadangabe hat's gebracht. Ich frage mich nur, warum er die Datei beim manuellen Ausführen des Scriptes findet und beim Start als Loginscript nicht?

Danke und Gruß

Torsten
Member: bastla
bastla Feb 23, 2008 at 16:18:26 (UTC)
Goto Top
Hallo appleseed!

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