Задача: Открывается новый офис и часть пользователей со своими ПК переезжают на новое место. Необходимо чтобы у пользователей удалились старые принтеры и подключились новые.
Решение: написать логон скрипт групповой политики на VBS.
В скрипте будут указаны
переменные соответствующие 3 принтерам.
Сначала скрипт удаляет все
сетевые принтеры за исключением указанных трех, т.к. необходимо удалить все старые принтеры, а исключение сделано чтобы при каждом последующем запуске скрипта он не удалял новые принтеры.
Далее скрипт добавляет 3 принтера
указанные в тех же переменных.
Преимущество этой политики в том, что ее можно будет включить на неделю и после отработки на всех пользователях, ее можно отключить.
При изменении списка принтеров
достаточно отредактировать переменные в скрипте, вынесенные отдельно в
начале скрипта.
Скрипт:
' Script to add printers and to remove existing network printers except specified in script
On Error resume Next ' otherwise users will get errors on subsequent reconnections
' Create the variable to hold printer connections
Dim NewPrinters , DelPrinters
' Create variables for each printer string
' You can create as many as you like here
Dim Printer_1, Printer_2, Printer_3
' Initialise our printers
Printer_1 = "\\msc-print01\SiegePRN031"
Printer_2 = "\\msc-print01\SiegePRN032"
Printer_3 = "\\msc-print01\SiegePRN033"
Set DelPrinters = CreateObject("WScript.Network")
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colPrinters = objWMIService.ExecQuery("Select * From Win32_Printer Where Network = TRUE")
For Each objPrinter in colPrinters
If objPrinter.Name <> Printer_1 and objPrinter.Name <> Printer_2 and objPrinter.Name <> Printer_3 Then
strPrinter = objPrinter.Name
DelPrinters.RemovePrinterConnection strPrinter
End If
Next
' Initialise the printer connections object
Set NewPrinters = CreateObject("WScript.Network")
' Connect each of our printers
NewPrinters.AddWindowsPrinterConnection Printer_1
NewPrinters.AddWindowsPrinterConnection Printer_2
NewPrinters.AddWindowsPrinterConnection Printer_3
WScript.Quit