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

VBS Drucker entfernen

Frage Entwicklung VB for Applications

Mitglied: MarcelQ

MarcelQ (Level 1) - Jetzt verbinden

04.06.2010 um 09:21 Uhr, 7840 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Netzwerkgrundlagen
SMB-Scanfreigabe von Xerox-Drucker (8)

Frage von mcdutch zum Thema Netzwerkgrundlagen ...

Windows 10
"geräte und drucker" unter w8 bzw. w10 zu starten dauert ewig (5)

Frage von tobias3355 zum Thema Windows 10 ...

VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
Eventlog Druckjobs mit VBS auslesen (2)

Frage von joni2000de zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

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 ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...