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

vbscript funktioniert interaktiv, jedoch nicht als loginscript

Frage Entwicklung

Mitglied: appleseed

appleseed (Level 1) - Jetzt verbinden

23.02.2008, aktualisiert 17:18 Uhr, 3447 Aufrufe, 3 Kommentare

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:

01.
Set WshNetwork = CreateObject("WScript.Network") 
02.
Set WshShell = WScript.CreateObject("WScript.Shell") 
03.
 
04.
strComputer = WshNetwork.ComputerName 
05.
sfound = False 
06.
 
07.
For Each strLine In FileToArray("Servers.txt", False) 
08.
         If strLine = strComputer Then 
09.
            sfound = True 
10.
				Exit For 
11.
        End If 
12.
Next 
13.
 
14.
If Not sfound Then 
15.
		WScript.Quit 
16.
	Else 
17.
		WshShell.Run "Inventory.bat",0,True 
18.
End If 
19.
 
20.
 
21.
Function FileToArray(ByVal strFile, ByVal blnUNICODE) 
22.
  Const FOR_READING = 1 
23.
  Dim objFSO, objTS, strContents 
24.
  FileToArray = Split("") 
25.
  Set objFSO = CreateObject("Scripting.FileSystemObject") 
26.
  If objFSO.FileExists(strFile) Then 
27.
    On Error Resume Next 
28.
    Set objTS = objFSO.OpenTextFile(strFile, FOR_READING, False, blnUNICODE) 
29.
    If Err = 0 Then 
30.
      strContents = objTS.ReadAll 
31.
      objTS.Close 
32.
      FileToArray = Split(strContents, vbNewLine) 
33.
    End If 
34.
  End If 
35.
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
Mitglied: bastla
23.02.2008 um 15:22 Uhr
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
Bitte warten ..
Mitglied: appleseed
23.02.2008 um 16:12 Uhr
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
Bitte warten ..
Mitglied: bastla
23.02.2008 um 17:18 Uhr
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
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst Netzlaufwerk RemoteApp auf Win 2012 R2 Terminalserver funktioniert nicht (12)

Frage von grenzde zum Thema Windows Server ...

Windows Server
Con2Prt funktioniert auf Windows RDS 2012 R2 nicht (1)

Frage von scout71 zum Thema Windows Server ...

VB for Applications
gelöst VBScript und OR (5)

Frage von Invisan zum Thema VB for Applications ...

Microsoft
W10 1703 Update via WSUS installieren funktioniert nicht (12)

Frage von thomasreischer zum Thema Microsoft ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(10)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (26)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (23)

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

Basic
Programmierung von Windows Programmen (10)

Frage von Ghost108 zum Thema Basic ...