PowerShell v2 添加打印机

PowerShell v2 Adding a Printer

我正在尝试创建一个 PowerShell 脚本,它允许我添加和配置具有 3 个打印机实例的打印机。这是我目前所拥有的:

# Printer Info
$printerID = "HP Designjet Z3200 24in Photo"
$printerID1 = "HP Designjet Z3200 24in Photo - Canvas"
$printerID2 = "HP Designjet Z3200 24in Photo - Cover"
$printerIP = Read-Host 'What is the Poster Printer IP Address?'
$printerPort = "IP_$printerIP"
$printerModel = "HP Designjet Z3200 24in Photo"
# Speak with Ted about a specific place to put the poster driver pre-extracted
$driverINFPath = "C:\Velocity\HP WFP\Driver\hpdjz3200serieswx64pcl\hpi32pxs.inf"

# Build a new Local TCP Printer Port, naming it with values unique to the Printer ID:
$newPort = ([wmiclass]"Win32_TcpIpPrinterPort").CreateInstance()
$newPort.HostAddress = $printerIP
$newPort.Name = $printerPort
$newPort.Put()

# Add the printer
printui.exe /if /b "$printerID" /f "$driverINFPath" /u /r "$printerPort" /m "$printerModel"
printui.exe /if /b "$printerID1" /f "$driverINFPath" /u /r "$printerPort" /m "$printerModel"
printui.exe /if /b "$printerID2" /f "$driverINFPath" /u /r "$printerPort" /m "$printerModel"

我从早期的 post 中复制了脚本端口部分的部分。我试图弄清楚 .Put() 是什么,但我无法在任何地方找到它。任何帮助将非常感激。

...Windows PowerShell accesses WMI through the .NET Framework and System.Management class. Rather than using SWbemObject, Windows PowerShell uses the System.Management.ManagementObject class. For better or worse, this class uses a method named Put to save changes to a read-write property.

来自 TechNet,实际上是将 VBScript Put_ 与 PowerShell Put() 调用进行比较。