使用变量获取带有Powershell的默认打印机ShareName

时间:2019-03-21 20:40:22

标签: powershell automation printers

我试图将当前的默认打印机存储在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
 ---------

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

Select-Object将创建一个{/ {1}}键/值。我建议两个选择:

  1. 使用PSCustomObject仅返回ExpandProperty的值。即sharename
  2. ... | select -expandproperty sharename属性。即sharename

在您的情况下,您需要一个属性,因此第一个选择是好的。如果您要选择多个属性,那么后者是可行的方法。