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: GPOdin

GPOdin (Level 2) - Jetzt verbinden

23.09.2010, aktualisiert 19:10 Uhr, 3633 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: GPOdin
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: GPOdin
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: GPOdin
24.09.2010 um 20:38 Uhr
Jepp; danke das funktioniert mit meinen Anpassungen jetzt!

Danke also!
Bitte warten ..
Ähnliche Inhalte
Windows 10
Powercg-Einstellung wird zugewiesen aber funktioniert nicht (1)

Frage von PharIT zum Thema Windows 10 ...

C und C++
MVVM Button.IsEnabled binding funktioniert nicht

Frage von mayho33 zum Thema C und C ...

Exchange Server
Exchange 2010 DAG funktioniert nur teilweise (1)

Frage von apex.predator24 zum Thema Exchange Server ...

Batch & Shell
gelöst Base64 Decode (Batch,VBS) (26)

Frage von clragon zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Router & Routing
Tipps für Router (ca. 100 clients, VPN) (18)

Frage von oel-auge zum Thema Router & Routing ...

Windows 7
BOOTMGR is missing (auch nach bootrec -RebuildBcd) (16)

Frage von Mipronimo zum Thema Windows 7 ...

TK-Netze & Geräte
gelöst Convert von TAPI auf CAPI gesucht (13)

Frage von StefanKittel zum Thema TK-Netze & Geräte ...