我正在尝试在Powershell 3.0中进行一些简单的操作,但是在Powershell 2.0中却很难实现。我只是在获取配置文件的默认打印机,并以以下格式输出到文本文件:
默认=“ 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 =”和引号)。我已经尝试了所有可以想到的方法,但在网上却没有结果。有人有什么想法吗?
答案 0 :(得分:1)
尝试一下:
$DefaultPrinter = "default=""$((Get-WmiObject win32_printer | Where-Object {$_.Default -eq $True}).Name)"""