powershell - 在变量中使用 Powershell 获取默认打印机共享名称
问题描述
我正在尝试将当前默认打印机存储在 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
。IEAdd-Printer -ConnectionName "\\printsrv01\$($default_printer.sharename)"
在你的情况下,你想要一个单一的财产,所以第一个选择是好的。如果您选择多个属性,则后者是要走的路。
推荐阅读
- docker - 在 Dockerfile 中的 ElasticSearch 上安装插件失败并出现 SSL 错误
- google-app-engine - 可以将多少个 SSL 证书(任何受支持的类型)添加到单个 Google AppEngine?
- javascript - 通过 id 将类添加到数据表行
- python - Youtube上传api
- azure - Azure 帐户中的多个订阅流式传输到单个 EventHub
- ios - 创建与在 SwiftUI 中输入的数字一样多的文本字段
- kotlin - Jackson 跳过字段序列化 - 自定义配置
- php - 有没有办法在 php 循环中获取行的唯一隐藏输入?我只得到最后一个值
- python - Keras 中使用 keras.losses.CategoricalCrossentropy 的自定义指标
- c# - 从数据表中多线程读取 - C#