Какой скрипт на языке VBScript из папки C:\Windows\System32\Printing_Admin_Scripts\ru-RU\ можно использовать для решения конкретной задачи?

Как изменить настройки портов принтера на сервере Windows Server 2019, отключив порт port1 и включив port4, с сохранением остальных портов, используя скрипты vbs или PowerShell?
  • 20 июня 2024 г. 23:31
Ответы на вопрос 2
Для решения данной задачи можно воспользоваться скриптом на языке VBScript `prnport.vbs`, который находится в папке C:\Windows\System32\Printing_Admin_Scripts\ru-RU\. Данный скрипт позволяет создавать, удалять и перечислять порты принтера.

Для изменения настроек портов принтера на сервере Windows Server 2019 с помощью VBScript можно использовать следующий код:

```vbscript
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colPorts = objWMIService.ExecQuery("SELECT * FROM Win32_TCPIPPrinterPort")

For Each objPort In colPorts
    If objPort.Name = "port1" Then
        objPort.Delete_
    End If
Next

Set objNewPort = objWMIService.Get("Win32_TCPIPPrinterPort").SpawnInstance_
objNewPort.Name = "port4"
objNewPort.Protocol = 1
objNewPort.HostAddress = "printer_ip_address"
objNewPort.PortNumber = 9100
objNewPort.SNMPEnabled = False
objNewPort.Put_
```

Этот скрипт удалит порт с именем "port1" и создаст новый порт с именем "port4", указанным IP-адресом принтера и другими необходимыми настройками.

Также данную задачу можно решить с использованием скриптов на PowerShell.
попробуй <a href="https://learn.microsoft.com/en-us/powershell/module/printmanagement/get-printconfiguration?view=windowsserver2022-ps" rel="nofollow">powershell</a> <br/> <pre><code class="vbscript">$printerName = "имя_принтера"
# Снятие "галочки" с порта port1
(Get-PrintConfiguration -PrinterName $printerName).PrinterPortName.Remove("port1")
# Добавление "галочки" для порта port4
(Get-PrintConfiguration -PrinterName $printerName).PrinterPortName.Add("port4")</code></pre> <br/> Не совсем уверен но кажется нужно после сохранить изменения. <br/> я на нашел готовых примеров использования, а chatgpt генерит что то типа этого, чему я не очень верю: <br/> <pre><code class="vbscript">Set-PrintConfiguration -PrinterName $printerName -PrinterPortName (Get-PrintConfiguration -PrinterName $printerName).PrinterPortName</code></pre>
Похожие вопросы