我对所有东西都使用 powershell 5.1 版。我的问题的背景是我正在使用 powershell DSC 为各种节点创建 Web 应用程序和应用程序池。对于除最后 2 个服务器之外的每个服务器,每个 Web 应用程序都有一个唯一的应用程序池,因此一切正常。在最后 2 台服务器上,由于内存问题,有几台正在共享应用程序池。我将给定站点的名称引用与服务帐户一起存储在节点数据中,然后在非节点数据中我放置更详细的详细信息(rt 版本、池名称等)。不使用连接这些数据没有问题连接对象库。我给将被重用的应用程序池提供了冗余名称,以便理想情况下我可以在排序后使用“Get-Unique”或将 -Unique 传递给排序操作。哈希表的集合似乎忽略了这一点(可能是因为它们本质上是唯一的,所以我是一个假人)。现在我已经多次讨论过这个类型,使用 add-member 等。我的代码很糟糕,所以最新版本如下。感谢您的任何有效输入。
$a = @()
$JoinedObject = Foreach ($SiteName in $Node.Sites)
{
$ConfigurationData.Sites | Where-Object {$_.Name -eq $SiteName[0]} | Foreach-Object{
$test =$_ | Select-object $_.PoolConfigName, $_.PoolName, $_.PoolRtVer | Sort-Object -Unique
}
foreach($i in $test)
{
if ($a -notcontains $i)
{
#write-host $i #, $i.GetType()
$a = $a + $i
}
}
#write-host $a
#Write-host $test, $test.Gettype()
#write-host $a[0] | select -Unique
#write-host $_.PoolName
#write-host $_.PoolRtVer
}
输出仍然包含重复项
@{ApEssRo=; EssWebServicesRO=; v4.0=} @{ApEssW=; EssWebServices=; v4.0=} @{ApEssRo=; EssWebServicesRO=; v4.0=} @{ApEssRo=; EssWebServicesRO=; v4.0=} @{ApEssRo=; EssWebServicesRO=; v4.0=} @{ApEssRo=; EssWeb
ServicesRO=; v4.0=} @{ApEssRo=; EssWebServicesRO=; v4.0=} @{ApEssRo=; EssWebServicesRO=; v4.0=} @{ApEssRo=; EssWebServicesRO=; v4.0=} @{ApEssRo=; EssWebServicesRO=; v4.0=} @{ApEssRo=; EssWebServicesRO=; v4
.0=} @{ApEssRo=; EssWebServicesRO=; v4.0=} @{ApEssRo=; EssWebServicesRO=; v4.0=} @{ApEssRo=; EssWebServicesRO=; v4.0=} @{ApEssRo=; EssWebServicesRO=; v4.0=} @{ApEssW=; EssWebServices=; v4.0=} @{ApEssOhr1=;
EssWebServicesOhr1=; v4.0=}