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

Lokale Drucker per Batch einmalig löschen

Frage Microsoft Windows Netzwerk

Mitglied: BibelRaptor

BibelRaptor (Level 1) - Jetzt verbinden

13.02.2014 um 11:24 Uhr, 4766 Aufrufe, 9 Kommentare

Hallo Community,

habe ein größeres Problem vor mir. Meine Aufgabe besteht darin einen Druckserver einzurichten, die Drucker einzubinden, sowie per GPO bereitstellen.
Dies ist soweit geschehen.

Nun gibt es folgendes Problem. Bevor das ganze System live geht, muss ich die bereits davor per TCP/IP installierten Drucker auf den Clients löschen, da
die GPO die Drucker vom Printserver ja automatisch auf die Clients klatscht. (Sonst hat jeder User am Ende 2-3 Drucker zur Auswahl)

Da wir in unserem Unternehmen über 700 Clients haben hätte ich das gern per Logonscript getan.


Ich habe allerdings wirklich keinen Dunst von Batch oder Skirpts schreiben.

Die Clients arbeiten auf Win7 und teilweise noch WinXP. Der Printserver ist ein Windows 2008 R2.

Könnt ihr mir weiterhelfen mit Anleitung am Besten?


Vielen vielen Dank im voraus :D
Mitglied: Ausserwoeger
13.02.2014, aktualisiert um 11:37 Uhr
Hi

Das ist kein Problem einfach kix downloaden http://www.kixtart.org/
Ein Skript anlegen und in das Loginskript einbinden.

PS: Anleitung gibts ebenfalls dort und einfach zu machen ist es auch.

Beispiel:
Printer.kix:
DelPrinterConnection ("\\Server\DJ970")
AddPrinterConnection ("\\Server\OptraS1255")

Beispiel eintrag Loginskript:
call \\Server\Netlogon\kix32.exe \\Server\Netlogon\printer.kix


LG
Bitte warten ..
Mitglied: colinardo
13.02.2014, aktualisiert um 13:23 Uhr
Hallo BibelRaptor,
hier ein mögliches VBS-Script: (löscht nur Netzwerkdrucker)
01.
Set objNetwork = WScript.CreateObject("WScript.Network") 
02.
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") 
03.
Set colInstalledPrinters = objWMIService.ExecQuery("Select * from Win32_Printer where Network = True") 
04.
For Each objPrinter in colInstalledPrinters 
05.
    objNetwork.RemovePrinterConnection objPrinter.Name 
06.
Next
oder wenns Powershell sein darf:
01.
$comNetwork = New-Object -ComObject "Wscript.Network" 
02.
gwmi -Class Win32_Printer | ?{$_.Network -eq $true} | %{$comNetwork.RemovePrinterConnection($_.Name)}
Grüße Uwe
Bitte warten ..
Mitglied: Sheogorath
13.02.2014, aktualisiert um 15:21 Uhr
Moin,

je nach Bedarf und Betriebssystemsprache:
01.
REM erkennt Win7 oder XP 
02.
if exist "%systemdrive%\ProgramData" ( 
03.
 
04.
REM Win7 
05.
REM deutsches Grundsystem 
06.
set "vbspath=%windir%\System32\Printing_Admin_Scripts\de-DE" 
07.
 
08.
REM englisches Grundsystem 
09.
set "vbspath=%windir%\System32\Printing_Admin_Scripts\en-US" 
10.
 
11.
) else ( 
12.
REM XP 
13.
set "vbspath=%windir%\system32" 
14.
15.
 
16.
REM Löscht alle printer 
17.
cscript "%vbspath%\prnmngr.vbs" -x 
18.
 
19.
REM Löscht Printer Connections 
20.
cscript "%vbspath%\prnmngr.vbs" -xc 
21.
 
22.
REM Löscht lokale Printer 
23.
cscript "%vbspath%\prnmngr.vbs" -xo
Bastle dir zusammen, was du brauchst. Zur Info festangelegt lokale Drucker können möglicherweise nur von Admins gelöscht werden (also vielleicht als Startscript und Loginscript laufen lassen)


Edit:
Habe nun eine Detektion eingebaut, um die OS-Version zu bestimmen. Musst also nur noch die falsche Sprache rauswerfen und unten eben das rauslöschen, was du nicht haben willst.

Gruß
Chris
Bitte warten ..
Mitglied: BibelRaptor
13.02.2014 um 14:27 Uhr
Die Skripts binde ich dann einfach über den Gruppenrichtlinien-verwaltungs Editor vom Druckserver ein?

Bin relativ neu in dieser Thematik, deswegen verzeiht meine Unwissenheit
Bitte warten ..
Mitglied: Sheogorath
13.02.2014, aktualisiert um 15:20 Uhr
Moin,

also ich vermute mal deutsche Rechner. nun machst du folgendes:
1. erstelle eine Datei mit dem Namen (ist ein Beispiel kannst du nennen wie du willst) "DeletePrinterConnection.bat" dort kommst folgender Code rein:
01.
REM prüft ob bereits ausgeführt 
02.
if exist "%appdata%\PrinterCheck.txt" exit 
03.
 
04.
REM erkennt Win7 oder XP 
05.
if exist "%systemdrive%\ProgramData" ( 
06.
 
07.
REM Win7 
08.
REM deutsches Grundsystem 
09.
set "vbspath=%windir%\System32\Printing_Admin_Scripts\de-DE" 
10.
 
11.
) else ( 
12.
REM XP 
13.
set "vbspath=%windir%\system32" 
14.
15.
REM Löscht Printer Connections 
16.
cscript "%vbspath%\prnmngr.vbs" -xc 
17.
 
18.
REM erstellt Prüfdatei sorgt dafür, dass es nicht nochmal ausgeführt wird 
19.
echo %date%>"%appdata%\PrinterCheck.txt"
Da es einmal sein soll, habe ich noch eine kleine Prüfsequenz eingebaut.

2. öffne deinen GPO Editor. erstelle eine Policy für deine User, bei denen du die Drucker entfernen willst. gehe zu "User Configuration\Windows Settings\Scripts (Logon/Logoff)" dort wählst du Logon hier öffnet sich ein Fenster, unten gibt es Button auf dem Show Files (bei dir vielleicht auf deutsch) steht. da klickst du drauf und legst dein Script rein.

3. oben gibt es nun einen (im Logon Propertys Fenster) Button mit Add... da klickst du drauf, wählst das Script fertig.

damit wäre der Userpart abgehakt

nun zum Computer:
1. erstelle eine Datei mit dem Namen (ist ein Beispiel kannst du nennen wie du willst) "DeletePrinterConnection.bat" dort kommst folgender Code rein:
01.
REM prüft ob bereits ausgeführt 
02.
if exist "%programdata%\PrinterCheck.txt" exit 
03.
 
04.
REM erkennt Win7 oder XP 
05.
if exist "%systemdrive%\ProgramData" ( 
06.
 
07.
REM Win7 
08.
REM deutsches Grundsystem 
09.
set "vbspath=%windir%\System32\Printing_Admin_Scripts\de-DE" 
10.
 
11.
) else ( 
12.
REM XP 
13.
set "vbspath=%windir%\system32" 
14.
15.
REM Löscht lokale Printer !!bitte Prüfen ob gewollt!!! 
16.
cscript "%vbspath%\prnmngr.vbs" -xo 
17.
 
18.
REM erstellt Prüfdatei sorgt dafür, dass es nicht nochmal ausgeführt wird 
19.
echo %date%>"%programdata%\PrinterCheck.txt"
Da es einmal sein soll, habe ich noch eine kleine Prüfsequenz eingebaut.

2. öffne deinen GPO Editor. erstelle eine Policy für deine Computer, bei denen du die Drucker entfernen willst. gehe zu "Computer Configuration\Windows Settings\Scripts (Startup/Shutdown)" dort wählst du Startup hier öffnet sich ein Fenster, unten gibt es Button auf dem Show Files (bei dir vielleicht auf deutsch) steht. da klickst du drauf und legst dein Script rein.

3. oben gibt es nun einen (im Startup Propertys Fenster) Button mit Add... da klickst du drauf, wählst das Script fertig.

Damit wäre alles erledigt. Wichtig ist eben, dass du wirklich prüfst, ob du auch lokal angelegte Drucker entfernen willst oder nur alte Verknüpfungen.

Edit: Variablennamen zu vbspath gewechselt um Komplikationen zu vermeiden.

Gruß
Chris
Bitte warten ..
Mitglied: BibelRaptor
13.02.2014 um 15:44 Uhr
Ich weiß das alles lokal angelegte Drucker sind. Sehr aufwendige Einrichtungsarbeit mit TCP/IP für jeden User einzeln. Deswegen eben jetzt der Druckserver ;)
Bitte warten ..
Mitglied: Sheogorath
13.02.2014 um 15:50 Uhr
Moin,

dann würde sogar nur der sogar nur der 2. Teil reichen. Probiere es mal an einem Testrechner aus.

Gruß
Chris
Bitte warten ..
Mitglied: BibelRaptor
14.02.2014, aktualisiert um 08:27 Uhr
Testrechner und Testuser habe ich bereits. Allerdings scheint das Skript nicht das zu tun was es soll :/

Vielleicht mach ich auch irgendwas falsch oder hab was vergessen?


Hab jetzt nur den 2.ten Teil aktiv am laufen von deinem vbs-Skript. Doch sobald ich Neustarte und mich mit dem Testuser anmelde, zieht er die 2 Drucker per GPO und der "installierte lokale Drucker" bleibt weiterhin bestehen. Das Skript läuft ja sofort oder muss ich das noch irgendwie aktivieren?

Sorry für die Fragerei immer, bin noch in der Ausbildung ^^
Bitte warten ..
Mitglied: Sheogorath
14.02.2014 um 08:35 Uhr
Moin,

erstmal: das ist ein Batchscript, kein VBScript. Wichtig ist also das deine Datei die Endung ".bat" oder ".cmd" hat, sonst klappt es sowieso nicht. Es werden nur vbs Dateien darin aufgerufen.

Solltest du die Datei richtig benannt haben, prüfe den Pfad zum Script, der in der GPO angezeigt wird, es sollte ein UNC-Pfad sein (erkennst du an \\ am Anfang)

Dann solltest du schauen ob die Datei %programdata%\printerCheck.txt geschrieben wurde. Falls ja löschen, falls nein schaue mal per GPResult (wie du das nutzt solltest du im web finden können oder mit cmd gpresult /?) ob deine GPO überhaupt greift oder ob sie falsch verlinkt ist, zur not lass mal deinen Mentor drüber schauen.

Dann sollte es laufen.

Gruß
Chris
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(2)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Mehrere lokale Drucker löschen (4)

Frage von Tealk144 zum Thema Batch & Shell ...

Drucker und Scanner
gelöst Lokale Drucker auf Server2012 R (5)

Frage von Robtschick zum Thema Drucker und Scanner ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 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 ...

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

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...