VBS-Logoutscript funktioniert nicht
mal wieder VBscript...
Hi,
kann mir jemand mal helfen, warum mein logout-Script nicht funktioniert? es sind immer noch alle network-Printer und Laufwerke online wenn es gelaufen ist:
Ziel ist also: lösche alle Netzwerkdrucker und Laufwerke bei logout...
Danke für Ideen!
Noch was: wie baue ich ein, das nur wenn der IP-Range mit 10.211. beginnt das script läuft?
Danke für eure Hilfe!
Frank
Hi,
kann mir jemand mal helfen, warum mein logout-Script nicht funktioniert? es sind immer noch alle network-Printer und Laufwerke online wenn es gelaufen ist:
Dim oDrives, fUser, fOS, fDomain, fUserName, oGroupDict
Dim objNetwork
Dim objFSO, objFileCopy
Dim strFilePath, strDestination
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objNetwork = CreateObject("WScript.Network")
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set WshShell = WScript.CreateObject("WScript.Shell")
Set oDrives = WshNetwork.EnumNetworkDrives
UserName = (WshShell.ExpandEnvironmentStrings("%UserName%"))
fUser = (WshNetwork.UserName)
Set WshShell = CreateObject("WScript.Shell")
'### Check if you are connected in Plantoffice ###
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "!\\" & strComputer & "\root\cimv2" )
Set colAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True" )
For Each objAdapter in colAdapters
IPdebut = LBound(objAdapter.IPAddress)
IPfin = UBound(objAdapter.IPAddress)
If InStr("#" & Join(objAdapter.IPAddress, "#"), "#10.211.") > 0 Then wscript.qui
'### Sequence remove UNC-Printers ###
on error resume next
set oPrinters = WshNetwork.EnumPrinterConnections
For i = 1 To oPrinters.Count -1 Step 2
If InStr(oPrinters(i), "\\DC02PRT\") > 0 Then WshNetwork.RemovePrinterConnection(oPrinters(i))
Next
'### Sequence remove UNC-Network Drives ###
Dim DelNetDrive
Set WshNet = CreateObject("WScript.Network")
For DriveAsc = 102 To 122
On Error Resume Next
DelNetDrive = Chr(DriveAsc) & ":"
WshNet.RemoveNetworkDrive DelNetDrive, True, True
Next
wscript.qui
Danke für Ideen!
Noch was: wie baue ich ein, das nur wenn der IP-Range mit 10.211. beginnt das script läuft?
Danke für eure Hilfe!
Frank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 151652
Url: https://administrator.de/forum/vbs-logoutscript-funktioniert-nicht-151652.html
Ausgedruckt am: 11.04.2025 um 10:04 Uhr
6 Kommentare
Neuester Kommentar

Hallo frankoehli!
Mhm, irgendwie willenlos zusammenkopiert
Beim überfliegen Deines Skripts sind mir zunächst mal 2 Dinge aufgefallen:
1. WScript.Qui anstatt WScript.Quit
2. In Codezeile 40 fehlt passend zur Codezeile 20 (For Each) eine Next-Anweisung
Gruß Dieter
Mhm, irgendwie willenlos zusammenkopiert
Beim überfliegen Deines Skripts sind mir zunächst mal 2 Dinge aufgefallen:
1. WScript.Qui anstatt WScript.Quit
2. In Codezeile 40 fehlt passend zur Codezeile 20 (For Each) eine Next-Anweisung
Gruß Dieter
For Each objAdapter in colAdapters
IPdebut = LBound(objAdapter.IPAddress)
IPfin = UBound(objAdapter.IPAddress)
If InStr("#" & Join(objAdapter.IPAddress, "#"), "#10.211.") > 0 Then wscript.qui
Die effektive Aussage dieses Codes ist:
Sobald eine der Netzwerkkarten, die WMI (zufällig) zurückliefert, den Array der IP-Adressen in "#10.211..." hat brich das Skript ab.
Ich zähle da allein schon 4 Fehler.
Und Netzwerkdrucker zu löschen ist mit WMI eine Sache von 4 Zeilen...