【发布时间】:2022-01-03 06:10:15
【问题描述】:
这应该很简单,但 powershell 没有给我一个有效的输出。 我愿意接受其他方式来处理这个问题。 在高层次上,如果建议使用另一个选项,我需要可以从函数的参数中使用的东西。
这是我想要做的:
$PrinterPermissions =
@(
@('Administrators', 'ManagePrinters','Allow'),
@('Power Users', 'ManagePrinters','Allow'),
@('Print Operators', 'ManagePrinters','Allow'),
@('OHD – Network Support Team', 'ManagePrinters','Allow'),
@("OHD – PC Support Team", 'ManageDocuments','Allow'),
@("OHD - Service Desk Users", 'ManageDocuments','Allow')
)
$PrinterPermissions += @("gprt_PrinterA","ManageDocuments","Allow")
要访问我希望这样称呼它的对象:
$PrinterPermissions[0][0] *= Administrators*
$PrinterPermissions[0][1] *= ManagePrinters*
$PrinterPermissions[0][2] *= Allow*
但是,当我将新添加的对象调用到数组中时,前 6 个对象可以正常工作,但新添加的对象功能如下:
$PrinterPermissions[6] = gprt_PrinterA
$PrinterPermissions[6][0] = g
$PrinterPermissions[6][1] = p
$PrinterPermissions[6][2] = r
$PrinterPermissions[7] = ManageDocuments
$PrinterPermissions[8] = Allow
我想要的是新添加的项目在数组中作为前 6 个项目起作用。所以我可以动态添加到数组中。我做错了什么。
【问题讨论】:
-
集合的集合使用起来非常尴尬。相反,我会创建一个包含 PSCustomObjects 的 generic.list。
标签: arrays powershell