我有一个包含两个组合框的脚本。第一个选择位置,第二个根据第一个组合框selecteditem填充,并显示该位置的可用打印机名称。
我经常看到的是,列表中所有项目都有重复。下面的代码;
$Hospital = Get-Printer -ComputerName \\PrintServer | where {$_.Name -like “*Name*”}
$ComboBox_Location.Add_SelectedIndexChanged{
switch ($ComboBox_Location.SelectedItem){
"Hospital"{
$ComboBox_Printer.Items.Clear();
foreach($Name in $Hospital){
$ComboBox_Printer.Items.Add("$($Name.name)");
}
}
如果需要,我可以提供更多代码。我相信问题出在此特定代码中,但您可以另外告诉我。我还取出了(“ $($ Name.name)”)并替换为“ $ Name.name”,以下是测试结果;
MSFT_Printer(Name =“ PrinterName”) MSFT_3DPrinter(Name =“ PrinterName”)
他们是同一个名字。它是重复的。我的打印服务器是否需要更改?
谢谢!
答案 0 :(得分:1)
我发现了问题所在。设备类型未定义。它应该是;
$Hospital = Get-Printer -ComputerName \\PrintServer | where {($_.Name -like “*Name*”) -and ($_.DeviceType -eq "Print")}
这将其他类型的设备(例如3DPrinter)排除在列表之外。