使用变量中的/Powershell 获取默认打印机共享名称
Get Default Printer ShareName w/ Powershell in Variable
我正在尝试将当前默认打印机存储在 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
个 key/values。我推荐两个选项:
- 使用
ExpandProperty
到return只有sharename
的值。即 ... | select -expandproperty sharename
.
-
sharename
属性。即 Add-Printer -ConnectionName "\printsrv01$($default_printer.sharename)"
在你的情况下你想要一个 属性 所以第一个选项是好的。如果您选择多个属性,则后者是正确的选择。
我正在尝试将当前默认打印机存储在 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
个 key/values。我推荐两个选项:
- 使用
ExpandProperty
到return只有sharename
的值。即... | select -expandproperty sharename
. -
sharename
属性。即Add-Printer -ConnectionName "\printsrv01$($default_printer.sharename)"
在你的情况下你想要一个 属性 所以第一个选项是好的。如果您选择多个属性,则后者是正确的选择。