Powershell比较运算符在尝试与命令输出进行比较时不起作用

问题描述 投票:0回答:1

我是Powershell脚本的新手,因此,如果我做的明显错误,抱歉。

这里是脚本的某些地方不起作用:

$PrinterList= Get-WMIObject -ClassName Win32_Printer |Select-Object Name
$SelectedPrinter = "Microsoft Print to PDF"

if( $Printerlist -NotContains $SelectedPrinter ){[void][System.Windows.MessageBox]::Show("Failure!")}
Else{[void][System.Windows.MessageBox]::Show("success")}

这是$ PrinterList在我的计算机上的输出:

OneNoteMicrosoft XPS文档编写器Microsoft列印成PDF传真

您可以看到$ SelectedPrinter应该包含在$ PrinterList中,但是当我运行脚本时,它会返回,好像没有。我究竟做错了什么?

.net powershell
1个回答
0
投票

尝试if($Printerlist.Name -NotContains $SelectedPrinter){}

或离开if($Printerlist -NotContains $SelectedPrinter){}

并更改为$PrinterList = (Get-WMIObject -ClassName Win32_Printer |Select-Object Name).Name

© www.soinside.com 2019 - 2024. All rights reserved.