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
GELÖST

VBS-Logoutscript funktioniert nicht

Frage Microsoft

Mitglied: Dude-from-R00t

Dude-from-R00t (Level 2) - Jetzt verbinden

23.09.2010, aktualisiert 19:10 Uhr, 3654 Aufrufe, 6 Kommentare

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:
01.
Dim oDrives, fUser, fOS, fDomain, fUserName, oGroupDict 
02.
Dim objNetwork 
03.
Dim objFSO, objFileCopy 
04.
Dim strFilePath, strDestination 
05.
 
06.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
07.
Set objNetwork = CreateObject("WScript.Network") 
08.
Set WshNetwork = WScript.CreateObject("WScript.Network") 
09.
Set WshShell = WScript.CreateObject("WScript.Shell") 
10.
Set oDrives = WshNetwork.EnumNetworkDrives 
11.
 
12.
UserName = (WshShell.ExpandEnvironmentStrings("%UserName%")) 
13.
fUser = (WshNetwork.UserName) 
14.
Set WshShell = CreateObject("WScript.Shell") 
15.
 
16.
'### Check if you are connected in Plantoffice ### 
17.
strComputer = "." 
18.
Set objWMIService = GetObject("winmgmts:" & "!\\" & strComputer & "\root\cimv2" ) 
19.
Set colAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True" ) 
20.
For Each objAdapter in colAdapters 
21.
    IPdebut = LBound(objAdapter.IPAddress) 
22.
    IPfin = UBound(objAdapter.IPAddress) 
23.
	If InStr("#" & Join(objAdapter.IPAddress, "#"), "#10.211.") > 0 Then wscript.qui 
24.
 
25.
	'### Sequence remove UNC-Printers ### 
26.
		on error resume next 
27.
			set oPrinters = WshNetwork.EnumPrinterConnections  
28.
				For i = 1 To oPrinters.Count -1 Step 2  
29.
					If InStr(oPrinters(i), "\\DC02PRT\") > 0 Then WshNetwork.RemovePrinterConnection(oPrinters(i))  
30.
		Next 
31.
 
32.
	'### Sequence remove UNC-Network Drives ### 
33.
			Dim DelNetDrive 
34.
				Set WshNet = CreateObject("WScript.Network") 
35.
					For DriveAsc = 102 To 122 
36.
			On Error Resume Next 
37.
				DelNetDrive = Chr(DriveAsc) & ":" 
38.
					WshNet.RemoveNetworkDrive DelNetDrive, True, True 
39.
			Next 
40.
 
41.
wscript.qui
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
Mitglied: 76109
23.09.2010 um 17:42 Uhr
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
Bitte warten ..
Mitglied: Dude-from-R00t
23.09.2010 um 19:07 Uhr
Ui; welch ein Lapsus; völlig übersehen:

1. WScript.Qui anstatt WScript.Quit

Aber:
2. In Codezeile 40 fehlt passend zur Codezeile 20 (For Each) eine Next-Anweisung
Steh ich grad auf dem Schlauch. Wie gesagt: bin VB-Anfänger. Warum noch mal fdie Abfrage neu staren in Zeile 40 (für was)?

Danke dir aber schon einmal!
Bitte warten ..
Mitglied: dog
23.09.2010 um 23:57 Uhr
01.
For Each objAdapter in colAdapters 
02.
    IPdebut = LBound(objAdapter.IPAddress) 
03.
    IPfin = UBound(objAdapter.IPAddress) 
04.
	If InStr("#" & Join(objAdapter.IPAddress, "#"), "#10.211.") > 0 Then wscript.qui 
05.
 
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...
Bitte warten ..
Mitglied: Dude-from-R00t
24.09.2010 um 08:27 Uhr
Und Netzwerkdrucker zu löschen ist mit WMI eine Sache von 4 Zeilen...

OK; Hast du mal praktisches Beispiel?
Bitte warten ..
Mitglied: dog
24.09.2010 um 16:17 Uhr
01.
' WMI Provider - SWbemServices 
02.
Set wmi = GetObject("winmgmts:\\.\root\cimv2") 
03.
' Drucker - SWbemObjectSet 
04.
set printerSet = wmi.ExecQuery("SELECT * FROM Win32_Printer WHERE Network = TRUE") 
05.
 
06.
On Error Resume Next 
07.
 
08.
For Each printer In printerSet 
09.
	printer.Delete_ 
10.
Next
Bitte warten ..
Mitglied: Dude-from-R00t
24.09.2010 um 20:38 Uhr
Jepp; danke das funktioniert mit meinen Anpassungen jetzt!

Danke also!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst VBS Script in eine Textdatei ausgeben (VBS mit Batch zusammenführen) (5)

Frage von Luuke257 zum Thema Batch & Shell ...

VB for Applications
gelöst VBS Ordner erstellen - wenn nicht vorhanden! (1)

Frage von freshman2017 zum Thema VB for Applications ...

Batch & Shell
gelöst Vbs programm unabhängig vom Speicherort ausführen (2)

Frage von Markus2016 zum Thema Batch & Shell ...

Batch & Shell
gelöst Hilfe Bei einem vbs Script (19)

Frage von Hattori-Hanzo zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (56)

Frage von pjrtvly zum Thema Internet ...

Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

LAN, WAN, Wireless
gelöst IP Adressen - Modem - Switch - Accesspoint (22)

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

Windows Server
Upgrade von Win Server 2008 auf 2012 gescheitert (19)

Frage von Ghost108 zum Thema Windows Server ...