nixblicker
Goto Top

Im Logonscript MSTerminalserver2003 KIX alle Drucker löschen

Hallo,
ich arbeite mit MSTS2003 und rufe beim Userlogon mein kix für meine Net-Shares und Net-Printers auf. Alle User haben veränderbare Profile, deshalb sollten in diesem Kix zuerst alle Net-Printer gelöscht werden.
Kennt einen KIX-Befehl der alle Drucker löscht?

Content-ID: 21265

Url: https://administrator.de/contentid/21265

Ausgedruckt am: 25.11.2024 um 20:11 Uhr

superboh
superboh 09.12.2005 um 19:12:05 Uhr
Goto Top
Hi,

einen direkten Befehl gibt es nicht, aber man kann sich was selbst stricken.
Versuch mal folgendes:

$Index = 0
$TempPrinter = ""

;Erstellt eine Liste mit allen installierten Druckern

Dim $PrinterArray[40]
:Loop
If @16034=0
$TempPrinter = $TempPrinter + EnumValue("HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts",$Index) + ","
$Index = $Index + 1
GoTo "Loop"
EndIf

$TempPrinter = Trim($TempPrinter)
$Length = Len("$TempPrinter") - 2
$TempPrinter = Left("$TempPrinter","$Length")
$PrinterArray = Split("$TempPrinter",",")


;trennt alle Netzwerkdrucker

For $Count = 0 to $Index-2
? $PrinterArray[$Count]
;$rc=DelPrinterConnection ($PrinterArray[$Count])
Next

Gruss,
Thomas
gogoflash
gogoflash 11.12.2005 um 03:31:30 Uhr
Goto Top
Hi,

im Prinzip das gleiche wie das Skript von Superboh nur eine Variante davon.

Sei ServerA der Druckserver.

Break off
SetConsole("Hide")
FlushKB
$ps01="ServerA"
$index = 0
Do
$keyname = EnumKey ("HKEY_CURRENT_USER\Printers\Connections",$index)

Select
Case InStr ("$keyname","$ps01") <> 0
DelKey ("HKEY_CURRENT_USER\Printers\Connections\$keyname")

Case 1
$index = $index + 1

EndSelect

Until @16034 <> 0

exit


Gruß Miguel