【问题标题】:Add new printer to a new print server through csv files problem通过 csv 文件问题将新打印机添加到新打印服务器
【发布时间】:2020-02-26 15:22:44
【问题描述】:

我希望有人可以帮助我! ;-)

首先,我需要做的是通过从 2 个现有打印服务器导入打印机来创建一个新的打印服务器。在每台服务器上,我通过这个 PowerShell 脚本导出端口:

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

这为我创建了一个包含我当前所有端口的 csv 文件。然后我用新端口替换此文件中的所有端口名称(在端口名称是打印机名称之前,我们更改为 IP 地址)。然后我尝试通过这个 PowerShell 脚本在我的新打印服务器上导入这个 csv 文件,但是我收到一个错误。

$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}
    }

Error Message

我的问题是,我有这个错误是因为我更改了 csv 文件中的信息吗?因为如果我在不修改的情况下导入文件,端口就会添加到我的新打印服务器中。用我的修改导入这个 csv 文件的过程是什么?

或者有更简单的方法吗?此外,我还有另一个 csv 文件,我用所有重命名的打印机使用新命名法对其进行了修改,但我也有一个错误。

我希望它有点清楚......

CSV files Contents before with names and then with ip's

【问题讨论】:

  • 我已经尝试过了,无法复制您的错误。您对 CSV 文件做了哪些更改?那是最好的起点。你“引用”了你的新名字吗?
  • @ShamusBerube,我的原始消息有 2 个屏幕截图,带有 Jr01I0001 的屏幕是原始导出,带有 Ip 的屏幕是我要导入的屏幕。我通过将名称替换为 ip 来修改原始名称
  • 如果将 PrinterHostAdress 设为 IP 地址而不是打印机名称会怎样?

标签: powershell csv printing export-to-csv


【解决方案1】:

$line.name 是一个 powershell 对象。 -Name 只接受字符串。如果用 $() 包装对象,它将输出一个字符串。

$($line.Name) 对于“-PrinterHostAddress”不正确,它应该是一个 IP 地址。

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

祝你好运

【讨论】:

  • 嗨亚伦,谢谢你的回答。我试过了,还是一样的错误。
猜你喜欢
  • 2019-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多