Microsoft MVPs inside





 MCSEboard.de MCSE Forum zu Windows XP / 2003 / 2008 Server & Windows Vista / Windows 7
Registrieren Hilfe Regeln Benutzerliste Suchen Heutige Beiträge Alle Foren als gelesen markieren

Windows Forum — Scripting


Alles zum Thema System Administration Scripting — Q & A zum Thema Scripting: Batch, VBS, WMI, PowerShell


Antwort
     
Themen-Optionen
Alt 08.03.2010, 14:25   #1
Member
 
Benutzerbild von W2K-Networker
 
Offline
Registriert seit: 03-2004
Ort: Berlin
Beiträge: 141
Drucker per Script installieren/deinstallieren

Hallo Board,

um unseren Benutzern die Arbeit so leicht wie möglich zu machen (und auch uns Admins zu entlasten) installieren wir die Netzwerkdrucker bei allen Usern über ein VBS-Logonscript.
Der Befehl sieht so aus:

strOU = "Drucker_D01"
strOU_STD = "Drucker_D01_Std"
strUNC = "\\PrintSRV02\D01"
If objGroupList.Exists(strOU) or objGroupList.Exists(strOU_STD) Then
MapPrinter strUNC
If objGroupList.Exists(strOU_STD) Then
objNetwork.SetDefaultPrinter strUNC
End If
End If

Ist der betroffene Benutzer in der entsprechenden OU, bekommt er den Drucker auf seiner Maschine installiert.
Das ganze funktioniert auch einwandfrei.

Jetzt haben wir aber uns aber einen neuen Printserver installiert, den PrintSRV02. Das Script habe ich entsprechend angepasst.
Wie kann ich jetzt aber in diesem Script auf allen Machinen die Netzwerkdrucker deinstallieren oder löschen, die noch auf PrintSRV01 zeigen?

Vielen Dank für alle Ideen und Antworten.

Bastian

Signatur
Windows-Netzwerker

Es ist nicht immer alles so wie es scheint.

    Mit Zitat antworten
Alt 08.03.2010, 16:26   #2
Expert Member
 
Benutzerbild von Cybquest
 
Offline
Registriert seit: 12-2006
Ort: Weinsberg
Beiträge: 1.510
Hallo,

ich vermute mal, dass sich hinter "MapPrinter" eine Sub bzw. Function befindet, die z.B. mit AddPrinterConnection arbeitet.

Um Drucker zu entfernen würde sich z.B. entspr. RemovePrinterConnection anbieten

EDIT:
Wenn es sich um eine Domäne handelt, in der GPPs verwendet werden können, würde es sich auch anbieten, das Ganze per Grouppolicy abzuhandeln.

Signatur
My name is Frank, you can say you to me.

    Mit Zitat antworten
Alt 09.03.2010, 08:59   #3
Member
 
Benutzerbild von W2K-Networker
 
Offline
Registriert seit: 03-2004
Ort: Berlin
Beiträge: 141
Hi Cybquest,

das hier hatte ich zu Anfangs noch vergessen mit hinzuzufügen:

'## Netzlaufwerke und Drucker
Set oDrives = objNetwork.EnumNetworkDrives
For i = 0 to oDrives.Count - 1 Step 2
strDrives = strDrives & i & ".) " & oDrives.Item(i) & vbCr & " " & i+1 & ".) " & oDrives.Item(i+1) & vbCr
Next


Set oPrinters = objNetwork.EnumPrinterConnections
For i = 0 to oPrinters.Count - 1 Step 2
strPrinters = strPrinters & i & ".) " & oPrinters.Item(i) & vbCr & " " & i+1 & ".) " & oPrinters.Item(i+1) & vbCr
Next

Ich bin leider kein VBS Spezi. Wie kann ich deinen Vorschlag mit in das bestehende Skript einbauen?
Oder wie kann ich das ganze per GPO realisieren?

Bastian

Signatur
Windows-Netzwerker

Es ist nicht immer alles so wie es scheint.

    Mit Zitat antworten
Alt 09.03.2010, 22:07   #4
Expert Member
 
Benutzerbild von Sunny61
 
Online
Registriert seit: 08-2007
Beiträge: 10.806
Du kannst auch via Batch die Drucker beim anmelden installieren lassen: Anmelde Skripe - Möglichkeiten und Funktionen Die Alternative von Frank sind die Group Policy Preferences. Dazu muß mind. ein VISTA/7/W2008 in der Domain vorhanden sein: GPP - Group Policy Preferences - Gruppenrichtlinien Einstellungen

Signatur
Gruppenrichtlinien: http://www.gruppenrichtlinien.de/

    Mit Zitat antworten
Alt 10.03.2010, 09:17   #5
Expert Member
 
Benutzerbild von Cybquest
 
Offline
Registriert seit: 12-2006
Ort: Weinsberg
Beiträge: 1.510
Hier ein Vorschlag, wie Dein Script z.B. erweitert werden könnte
Code:
...
strUNC = "\\PrintSRV02\D01"
strUNCAlt = "\\PrintSRV01\D01"
If objGroupList.Exists(strOU) or objGroupList.Exists(strOU_STD) Then
objNetwork.RemovePrinterConnection strUNCAlt
MapPrinter strUNC
...

Signatur
My name is Frank, you can say you to me.

    Mit Zitat antworten
Alt 16.03.2010, 16:08   #6
Member
 
Benutzerbild von W2K-Networker
 
Offline
Registriert seit: 03-2004
Ort: Berlin
Beiträge: 141
Hallo Cybquest,

danke für den Vorschlag.
Wenn ich mein Skript aber durch deine Zeilen ergänze, bekomme ich immer einen Fehler: End erwartet am Ende des gesamten Skripts. Da steht End Sub.

So sieht mein Skript jetzt aus, was leider nicht funzt:

strUNC = "\\PrintSRV02\D01"
strUNCAlt = "\\PrintSRV01\D01"
If objGroupList.Exists(strOU) or objGroupList.Exists(strOU_STD) Then
objNetwork.RemovePrinterConnection strUNCAlt
MapPrinter strUNC

strOU = "Drucker_D01"
strOU_STD = "Drucker_D01_Std"
strUNC = "\\PrintSRV02\D01"
If objGroupList.Exists(strOU) or objGroupList.Exists(strOU_STD) Then
MapPrinter strUNC
If objGroupList.Exists(strOU_STD) Then
objNetwork.SetDefaultPrinter strUNC
End If
End If

Wenn ich aber ein End If in zeile 6 einfüge, meckert er über strUNCAlt = "\\PrintSRV01\D01" Variable ist nicht definiert.

Was ich hierzu aber auch noch gefunden habe:

1. Preparation RemovePrinterConnection

Option Explicit
Dim objNetwork
Dim strUNCPrinter
strUNCPrinter = "\\alan\Epson"
Set objNetwork = CreateObject("WScript.Network")
objNetwork.AddWindowsPrinterConnection strUNCPrinter
WScript.Echo "Check the Printers folder for : " & strUNCPrinter

WScript.Quit

2. Delete the printer icon with RemovePrinterConnection

Option Explicit
Dim objNetwork, strUNCPrinter
strUNCPrinter = "\\LittleServer\win2pdf"

Set objNetwork = CreateObject("WScript.Network")
' Section which removes the network printer
objNetwork.RemovePrinterConnection strUNCPrinter

WScript.Echo "Check Printers folder NO: " & strUNCPrinter
Wscript.Quit

Vielleicht ist das ja was nützliches?!

Signatur
Windows-Netzwerker

Es ist nicht immer alles so wie es scheint.

    Mit Zitat antworten
Alt 16.03.2010, 16:24   #7
Expert Member
 
Benutzerbild von Cybquest
 
Offline
Registriert seit: 12-2006
Ort: Weinsberg
Beiträge: 1.510
Das ist momentan nach wie vor noch nicht das ganze Script, denke ich...

Egal: Momentan fehlt ein "End if". Kannst ganz leicht selbst durchzählen

Signatur
My name is Frank, you can say you to me.

    Mit Zitat antworten
Antwort


Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
XP deinstallieren und 2k installieren Pecker Windows Forum — Allgemein 2 31.01.2008 19:05
Software installieren/deinstallieren per GPO calibra22 Windows Server Forum 8 24.11.2007 19:51
Netzwerkkomponenten mit script deinstallieren erazer2005 Windows Forum — Allgemein 0 09.03.2005 11:56
Programm per Script deinstallieren? Zobus Windows Forum — Allgemein 1 04.03.2004 13:54


Alle Zeitangaben in MEZ/CET. Es ist jetzt 10:36 Uhr. Seite generiert in 0,066 Sekunden.

- Unsere Partner -

Copyright © 2000 – 2012 MCSEboard.de

Sprung zum Seitenanfang