Получить родительское свойство в child select в Powershell? - PullRequest
1 голос
/ 28 января 2010

Я хочу включить свойство родительского уровня в дочерний набор результатов в Powershell, и я не могу понять, как это сделать.Примером того, что я хочу сделать, является включение ServerName в качестве первого столбца канала для получения DatabaseName и списка свойств базы данных всех баз данных на сервере, аналогичных:

[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null
$s = New-Object ('Microsoft.SqlServer.Management.Smo.Server') "SQLSERVER"

$s.Databases | select $s.Name, Name, AutoShrink, AutoClose

Это упрощенный пример того, что я пытаюсь сделать (я мог бы легко использовать свойство Database Parent для получения $ s.Name), но у меня есть гораздо более сложные приложения, где я хотел бы использовать эту похожую методологию и Parentсобственность не то, что я после.Также, если бы я мог использовать псевдоним $ s.Name как ServerName, а $ _. Name как DatabaseName, это было бы идеальным выходом.

РЕДАКТИРОВАТЬ:

Я потратил два дня на поиск того, каксделать это онлайн и не могу найти ссылку.Если вы случайно встретитесь с Google / Bing / каким бы то ни было ответом, если бы вы также поделились тем, что использовали, чтобы найти его, я был бы очень признателен.Обычно я могу найти ответы на вопросы, но через два дня я просто бросаю хорошее время после плохого.

1 Ответ

3 голосов
/ 28 января 2010

Разве вам не нужна родительская собственность?

$s.Databases | select Parent, Name, AutoShrink

Edit:

$s.Databases | select @{Name="ServerPlatform"; Expression={$_.Parent.Platform}}, Name, AutoShrink
...