Объединить два похожих объекта PSObject.

после выполнения запроса Get-ADObject я получил два PSObjects (для 2 отдельных OU), назовем их $query1 и $query2, которые содержат Member-Objects типа

Selected.Microsoft.ActiveDirectory.Management.ADObject

Теперь я хочу объединить эти два объекта PSObject, $query1 и $query2, в один объект PSObject, содержащий объекты ADObject обоих запросов, но я действительно не знаю, как это сделать.


person omni    schedule 29.11.2012    source источник


Ответы (1)


Я быстро протестировал это с массивами, и он должен работать с коллекцией объектов AD (просто нет времени проверить это прямо сейчас). Если это не так, дайте мне знать, есть более явный, хотя и более подробный метод.

$combined = @()
$combined += $query1
$combined += $query2
person EBGreen    schedule 29.11.2012
comment
это не то, что я хочу. если я это сделаю, то я получу другой уровень. Фактически, здесь я создаю новую HashTable (PSObject) с ключами Query1 и Query2 и (старыми) PSObjects в качестве их значений. Но мне не нужен этот дополнительный уровень. - person omni; 29.11.2012
comment
Ну это не HashTable. в один единственный PSObject, который содержит ADObjects на основе этого, чтобы содержать два объекта, по определению потребовался бы другой уровень для контейнера. Если вы имеете в виду, что вам нужен объект, который имеет все свойства этих объектов, то вы, по сути, делаете то же самое, но добавляете каждое свойство по одному. - person EBGreen; 29.11.2012
comment
Вы даже можете использовать командлет Get-Member с параметром -MemberType, чтобы получить список всех свойств одного из объектов. - person EBGreen; 29.11.2012
comment
Итак, позвольте мне уточнить: мне нужен один единственный PSObject, который НЕПОСРЕДСТВЕННО (без другого уровня) содержит каждый отдельный Member-Object (который имеет тип ADObject) из двух исходных PSObject. Я не хочу, чтобы PSObject содержал два объекта PSObject, содержащих объекты ADObject. Обращение к исходному PSObject с использованием метода Get-Member не помогло мне, так как мне пришлось бы добавлять членов в новый PSObject и назначать им ney $keys. Однако, может быть, вы говорите о другом конструктиве - было бы здорово привести пример. - person omni; 30.11.2012
comment
Ооо... Теперь я понимаю. Извините за путаницу. Вы сказали, что член, и мой мозг услышал член объекта (методы и свойства), а не членов AD OU. Я внесу поправку. - person EBGreen; 30.11.2012
comment
Вы, сэр, спасли мой день. Спасибо! - person omni; 30.11.2012