Top-Themen

Aktuelle Themen (A bis Z)

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 IP-bezogen aber wie?

Frage Entwicklung VB for Applications

Mitglied: DocuSnap-Dude

DocuSnap-Dude (Level 2) - Jetzt verbinden

03.04.2010 um 18:14 Uhr, 3720 Aufrufe, 9 Kommentare

Hallo,

ich möchte gern das innerhalb eines bestimmten IP-Netzes (beginnend mit 172.16.beim Logout des Users verbundene UNC-Printer eines bestimmten Servers ( \\211PRT01\ ) gelöscht werden (also cleane alles was mit \\211PRT02\ beginnt wenn du im netz 172.16. bist). Leider bin ich voll am Anfang mit VBS (bisher hab ich alles über Jahre mit BAT gemacht). Das ganze soll schnell gehen (damit der logout nicht ewig leiert). Wer kann mir helfen (aber bitte: es geht nur VBS aus betrieblichen Gründen; keine Ideen a la "bleib doch bei BAT-Files")....

Hier mein Ansatz (der aber nicht funktioniert); wie gesagt nur ein Ansatz:

01.
Dim WshNetwork, WshShell 
02.
Dim oDrives, fUser, fOS, fDomain, fUserName, oGroupDict 
03.
Dim objNetwork 
04.
Dim objFSO, objFileCopy 
05.
Dim strFilePath, strDestination 
06.
 
07.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
08.
Set objNetwork = CreateObject("WScript.Network") 
09.
Set WshNetwork = WScript.CreateObject("WScript.Network") 
10.
Set WshShell = WScript.CreateObject("WScript.Shell") 
11.
Set oDrives = WshNetwork.EnumNetworkDrives 
12.
 
13.
UserName = (WshShell.ExpandEnvironmentStrings("%UserName%")) 
14.
fUser = (WshNetwork.UserName) 
15.
Set WshShell = CreateObject("WScript.Shell") 
16.
 
17.
'Check if you are connected in LAN 172.16.**************************************** 
18.
strComputer = "." 
19.
Set objWMIService = GetObject("winmgmts:" & "!\\" & strComputer & "\root\cimv2" ) 
20.
Set colAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True" ) 
21.
For Each objAdapter in colAdapters 
22.
    IPdebut = LBound(objAdapter.IPAddress) 
23.
    IPfin = UBound(objAdapter.IPAddress) 
24.
    If (objAdapter.IPAddress(IPdebut) => "172.16" ) then  
25.
 
26.
'Anmerkung: hier weiss ich nicht weiter; wenn IP ungleich 172.16 beginnt soll er abbrechen; ansonsten zur näcjhsten Sprungmarke (war das nur einfach unter BAT) 
27.
 
28.
 
29.
	'## Sequence remove Network Printers" 
30.
		Dim UncPrinters 
31.
		UncPrinters	= Array("Drucker1","Drucker2","Drucker3",Drucker4") 
32.
'Anmerkung: ich möchte eigentlich nicht jeden Drucker einzeln auffüren müssen sondern eben alles was \\211PRT02\ beginnt --> Wie setze ich Wildcards? 
33.
 
34.
		Set objNetwork = WScript.CreateObject("WScript.Network") 
35.
			For i = 0 To Ubound(UncPrinters)  
36.
			on error resume next 
37.
			 objNetwork.RemovePrinterConnection("\\211PRT02\" & UncPrinters(i)) 
38.
			Next 
39.
			 
40.
	'##Sequence remove Network Drives## 
41.
		Dim DelNetDrive 
42.
			Set WshNet = CreateObject("WScript.Network") 
43.
				For DriveAsc = 102 To 122 
44.
				On Error Resume Next 
45.
				DelNetDrive = Chr(DriveAsc) & ":" 
46.
				WshNet.RemoveNetworkDrive DelNetDrive, True, True 
47.
			Next
Thank's a lot!

Frank
Mitglied: AndreasBrecht
03.04.2010 um 19:16 Uhr
Moin,

zu 1. wscript.quit bricht die Ausführung des sripts ab

zu 2. Falls es Dir gelingen sollte die verbundenen Drucker aufzulisten (da gibt es wohl eine wmi query aber das müsste ich jetzt auch googeln), kannst Du mit Instr() oder Left() prüfen, ob der Name die gesuchte Zeichenkette enthält / mit ihr anfängt
Bitte warten ..
Mitglied: bastla
03.04.2010 um 19:56 Uhr
@AndreasBrecht
Falls es Dir gelingen sollte die verbundenen Drucker aufzulisten
Würde Dir als Stichwort "EnumPrinterConnections" helfen?

Grüße
bastla
Bitte warten ..
Mitglied: DocuSnap-Dude
03.04.2010 um 20:02 Uhr
Hm; ehrlich gesagt steh ich bei der Frage auf dem Schlauch. Hab das hier gefunden:

01.
         var WshNetwork = WScript.CreateObject("WScript.Network"); 
02.
         var oPrinters = WshNetwork.EnumPrinterConnections(); 
03.
        WScript.Echo(); 
04.
         WScript.Echo("Network printer mappings:"); 
05.
         for(i = 0; i < oPrinters.length; i += 2) { 
06.
            WScript.Echo("Port " + oPrinters.Item(i) + " = " + oPrinters.Item(i + 1)); 
07.
         }
Aber wie binde ich das ein?
Bitte warten ..
Mitglied: DocuSnap-Dude
03.04.2010 um 20:03 Uhr
zu AndreasBrecht's Command:

zu 1) also so in etwa oder?

01.
02.
03.
    If not (objAdapter.IPAddress(IPdebut) => "172.16." ) then wscript.qui 
04.
05.
06.
 
Danke Dir!
Bitte warten ..
Mitglied: AndreasBrecht
03.04.2010 um 21:38 Uhr
Hört sich gut an. Das könnte dan wohl singemäß so aussehen:

01.
set colPrinters = WshNetwork.EnumPrinterConnections 
02.
 
03.
For Each P in ColPrinters 
04.
  If Instr(P.Name, "11PRT02") > 0 Then Do Something 
05.
Next
Bitte warten ..
Mitglied: AndreasBrecht
03.04.2010 um 21:41 Uhr
Eher so:

If Instr(objAdapter.IPAddress(IPdebut), "172.16." ) > 0 Then wscript.quit

Oder so:

If Left(objAdapter.IPAddress(IPdebut), 7) = "172.16." Then wscript.quit
Bitte warten ..
Mitglied: bastla
03.04.2010 um 22:07 Uhr
@AndreasBrecht
Eher so:
01.
set oPrinters = WshNetwork.EnumPrinterConnections 
02.
For i = 1 To oPrinters.Count -1 Step 2 
03.
    If InStr(oPrinters(i), "\\211PRT02\") > 0 Then WshNetwork.RemovePrinterConnection(oPrinters(i)) 
04.
Next
Grüße
bastla
Bitte warten ..
Mitglied: bastla
03.04.2010 um 22:19 Uhr
... oder doch so:
If InStr("#" & Join(objAdapter.IPAddress, "#"), "#172.16.") > 0 Then ...
Da eine Netzwerkkarte mehrere Adressen haben kann, stellt "objAdapter.IPAddress" ein Text-Array dar - mit dem "#" vorweg und als Verknüpfungszeichen beim "Join()" kann der Beginn jeder Adresse gekennzeichnet werden, sodass nicht auch zB "10.172.16.5" gefunden wird.

Grüße
bastla
Bitte warten ..
Mitglied: DocuSnap-Dude
04.04.2010 um 11:08 Uhr
Hi,

Super; danke euch beiden. Werd ich dienstag gleich testen! Ich geb dann noch Feedback! cool! Danke!
Bitte warten ..
Ähnliche Inhalte
Router & Routing
Gateway mit DHCP bezogenen internen IP
gelöst Frage von AhnzhhRouter & Routing11 Kommentare

Hallo, stehe ein wenig auf dem Schlauch. Ich habe mir die Frage gestellt ob man seinen Router/Gateway intern eine ...

LAN, WAN, Wireless
TP-Link WA501G als Client einrichten - Keine IP Adresse wir bezogen
gelöst Frage von bestelittLAN, WAN, Wireless18 Kommentare

Hallo zusammen, ich habe nun seit langer Zeit versucht den TP-Link WA501G Ver. 2.1 erfolgreich als Client einzurichten. Ich ...

Microsoft Office
Excel - Bedingte Formatierung bezogen auf Spalte nebendran.
gelöst Frage von Cubic83Microsoft Office2 Kommentare

Hallo, ich bin gerade dabei eine Excel Tabelle zu erstellen und will gerne eine Zelle farblich hervorheben wenn der ...

Batch & Shell
VBS Script in eine Textdatei ausgeben (VBS mit Batch zusammenführen)
gelöst Frage von Luuke257Batch & Shell5 Kommentare

Hallo zusammen! Vorweg, ich bin absoluter neuling im Scripten, ich habe mir das alles nur so zusammengebastelt und versuche ...

Neue Wissensbeiträge
MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 5 StundenMikroTik RouterOS4 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 5 StundenSicherheit

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Administrator.de Feedback

Entwicklertagebuch: Die Startseite wurde überarbeitet

Information von admtech vor 8 StundenAdministrator.de Feedback9 Kommentare

Hallo Administrator User, mit dem Release 5.7 haben wir unsere Startseite überarbeitet und die Beiträge und Fragen voneinander getrennt. ...

Vmware

VMware Desktopprodukte sind verwundbar

Information von Penny.Cilin vor 13 StundenVmware

Die VMware-Anwendungen zum Umgang mit virtuellen Maschinen Fusion, Horizon Client und Workstation sowie die Plattform NSX sind verwundbar. Davon ...

Heiß diskutierte Inhalte
Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail
Frage von ahstaxVisual Studio24 Kommentare

Hallo, ich möchte gerne ein vb.net-Tool schreiben, das am Ende eine Outlook-E-Mail erzeugt. Grundsätzlich ist mir klar, wie das ...

Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server16 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows Netzwerk
Netzwerk Neustrukturierung
Frage von IT-DreamerWindows Netzwerk16 Kommentare

Hallo verehrte Community und Admins, bei uns im Haus steht eine Neustrukturierung an. Dafür benötige ich von euch ein ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...