niNeMedlem sedan maj 2005138 inlägg
Hejsan!
Är ganska stressad och är i stort behov av ett inloggningsscript som enkelt ska lägga till skrivaren för den klienten jag väljer att köra det på (samt ta bort de gamla, alt. rensa bort alla skrivare och bara köra in de som användaren ska ha).
Har kollat lite men får det inte att fungera så om någon kunde vara snäll att lägga in koden och förklara lite vart man ska lägga scriptfilen osv så vore jag ytterst tacksam.
Printerservern går på win2003 och klientmaskinerna är winxp rakt över. Skriptet startas genom AD.
Tacksam för snabba svar!
SjodahlMedlem sedan maj 20033 137 inlägg
Så här kan du lägga till en skrivare iallafall om du vill använda VB script.
Pre-requisites for Mapping Printers
1. You need a machine (server) with a shared printer.
Instructions for a simple Printer Logon Script
1. Copy and paste the script below into notepad.
2. Change the server name from "\\alan to the name of your print server.
3. Save the file with .vbs extension e.g. Printers.vbs.
4. Double click and then launch your Printers folder.
'
' Printers.vbs - Windows Logon Script.
Set objNetwork = CreateObject("WScript.Network")
objNetwork.AddWindowsPrinterConnection "\\alan\Epson"
SjodahlMedlem sedan maj 20033 137 inlägg
Och här kommer två förslag för hur man kan tabort alla skrivare:
(inte testat dem bara sökte lite snabbt)
Solution 1:
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set oPrinters = WshNetwork.EnumPrinterConnections
For i = 0 to oPrinters.Count -1
WScript.Echo oPrinters.Item(i)
if InStr(objPrinter.Name, "\\") > 0 then
WshNetwork.RemovePrinterConnection oPrinters.Item(i)
end if
Next
Solution 2:
strComputer = "."
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer")
For Each objPrinter in colInstalledPrinters
Wscript.Echo "Name: " & objPrinter.Name
Wscript.Echo "Location: " & objPrinter.Location
if InStr(objPrinter.Name, "\\") > 0 then
wscript.echo "Will delete: " & objPrinter.Name
' WshNetwork.RemovePrinterConnection objPrinter.Name
end if
Next