Вывод Invoke-sqlcmd без заголовков - PullRequest
0 голосов
/ 24 сентября 2018

Я знаю, что этот вопрос уже задавался, но ответы не совсем соответствуют имеющимся у меня ограничениям. Итак, здесь мы снова (извините за это):

У меня есть эта строка в моем скрипте PowerShell:

$WITHOUTCLIENT = Invoke-Sqlcmd -h -1 -Database CM_00A -Query "Select Members.Name From CollectionMembers Members Join Collections Coll on Members.SiteID = Coll.SiteID Where  Coll.CollectionName = '_SCCM-Machine Sans Client'"

Проблема заключается в том, что хотя при подсчете количества элементов в этой коллекции результат точный (т. Е. $ WITHOUTCLIENT.count), но при попытке отобразить любой элемент в этой коллекции он продолжаетотображение кровавого заголовка (т. е. $ WITHOUTCLIENT [0])

Обратите внимание, что я не хочу использовать внешний файл для сохранения результата и что я должен использовать Invoke-Sqlcmd, а не Sqlcmd

я прошу о помощи Спасибо

1 Ответ

0 голосов
/ 24 сентября 2018

Если вы выполняете запрос:

$WITHOUTCLIENT = Invoke-Sqlcmd -h -1 -Database CM_00A -Query "Select Members.Name From CollectionMembers Members Join Collections Coll on Members.SiteID = Coll.SiteID Where  Coll.CollectionName = '_SCCM-Machine Sans Client'"

Вы получаете список объектов.Каждый объект имеет одно свойство, но он все еще является объектом.Чтобы получить «плоскую» коллекцию, используйте select с аргументом `-ExpandProperty ':

$WITHOUTCLIENT = $WITHOUTCLIENT | select -ExpandProperty Name
...