首页 > 解决方案 > Powershell 2.0 默认打印机输出文件问题

问题描述

我正在尝试一些在 Powershell 3.0 中很简单的东西,但在 Powershell 2.0 中我很难实现。我只是抓取配置文件的默认打印机并以以下格式输出到文本文件:

default="Microsoft 打印到 PDF"

在使用以下行完成的 Powershell 3.0 中:

$DefaultPrinter = 'default="' + (Get-WmiObject win32_printer | Where-Object Default -eq $True).Name + '"'
$DefaultPrinter | out-file $File -encoding utf8

我了解到,Powershell 2.0 根本不喜欢这样。因此,经过一些尝试,我得到了几乎类似的错误:

$DefaultPrinter = Get-WmiObject win32_printer | Where-Object {$_.Default -eq $True} | ft Name
$DefaultPrinter | out-file $File -encoding utf8

但是,现在的输出是:

名称
----
Microsoft Print to PDF

对于我的一生,我无法找出正确的格式来获得与 3.0 中完全相同的输出(没有 NAME 标题,包括“default =”和条目周围的引号)。我已经尝试了我能想到的一切,但在网上无济于事。有人有想法么?

标签: powershellprintingpowershell-2.0default

解决方案


尝试这个:

$DefaultPrinter = "default=""$((Get-WmiObject win32_printer | Where-Object {$_.Default -eq $True}).Name)"""

推荐阅读