我正在尝试一些在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打印到PDF
对于我的生活,我无法找出正确的格式来获得与3.0中完全相同的输出(无名称标题,包括“default =”和条目周围的引号)。我已经尝试了我能想到的一切,并在网上找到了无济于事。有人有主意吗?
试试这个:
$DefaultPrinter = "default=""$((Get-WmiObject win32_printer | Where-Object {$_.Default -eq $True}).Name)"""