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, 3623 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
LAN, WAN, Wireless
Internetverbindung funktioniert erst nach ipconfig renew (6)

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

Windows Server
gelöst W2008 R2 msiinstaller funktioniert nicht mehr (5)

Frage von Alix zum Thema Windows Server ...

C und C++
gelöst IF Abfrage funktioniert nicht mehr (2)

Frage von pablovic zum Thema C und C ...

Router & Routing
Transparenter Proxy funktioniert nicht? (1)

Frage von mrserious73 zum Thema Router & Routing ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...