Получить имя принтера по умолчанию ShareName ж / Powershell в переменной - PullRequest
1 голос
/ 21 марта 2019

Я пытаюсь сохранить текущий принтер по умолчанию в переменной в 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 голосов
/ 25 марта 2019

Select-Object создаст PSCustomObject ключа / значений.Я бы порекомендовал два варианта:

  1. Используйте ExpandProperty, чтобы вернуть только значение sharename.то есть ... | select -expandproperty sharename.
  2. свойство sharename.то есть Add-Printer -ConnectionName "\\printsrv01\$($default_printer.sharename)"

В вашем случае вам нужно одно свойство, поэтому первый вариант хорош.Если вы выбираете несколько свойств, последний путь.

...