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

Frage Entwicklung VB for Applications

VBS Drucker entfernen

Mitglied: MarcelQ

MarcelQ (Level 1) - Jetzt verbinden

04.06.2010 um 09:21 Uhr, 8162 Aufrufe, 3 Kommentare

Hallo ich habe eine Frage zu meinem Script.

Erstmal ein paar Eckdaten. Ich habe ein Script erstellt das Drucker von meinem Rechner und anderen Rechnern in einer Domain löschen soll. Nun ist es aber so, dass ich eine Liste an Druckern habe die wenn vorhanden gelöscht werden sollen aber, habe ich nun einen dieser Drucker nicht im Verbund mit meinem Rechner, versucht das Script sicher erst mit dem Drucker zu verbinden. Sprich wenn ich ca. 15 Netzwerkdrucker habe und nur 2 am Rechner verbunden sind übers Netz verbindet er sich mit 15 Drucker wobei 13 nicht am Lokelm Rechner vorhanden sind. Das kostet mich echt eine Menge zeit bis das Script mal komplett durchgelaufen ist und danach die passenden Drucker verbunden sind.

Hier mal das Script

Option Explicit
Dim objNetwork, oAdapters, oAdapter, IPAddress, WshNetwork, WshShell, oPrinter, i, PrinterPath

Set oAdapters = GetObject("winmgmts:").execquery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set oPrinter = WshNetwork.EnumPrinterConnections
Set objNetwork = WScript.CreateObject("WScript.Network")

For Each oAdapter In oAdapters
With oAdapter
IPAddress = IPAddress + " " + Join(.IPAddress)
End With
Next


On Error Resume Next
objNetwork.RemoveNetworkDrive "X:"
objNetwork.RemoveNetworkDrive "o:"
On Error GoTo 0


REM Denoc
On error resume next
For i = 0 to oPrinter.Count - 1 Step 2
PrinterPath = "\\Server 1\Druckername"
WshNetwork.RemovePrinterConnection "\\Server 1\Druckername"

------>Dieser Drucker vom Server 2 wäre jetzt nicht mit dem Domain Rechner verbunden.
------>Er Versucht sich aber zu verbinden und das soll er nicht sondern einfach nur löschen

PrinterPath = "\\Server 2\Druckername"
WshNetwork.RemovePrinterConnection "\\Server 2\Druckername"



Next
Das ist jetzt nur ein Teilauszug was sich auf das löschen vom Drucker bezieht.
Mein Problem ist das er sich mit jedem Drucker, ob vorhanden oder nicht, verbindet. Ich will aber das er alle Drucker einer bestimmten Liste löscht ohne sich zu verbinden.

Das Script soll also eine bestimmte Liste vohanden haben wo alle Netzwerkdrucker difiniert sind und sie dann, wenn vorhanden vom Rechner löschen soll ohne sich zum Drucker zu verbinden.
Mitglied: Karo
04.06.2010 um 10:27 Uhr
Moin,

also ich mache das mittels Con2Prt aus dem Reskit ohne Stress
con2prt Optionen: /c = connect; /cd= connect default; /f = lösche vorhandene
durch den Parameter /i wird nicht in Klein-/Großschreibung unterschieden

z.B. %logonserver%\netlogon\con2prt /f /i "\\TEST0001\HPDJ5550"

wäre im Fall der Liste z.B.
for /f "tokens=* delims=" %%i in ("%logonserver%\netlogon\PRINTERLIST.txt") do (
%logonserver%\netlogon\con2prt /f /i "\\TEST0001\HPDJ5550"
)

Karo
Bitte warten ..
Mitglied: MarcelQ
04.06.2010 um 13:08 Uhr
Leider ist mir dadurch nicht geholfen, ich bin ein echter VBscript Anfänger und kann damit nicht gerade viel anfangen.
Ich würde auch gerne bei der Art wie ich es angefangen habe bleiben.
Bitte warten ..
Mitglied: Karo
04.06.2010 um 13:50 Uhr
OK, dann hier mal ein Script, welches ich benutze um bei Usern Drucker umzubenennen.
Den Abschnitt NEW MAPPING brauchst Du in Deinem Fall nicht.
Die Datei PRINTERS.TXT besteht bei mir aus Zeilen mit <ALTER DRUCKER>;<NEUER DRUCKER>
(\\SERVERNAME\DRUCKER_PCL6;\\SERVERNAME\PRINTER_PCL6), wobei Du natürlich <NEUER DRUCKER> nicht benötigst, aber um das Script nicht umschreiben zu müssen (wegen Split()-Anweisung etc ) kannst Du nach dem Semikolon den gleichen Namen verwenden

Karo

' Set printers
' **
On Error Resume Next
Dim objNetwork, fs, fsFILE
Dim Counter, aryPrinter(999), strComputer
Dim splPrinter, x, fstemp
Set objNetwork = CreateObject("WScript.Network")
Set fs = CreateObject("Scripting.FileSystemObject")
Set fstemp = fs.GetSpecialFolder(2)
wscript.echo ("The path to your TEMP folder is '" & fstemp & "'." )

'COPY FILE TO TEMP
Set fsFILE = fs.GetFile("\\SERVERNAME\netlogon\printers.txt")
fsFILE.copy (fstemp & "\printers.txt")

'READ FILE
Set fsFILE = fs.OpenTextFile(fstemp & "\printers.txt")
Counter = 0
Do Until fsFILE.AtEndOfStream
Counter = Counter + 1
aryPrinter(Counter) = fsFILE.Readline
'wscript.echo Counter & " ---- " & aryPrinter(Counter)
Loop

'READ MAPPED PRINTERS FROM USER
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer")

For Each objPrinter in colInstalledPrinters
wscript.echo ""
WScript.echo "SEARCH: " & objPrinter.Name
For x = 1 to Counter
splPrinter=Split(aryPrinter(x),";")
'COMPARE MAPPED PRINTERS WITH PRINTERS IN FILE
If InStr(1,objPrinter.Name,splPrinter(0),1) > 0 Then
wscript.echo "-YES-"
'Is Printer Default
If objPrinter.Default = "True" Then DefPrinter = "TRUE"

'DELETE OLD MAPPING
wscript.echo "-Delete Old Mapping-"
objNetwork.RemovePrinterConnection splPrinter(0)
wscript.echo splPrinter(0)

'NEW MAPPING
wscript.echo "-New Mapping-"
objNetwork.AddWindowsPrinterConnection splPrinter(1)
wscript.echo splPrinter(1)

'IF PRINTER IS DEFAULT (True) SET NEW DEFAULT
If DefPrinter = "TRUE" Then
wscript.echo "-Set as Default"
objNetwork.SetDefaultPrinter splPrinter(1)
wscript.echo splPrinter(1)
Else
End If
'NEW MAPPING END
Else
End If
Next
Next
Bitte warten ..
Ähnliche Inhalte
VB for Applications
VBS-Entfernen von Zeilen in einer Textdatei
Frage von Calim3roVB for Applications5 Kommentare

Hallo zusammen Ich möchte aus einer Textdatei Zeilen entfernen. Ich habe drei Dateien, in Datei "A" stehen Wörter, in ...

Windows Netzwerk
Alte Drucker von Domänenrechnern entfernen
Frage von -BassT-Windows Netzwerk1 Kommentar

Hallo zusammen, gerade erhielt ich die Aufgabe, alte - ergo nicht mehr existierende - Netzwerkdrucker von den einzelnen Rechnern ...

Windows Server
Drucker lässt sich auf Terminalserver nicht entfernen
Frage von freenodeWindows Server3 Kommentare

Hi Kollegen, ich habe auf einem Terminalserver (2008 R2) versehentlich so einen blöden Universaldruckertreiber von Kyocera installiert (wollte eigentlich ...

Windows Server
Drucker entfernen in VB-Script
gelöst Frage von NilsvLehnWindows Server2 Kommentare

Hallo ich habe eine kleine Frage bzgl. unseres Anmeldeskriptes. Ich habe ein IT-netzwerk an einer Uni übernommen. Ich arbeite ...

Neue Wissensbeiträge
Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 40 MinutenRouter & Routing

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 7 StundenDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 12 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement22 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

Windows Server
Terminal Server 2016 erkennt Berechtigungen nicht
gelöst Frage von Thomas2Windows Server10 Kommentare

Hallo Administratoren, folgendes Problem stellt sich dar: Es gibt zwei Windows Server 2016, die als Terminal Server fungieren. Jetzt ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS10 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...