【发布时间】:2017-12-27 20:17:16
【问题描述】:
我正在尝试创建一个 PowerShelll 脚本,它首先检查打印机列表是否已经映射。如果列表中的打印机未映射,它将映射打印机。
单独检查打印机可以正常工作。当我创建一个数组和一个 for 循环时,由于打印机名称错误,它停止工作。
我似乎无法访问数组的单个项目。
这是我当前的代码 sn-p:
[string[]] $printernames = "Buero Drucker","hase"
for($i = 0; $i -lt $printernames.Length; $i++)
{
$printerexists = [Boolean](Get-WmiObject win32_printer -Filter "Name = $printernames[$i]")
Write-Host "Printer $printernames[$i] exists: $printerexists"
}
现在当调用$printernames[0] 时,我希望得到以下信息:
"Buero Drucker"
相反,我收到以下内容:
"Buero Drucker hase[0]"
这个变量似乎不是一个真正的数组,但我不知道为什么。
===== 编辑=====
for 循环可以正常工作并迭代 2 次。因此,我希望数组创建是正确的,但变量的访问是错误的
我已经检查了变量 $i。控制台输出如下:
Printer Buero Drucker hase[0] exists: False
Printer Buero Drucker hase[1] exists: False
【问题讨论】:
标签: arrays powershell for-loop