我有以下问题。我想将我的默认打印机名称输出到.txt文件,以便在另一个脚本中使用,将此打印机设置为其他计算机的默认值。我使用的查询是:
Get-WmiObject -query "select * from win32_printer where default=$true"
它给了我这个数据:
Location : xxxx
Name : \\printserver\nameofprinter
PrinterState : 0
PrinterStatus : 3
ShareName : nameofprinter
SystemName : \\printserver
但我希望查询在我Out-File它时只给我“Name”的值。到目前为止,我使用了Format-List -Property Name。但这输出了整条线。我只想在我的outfile中使用“\ Printerserver \ nameofprinter”。
答案 0 :(得分:2)
Get-WmiObject -query "select * from win32_printer where default=$true" | select -ExpandProperty Name
答案 1 :(得分:0)
或者:
Get-WmiObject -query "select * from win32_printer where default=$true" | select -ExpandProperty Name
OR
(Get-WmiObject -query "select * from win32_printer where default=$true").Name
会做你想做的事。
希望这有帮助
编辑: 由于您只想编写一个存在打印机的文件,请尝试以下内容(使用打印机进行测试,但我没有卸载所有打印机以进行测试!)
if ( $printerName = (Get-WmiObject -query "select * from win32_printer where default=$true").Name ) { New-Item "C:\folder\printer.txt" -type file -Value $printerName -force }