Veröffentlicht 30. August 200718 j Hi zusammen, ich schreibe gerade ein neues Logonscript für die Firma so richtig schön mit Ausgabefenster und so Spielereien. Nun möchte ich noch ein VBS einbauen welches mir alle freigegebenen Drucker verbinden und einen als Standard definiert bei allen Usern der gleiche Drucker. Hat einer von Euch ein passendes Script zur Hand? Bei google findsch nix passendes nur OU abhängige.
30. August 200718 j Set WshNetwork = Wscript.CreateObject("Wscript.Network") WshNetwork.AddWindowsPrinterConnection "Dein Drucker" Dies geht aber nur bei Netzwerkdruckern
30. August 200718 j Autor Sind alles Netzwerkdrucker aber ich will ja wirklich alle mit dem User verbinden und für alle ein und denselben als Standard difinieren. Wie mach ich das denn dann? Also erstmal wie mache ich das er mehrere verbindet? Am besten die aktuellen vorher trennt dann neu verbindet (beim anmelden an der Domäne) und deinen speziellen davon als default?!
30. August 200718 j Um wieviele Drucker handelt es sich denn? Sonst wiederhole den Befehl einfach und setzte geweils deine einzelnen Drucker ein. Eine andere Möglichkeit kenne/kann ich nicht
31. August 200718 j Autor Ok ich habe das Script soweit fertig indem ich den Befehl wiederholt habe aber we definiere ich nun einen Default printer innerhalb des Scripts?
31. August 200718 j Autor So Default hab ich auch hinbekommen, dass einzige und letzte was ich nun noch brauche ist, dass er alle bestehenden Druckerverbindungen erst trennt und dann neu verbindet, gibt es hier eine IF variable oder so die ich einbauen kann?!
31. August 200718 j Option Explicit '* Variablen Dim objNetwork, objPrinters Dim intLoop Dim blnDOS, blnWin '* Presets blnDOS = vbTrue blnWin = vbTrue '* Kommandozeile auswerten if Wscript.Arguments.Count > 0 then for intLoop = 0 to Wscript.Arguments.Count-1 if ucase(WScript.Arguments.Item(intLoop)) = "/D" then blnDOS = vbFalse if ucase(WScript.Arguments.Item(intLoop)) = "/W" then blnWin = vbFalse next end if if (not blnDOS) AND (not blnWin) then WScript.Quit '* Netzdrucker auf dem aktuellen System suchen und Trennen Set objNetwork = WScript.CreateObject("WScript.Network") Set objPrinters = objNetwork.EnumPrinterConnections For intLoop = 0 to objPrinters.Count - 1 Step 2 If (Left(objPrinters.Item(intLoop+1),2)="\\") then If (UCase(Left(objPrinters.Item(intLoop),3))="LPT") AND blnDOS then objNetwork.RemovePrinterConnection objPrinters.Item(intLoop),-1,-1 ElseIf blnWin then objNetwork.RemovePrinterConnection objPrinters.Item(intLoop+1),-1,-1 End If End If Next WScript.Quit Damit sollten alle Netzwerkdrucker entfernt werden. Um einen Defalt zu setzten hatte ich noch keine zeit, kannst du mir aber sagen wie du ihn default gesetzt hast?
31. August 200718 j Autor Den Default habe ich so gesetzt: WSHNetwork.SetDefaultPrinter "\\Server\Drucker"
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.