我正在尝试将当前默认打印机存储在Powershell中的变量中,以使用其他打印服务器添加此名称。我用来存储这个名字的命令是:
$default_printer = Get-WMIObject -Query " SELECT * FROM Win32_Printer WHERE Default=$true" | where{$_.Name -like "*\\*"} | select sharename
这将为我提供:
sharename
---------
WI_IT-Test
当我尝试使用以下命令设置新打印机时出现问题:
Add-Printer -ConnectionName \\printsrv01\$default_printer
我相信当我在开头设置变量时,它还存储字符串“sharename ---------”以及打印机的名称。我如何只抓取打印机名称而不是......
sharename
---------
任何帮助,将不胜感激!
Select-Object
将创建一个关键/值的PSCustomObject
。我建议两个选择:
ExpandProperty
仅返回sharename
的值。即... | select -expandproperty sharename
。sharename
财产。即Add-Printer -ConnectionName "\\printsrv01\$($default_printer.sharename)"
在你的情况下,你想要一个属性,所以第一个选项是好的。如果您选择多个属性,后者就是您的选择。