Powershell 通过csv文件问题将新打印机添加到新打印服务器

Powershell 通过csv文件问题将新打印机添加到新打印服务器,powershell,csv,printing,export-to-csv,Powershell,Csv,Printing,Export To Csv,我希望有人能在那里帮助我!;-) 首先,我需要做的是通过从2个现有打印服务器导入打印机来创建一个新的打印服务器。在每台服务器上,我通过以下PowerShell脚本导出端口: Get-PrinterPort -ComputerName 16MOS001045 | export-csv -NoTypeInformation C:\temp\printer-ports.csv -Encoding UTF8 这为我创建了一个包含所有当前端口的csv文件。然后,我用新端口替换该文件中的所有端口名(之前端

我希望有人能在那里帮助我!;-)

首先,我需要做的是通过从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}
    }

我的问题是,我是否因为更改了csv文件中的信息而出现此错误?因为如果导入文件而不进行修改,端口将添加到新的打印服务器。导入此csv文件并进行修改的过程是什么

还是有更简单的方法?此外,我还有另一个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}
    }
我希望有点清楚


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

“-PrinterHostAddress”的$($line.Name)不正确,它应该是IP地址

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

祝你好运

我已经试过了,不能重复你的错误。您在CSV文件中做了哪些更改?这是最好的开始。你“引用”了你的新名字吗?@ShamusBerube,我的原始邮件上有两个截图,一个带有Jr01I0001的是原始导出,一个带有Ip的是我试图导入的。我修改了原稿,删除了名称,将其替换为IP。如果将打印机名称改为IP地址,会发生什么?嗨,Aaron,谢谢你的回答。我试过了,仍然有同样的错误。