Добавить новый принтер на новый сервер печати из-за проблемы csv files - PullRequest
0 голосов
/ 26 февраля 2020

Я надеюсь, что кто-то может помочь мне там! ; -)

Во-первых, мне нужно создать новый сервер печати, импортировав принтеры с двух существующих серверов печати. На каждом сервере я экспортирую порты с помощью этого сценария PowerShell:

Get-PrinterPort -ComputerName 16MOS001045 | export-csv -NoTypeInformation C:\temp\printer-ports.csv -Encoding UTF8

Это создало для меня файл csv со всеми моими текущими портами. Затем я заменяю все имена портов в этом файле новыми портами (до того, как имя порта было именем принтера, и мы изменили IP-адреса). Затем я пытаюсь импортировать этот файл csv на мой новый сервер печати через этот скрипт PowerShell, но я получаю сообщение об ошибке.

$PrintServer = "16MOS191005"
$PrinterPortsCsvList = Import-csv C:\temp\printer-ports.csv
$i = 1
foreach ($line in $PrinterPortsCsvList)
    {
    Add-PrinterPort -Name $line.Name -PrinterHostAddress $line.Name -ComputerName $PrintServer -verbose
    if ($i -le 5) {$i++; &pause}
    }

Сообщение об ошибке

Мой вопрос здесь есть ли у меня эта ошибка, потому что я изменил информацию в файле CSV? Потому что, если я импортирую файл без изменения, порты будут добавлены на мой новый сервер печати. Какова процедура импорта этого CSV-файла с моими изменениями?

Или есть более простой способ сделать это? Кроме того, у меня есть другой файл CSV, который я изменил со всеми переименованными принтерами с новой номенклатурой, но у меня также есть ошибка.

Надеюсь, это немного ясно ...

CSV-файлы Содержимое перед именами, а затем с ip's

1 Ответ

0 голосов
/ 27 февраля 2020

$ line.name является объектом powershell. Имя только принимает строки. Если вы оберните объект $ (), он выведет строку.

$ ($ line.Name) неверно для "-PrinterHostAddress", это должен быть IP-адрес.

Add-PrinterPort -Name $($line.Name) -PrinterHostAddress $($line.Name)  -ComputerName $PrintServer -verbose

Удачи

...