У меня есть массив, содержащий список баз данных, серверов и узлов кластера, на которых размещены эти серверы. Я хочу разделить эту группу на 4 подгруппы, по одной для каждого узла. Как я могу это сделать?
План состоит в том, чтобы процесс проходил через каждую подгруппу. Это дает мне основную группу.
$Networks | %{
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SMO") | out-null
$Srv = New-Object Microsoft.SqlServer.Management.Smo.Server $_.DataSource
$results += [PSCustomObject]@{
NetworkInternalCode = $_.NetworkInternalCode
DataSource = $_.DataSource
InitialCatalog = $_.InitialCatalog
ReportingDataSource = $_.ReportingDataSource
ReportingInitialCatalog = $_.ReportingInitialCatalog
HostNode = $Srv.ComputerNamePhysicalNetBIOS
}
}
Это дает мне массив
NetworkInternalCode : coal
DataSource : d03\dev
InitialCatalog : devcoal
ReportingDataSource : d03\dev
ReportingInitialCatalog : reporting_devcoal
HostNode : SQLD03
NetworkInternalCode : lemons
DataSource : d02\dev
InitialCatalog : devlemons
ReportingDataSource : d02\dev
ReportingInitialCatalog : reporting_devlemons
HostNode : SQLD06
NetworkInternalCode : coal
DataSource : d05\dev
InitialCatalog : devoranges
ReportingDataSource : d05\dev
ReportingInitialCatalog : reporting_devcoranges
HostNode : SQLD07
NetworkInternalCode : apples
DataSource : d08\dev
InitialCatalog : devapples
ReportingDataSource : d08\dev
ReportingInitialCatalog : reporting_devcapples
HostNode : SQLD09
Когда я запрашиваю его, я получаю 4 имени узла
$results | Select -ExpandProperty HostNode -Unique
SQLD03
SQLD06
SQLD09
SQLD07