应用switch命令,使用powershell在树视图中填充OU的数据



我正在尝试使用powershell在树视图中填充OU数据。我试图通过使用switch命令而不是If else来做这件事,但作为得到了一个错误

ERROR: + ...             $_.Node.Nodes[$OU.Path].Nodes.Add($OU.Properties['name'], ...
ERROR: +                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ERROR:     + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
ERROR:     + FullyQualifiedErrorId : NullArray
ERROR:
ERROR: Cannot index into a null array.

有人能建议我们在这种情况下如何使用Switch命令吗。?

下面是我正在使用的切换命令:

switch ($ou.Properties['name'])
{
"TestAdmin"
{
# OU Path
$OUPath = "OU=TestAdmin, OU=$OUIT, OU=$BaseOU, $OUBaseDomain"
# Gather users within the OU
$GatheredUsers = (Get-ADUser -Filter * -SearchBase "$OUPath" -SearchScope OneLevel -Properties Name -ErrorAction SilentlyContinue).Name
# Populate tree with Users Gathered
foreach ($User in $GatheredUsers)
{
#$_.Node.Nodes.Add($OU.Path, "$User", "$User").ImageIndex = 2
$_.Node.Nodes[$OU.Path].Nodes.Add($OU.Properties['name'], "$User", "$User").ImageIndex = 2
}
}
}

问题出现在foreach循环中:

foreach ($User in $GatheredUsers)
{
$_.Node.Nodes[$OU.Path].Nodes.Add($OU.Properties['name'], "$User", "$User").ImageIndex = 2
}

$_包含管道对象中的当前对象。由于没有管道,并且使用带有命名变量($User(的foreach,因此$_变量为空,不引用任何内容,因此会出现错误消息。

即CCD_ 6在此时是如何构造的。

您必须将$_替换为树视图控件对象。

最新更新