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, 7995 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
Batch & Shell
gelöst Verbundenen Drucker in lokalen Drucker Umwandeln (3)

Frage von Mr.Error zum Thema Batch & Shell ...

Windows Server
Fehler in Ereignisanzeige bei Mapping von Drucker per GPO (1)

Frage von insoft zum Thema Windows Server ...

Batch & Shell
Cpl Dateien per Batch oder VBS öffnen (1)

Frage von Angelo131095 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (38)

Frage von sabines zum Thema Internet ...

Netzwerke
Wie erstelle ich ein Intranet (19)

Frage von Leonardnet zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

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

Netzwerke
VPN-Server einrichten PPTPD-Einrichtung gescheitert (15)

Frage von MIlexx zum Thema Netzwerke ...