<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://znil.net/index.php?action=history&amp;feed=atom&amp;title=ZnilTools%3ADisconnectNetworkPrinter.exe</id>
	<title>ZnilTools:DisconnectNetworkPrinter.exe - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://znil.net/index.php?action=history&amp;feed=atom&amp;title=ZnilTools%3ADisconnectNetworkPrinter.exe"/>
	<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=ZnilTools:DisconnectNetworkPrinter.exe&amp;action=history"/>
	<updated>2026-04-28T13:35:18Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in znilwiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://znil.net/index.php?title=ZnilTools:DisconnectNetworkPrinter.exe&amp;diff=9557&amp;oldid=prev</id>
		<title>BLinz: Textersetzung - „&lt;comments&gt;“ durch „&lt;comments /&gt;“</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=ZnilTools:DisconnectNetworkPrinter.exe&amp;diff=9557&amp;oldid=prev"/>
		<updated>2017-08-06T21:30:42Z</updated>

		<summary type="html">&lt;p&gt;Textersetzung - „&amp;lt;comments&amp;gt;“ durch „&amp;lt;comments /&amp;gt;“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
[[Kategorie:Batch]]&lt;br /&gt;
[[Kategorie:ZnilTools]]&lt;br /&gt;
==DisconnectNetworkPrinter.exe==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;&amp;#039;&amp;#039;&amp;#039;Download: [[Media:DisconnectNetworkPrinter.zip|DisconnectNetworkPrinter.zip]]&amp;#039;&amp;#039;&amp;#039;&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beschreibung:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Löscht alle verbunden Netzwerkdrucker.&lt;br /&gt;
Netzwerkdrucker sind in diesem Fall alle Drucker die über einen Printserver bzw. eine Freigabe verbunden sind,&amp;lt;br&amp;gt;&lt;br /&gt;
also Drucker nach dem Schema&amp;lt;br&amp;gt;&lt;br /&gt;
 \\server\druckername&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Programm starten==&lt;br /&gt;
Aufruf für Programm&amp;lt;br&amp;gt;&lt;br /&gt;
 DisconnectNetworkPrinter.exe /ALL&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Testmodus:&amp;lt;br&amp;gt;&lt;br /&gt;
 DisconnectNetworkPrinter.exe /TEST&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Eingebaute Hilfe==&lt;br /&gt;
Mit&lt;br /&gt;
 DisconnectNetworkPrinter.exe /?&lt;br /&gt;
oder ohne Parameter wird die Hilfe ausgegeben&lt;br /&gt;
 +------------------------------------------------------------------------------&lt;br /&gt;
 | DisconnectNetworkPrinter.exe - Version 1.0.0.1&lt;br /&gt;
 +------------------------------------------------------------------------------&lt;br /&gt;
 | 2014 von Bernhard Linz für http://znil.net - Kontakt: Bernhard@znil.net&lt;br /&gt;
 +------------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
 Ermittelt alle vorhandenen Netzwerkdrucker und trennt diese.&lt;br /&gt;
 Als Netzwerkdrucker zählen nur Drucker die über einen Printserver&lt;br /&gt;
 verbunden sind, also nach dem Schema \\Server\Druckername&lt;br /&gt;
 Lokal verbundene Drucker - das sind auch Netzwerkdrucker die direkt&lt;br /&gt;
 über Ihre IP angebunden sind - werden NICHT getrennt&lt;br /&gt;
 ------------------------------------------------------------------------------- &lt;br /&gt;
 &lt;br /&gt;
 Aufruf für Programm&lt;br /&gt;
 DisconnectNetworkPrinter.exe [Option] [Parameter]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Mögliche Optionen sind:&lt;br /&gt;
 -----------------------&lt;br /&gt;
 /ALL                      : Alle vorhandenen Netzwerkdrucker werden getrennt &lt;br /&gt;
 &lt;br /&gt;
 /TEST                     : Netzwerkdrucker werden nur aufgelistet, nicht getrennt&lt;br /&gt;
 &lt;br /&gt;
 +------------------------------------------------------------------------------&lt;br /&gt;
 | DisconnectNetworkPrinter.exe ist FREEWARE! Kopieren, weitergeben ausdrücklich erlaubt!&lt;br /&gt;
 | Die jeweils aktuelleste Version und Anleitungen findet Ihr unter:&lt;br /&gt;
 | http://znil.net/index.php?title=ZnilTools:DisconnectNetworkPrinter.exe&lt;br /&gt;
 +------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Quellcode==&lt;br /&gt;
Nicht meckern, hab ich mal eben in ein paar Minuten zusammengeschustert und dabei Code aus anderen Programmen recycelt sowie den ScriptOmatic genutzt:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;AutoIt&amp;quot;&amp;gt;&lt;br /&gt;
#NoTrayIcon&lt;br /&gt;
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****&lt;br /&gt;
#AutoIt3Wrapper_Icon=Icon256-32.ico&lt;br /&gt;
#AutoIt3Wrapper_UseUpx=n&lt;br /&gt;
#AutoIt3Wrapper_Change2CUI=y&lt;br /&gt;
#AutoIt3Wrapper_Res_Description=Bernhard@znil.de&lt;br /&gt;
#AutoIt3Wrapper_Res_Fileversion=1.0.0.5&lt;br /&gt;
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y&lt;br /&gt;
#AutoIt3Wrapper_Res_SaveSource=y&lt;br /&gt;
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****&lt;br /&gt;
Opt(&amp;#039;MustDeclareVars&amp;#039;, 1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dim $wbemFlagReturnImmediately = 0x10&lt;br /&gt;
Dim $wbemFlagForwardOnly = 0x20&lt;br /&gt;
Dim $colItems = &amp;quot;&amp;quot;&lt;br /&gt;
Dim $strComputer = &amp;quot;localhost&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dim $Output&lt;br /&gt;
Dim $objWMIService&lt;br /&gt;
Dim $colItems&lt;br /&gt;
Dim $objNetwork&lt;br /&gt;
&lt;br /&gt;
Global $oMyError&lt;br /&gt;
Global $g_eventerror = 0&lt;br /&gt;
Global $COM_Fehlermeldung = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;                          10        20        30        40        50        60        70        80&lt;br /&gt;
;                 12345678901234567890123456789012345678901234567890123456789012345678901234567890&lt;br /&gt;
Dim $Header = &amp;quot;+------------------------------------------------------------------------------&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
		&amp;quot;| DisconnectNetworkPrinter.exe - Version &amp;quot; &amp;amp; FileGetVersion(@ScriptName) &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
		&amp;quot;+------------------------------------------------------------------------------&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
		&amp;quot;| 2014 von Bernhard Linz für http://znil.net - Kontakt: Bernhard@znil.net&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
		&amp;quot;+------------------------------------------------------------------------------&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
		@CRLF&lt;br /&gt;
&lt;br /&gt;
;                          10        20        30        40        50        60        70        80&lt;br /&gt;
;                 12345678901234567890123456789012345678901234567890123456789012345678901234567890&lt;br /&gt;
Dim $HilfeText = &amp;quot;Ermittelt alle vorhandenen Netzwerkdrucker und trennt diese.&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
				 &amp;quot;Als Netzwerkdrucker zählen nur Drucker die über einen Printserver&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
				 &amp;quot;verbunden sind, also nach dem Schema \\Server\Druckername&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
				 &amp;quot;Lokal verbundene Drucker - das sind auch Netzwerkdrucker die direkt&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
				 &amp;quot;über Ihre IP angebunden sind - werden NICHT getrennt&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
				&amp;quot;-------------------------------------------------------------------------------&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
				@CRLF &amp;amp; _&lt;br /&gt;
				&amp;quot;Aufruf für Programm&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
				@ScriptName &amp;amp; &amp;quot; [Option] [Parameter]&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
				@CRLF &amp;amp; _&lt;br /&gt;
				@CRLF &amp;amp; _&lt;br /&gt;
				&amp;quot;Mögliche Optionen sind:&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
				&amp;quot;-----------------------&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
				&amp;quot;/ALL                      : Alle vorhandenen Netzwerkdrucker werden getrennt&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
				@CRLF &amp;amp; _&lt;br /&gt;
				&amp;quot;/TEST                     : Netzwerkdrucker werden nur aufgelistet, nicht getrennt&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
				@CRLF &amp;amp; _&lt;br /&gt;
				&amp;quot;+------------------------------------------------------------------------------&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
				&amp;quot;| DisconnectNetworkPrinter.exe ist FREEWARE! Kopieren, weitergeben ausdrücklich erlaubt!&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
				&amp;quot;| Die jeweils aktuelleste Version und Anleitungen findet Ihr unter:&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
				&amp;quot;| http://znil.net/index.php?title=ZnilTools:DisconnectNetworkPrinter.exe&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
				&amp;quot;+------------------------------------------------------------------------------&amp;quot; &amp;amp; @CRLF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; ###################################################################################&lt;br /&gt;
; Diese Funktion ist für den Fall das es Fehler bei den Objekten gibt&lt;br /&gt;
; Das würde normalerweise eine AutoIt Fehler-PopUp Box erzeugen welche ich vermeiden wollte&lt;br /&gt;
Func MyErrFunc()&lt;br /&gt;
	Local $err = $oMyError.number&lt;br /&gt;
	If $err = 0 Then $err = -1&lt;br /&gt;
&lt;br /&gt;
	$g_eventerror = $err ; Zum Abfragen, nachdem die Funktion beendet ist&lt;br /&gt;
	$COM_Fehlermeldung = $oMyError.windescription&lt;br /&gt;
EndFunc   ;==&amp;gt;MyErrFunc&lt;br /&gt;
&lt;br /&gt;
; ###################################################################################&lt;br /&gt;
; _ANSI2OEM löst das Problem mit dem Umlauten und anderen Sonderzeichen. Es wandelt Text so um das er korrekt in der DOS-Box dargestellt wird&lt;br /&gt;
; So können hier im Quellcode auch Umlaute verwendet werden (in den Textausgaben) und diese werden dann korrekt dargestellt&lt;br /&gt;
; Wir zudem für die Prüfung der Gruppenzugehörigkeit benötigt für Gruppen mit Umlauten, z.B. Domänen-Admins&lt;br /&gt;
; Dank an Xenobiologist von AutoIt.de für diese Lösung: http://www.autoit.de/index.php?page=Thread&amp;amp;threadID=9461&amp;amp;highlight=ANSI2OEM&lt;br /&gt;
&lt;br /&gt;
Func _ANSI2OEM($text)&lt;br /&gt;
	$text = DllCall(&amp;#039;user32.dll&amp;#039;, &amp;#039;Int&amp;#039;, &amp;#039;CharToOem&amp;#039;, &amp;#039;str&amp;#039;, $text, &amp;#039;str&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
	Return $text[2]&lt;br /&gt;
	;Return $text&lt;br /&gt;
EndFunc   ;==&amp;gt;_ANSI2OEM&lt;br /&gt;
&lt;br /&gt;
; ###################################################################################&lt;br /&gt;
; Hilfsroutine die den Hilfetext ausgibt&lt;br /&gt;
Func _HilfeAusgeben()&lt;br /&gt;
	ConsoleWrite(_ANSI2OEM($Header))&lt;br /&gt;
	ConsoleWrite(_ANSI2OEM($HilfeText))&lt;br /&gt;
EndFunc   ;==&amp;gt;_HilfeAusgeben&lt;br /&gt;
&lt;br /&gt;
; ###################################################################################&lt;br /&gt;
; H I L F E&lt;br /&gt;
; ###################################################################################&lt;br /&gt;
&lt;br /&gt;
;testen ob wir überhaupt mit einem Parameter gestartet wurden - sonst Hilfe ausgeben&lt;br /&gt;
If $CmdLine[0] = 0 Then&lt;br /&gt;
	_HilfeAusgeben()&lt;br /&gt;
	Exit&lt;br /&gt;
EndIf&lt;br /&gt;
&lt;br /&gt;
;testen ob der Parameter 1 ist auf &amp;quot;/?&amp;quot; testen und ebenfalls Hilfe ausgeben&lt;br /&gt;
If $CmdLine[1] = &amp;quot;/?&amp;quot; Then&lt;br /&gt;
	_HilfeAusgeben()&lt;br /&gt;
	Exit&lt;br /&gt;
EndIf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If $CmdLine[1] = &amp;quot;/TEST&amp;quot; Then&lt;br /&gt;
	$oMyError = ObjEvent(&amp;quot;AutoIt.Error&amp;quot;, &amp;quot;MyErrFunc&amp;quot;) ; COM-Fehlerbehandlung initialisieren&lt;br /&gt;
	$Output = $Output &amp;amp; &amp;quot;Computer: &amp;quot; &amp;amp; $strComputer  &amp;amp; @CRLF&lt;br /&gt;
	$objWMIService = ObjGet(&amp;quot;winmgmts:\\&amp;quot; &amp;amp; $strComputer &amp;amp; &amp;quot;\root\CIMV2&amp;quot;)&lt;br /&gt;
	$colItems = $objWMIService.ExecQuery(&amp;quot;SELECT * FROM Win32_Printer&amp;quot;, &amp;quot;WQL&amp;quot;, $wbemFlagReturnImmediately + $wbemFlagForwardOnly)&lt;br /&gt;
	If IsObj($colItems) then&lt;br /&gt;
		For $objItem In $colItems&lt;br /&gt;
			If $objItem.Network = True Then&lt;br /&gt;
				ConsoleWrite(_ANSI2OEM($objItem.Name &amp;amp; &amp;#039; ist ein Netzwerkdrucker&amp;#039;) &amp;amp; @CRLF)&lt;br /&gt;
			EndIf&lt;br /&gt;
		Next&lt;br /&gt;
	Endif&lt;br /&gt;
Exit 0&lt;br /&gt;
EndIf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If $CmdLine[1] = &amp;quot;/ALL&amp;quot; Then&lt;br /&gt;
	$oMyError = ObjEvent(&amp;quot;AutoIt.Error&amp;quot;, &amp;quot;MyErrFunc&amp;quot;) ; COM-Fehlerbehandlung initialisieren&lt;br /&gt;
	$Output = $Output &amp;amp; &amp;quot;Computer: &amp;quot; &amp;amp; $strComputer  &amp;amp; @CRLF&lt;br /&gt;
	$objWMIService = ObjGet(&amp;quot;winmgmts:\\&amp;quot; &amp;amp; $strComputer &amp;amp; &amp;quot;\root\CIMV2&amp;quot;)&lt;br /&gt;
	$colItems = $objWMIService.ExecQuery(&amp;quot;SELECT * FROM Win32_Printer&amp;quot;, &amp;quot;WQL&amp;quot;, $wbemFlagReturnImmediately + $wbemFlagForwardOnly)&lt;br /&gt;
	$objNetwork = ObjCreate(&amp;quot;WScript.Network&amp;quot;)&lt;br /&gt;
	If IsObj($colItems) then&lt;br /&gt;
		For $objItem In $colItems&lt;br /&gt;
			If $objItem.Network = True Then&lt;br /&gt;
				ConsoleWrite(_ANSI2OEM($objItem.Name &amp;amp; &amp;quot; wird getrennt ...&amp;quot;) &amp;amp; @CRLF)&lt;br /&gt;
				$objNetwork.RemovePrinterConnection($objItem.Name)&lt;br /&gt;
			EndIf&lt;br /&gt;
		Next&lt;br /&gt;
	Endif&lt;br /&gt;
Exit 0&lt;br /&gt;
EndIf&lt;br /&gt;
&lt;br /&gt;
Exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
--[[Benutzer:BLinz|Bernhard Linz]] 14:23, 23. Okt. 2014 (CEST)&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Kommentare==&lt;br /&gt;
&amp;lt;comments /&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
</feed>