Выходные данные без использования заголовков столбцов PowerShell

а. Одна разница между компонентом фабрики и контекстом приложения заключается в том, что бывший только экземпляр компонента, когда вы вызываете метод getBean (), в то время как ApplicationContext создает экземпляр компонента Singleton при запуске контейнера, он не ждет вызова getBean.

б.

ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");

или

ApplicationContext context = new ClassPathXmlApplicationContext{"spring_dao.xml","spring_service.xml};

Вы можете использовать один или несколько файлов xml в зависимости от вашего требования к проекту. Поскольку я здесь использую два файла xml, то есть один для деталей конфигурации для классов обслуживания, других для классов dao. Здесь ClassPathXmlApplicationContext является дочерним элементом ApplicationContext.

c. Контейнер BeanFactory является базовым контейнером, он может создавать объекты и вводить зависимости. Но мы не можем прикреплять другие сервисы, такие как безопасность, транзакция, обмен сообщениями и т. Д., Чтобы предоставить все сервисы, которые мы должны использовать ApplicationContext Container.

d. BeanFactory не обеспечивает поддержку интернационализации, то есть i18n, но ApplicationContext поддерживает ее.

e. Контейнер BeanFactory не поддерживает функцию AutoScanning (поддержка Injection на основе зависимостей на основе аннотации), но поддерживает ApplicationContext Container.

f. Контейнер Beanfactory не будет создавать объект компонента до момента запроса. Это означает, что Beanfactory Container загружает бобы лениво. Хотя ApplicationContext Container создает объекты Singleton bean только во время загрузки. Это означает, что есть ранняя загрузка.

g. Контейнер Beanfactory поддерживает только две области (singleton & amp; prototype) из фасоли. Но ApplicationContext Container поддерживает всю область beans.

30
задан Peter Mortensen 5 August 2015 в 22:00
поделиться

7 ответов

В вашем случае, когда вы просто выбираете одно свойство, проще всего, вероятно, полностью обойти любое форматирование:

get-qadgroupmember 'Domain Admins' | foreach { $_.Name }

Это даст вам простой строка [] без заголовков столбцов и пустых строк. Командлеты Format - * предназначены в основном для потребления человеком, и поэтому их выходные данные не предназначены для удобного машинного чтения или анализа.

Для нескольких свойств я, вероятно, выбрал бы - f оператор формата. Что-то вроде

alias | %{ "{0,-10}{1,-10}{2,-60}" -f $_.COmmandType,$_.Name,$_.Definition }

, что некрасиво, но дает вам простой и полный контроль над форматированием вывода. И никаких пустых строк: -)

43
ответ дан Joey 5 August 2015 в 22:00
поделиться

Если вы используете «формат таблицы», вы можете использовать -hidetableheaders

28
ответ дан Jérôme Verstrynge 5 August 2015 в 22:00
поделиться

Лучший ответ - оставить сценарий таким, каким он был. Делая Select name, следуйте за ним -ExpandProperty Name следующим образом:

get-qadgroupmember 'Domain Admins' | Select Name -ExpandProperty Name | out-file Admins.txt
23
ответ дан Peter Mortensen 5 August 2015 в 22:00
поделиться

Сначала мы получаем вывод команды, затем оборачиваем ее и выбираем одно из ее свойств. Есть только одно и его «Имя», которое мы и хотим. Поэтому мы выбираем свойство groups с помощью «.name» и выводим его.

в текстовый файл

 (Get-ADGroupMember 'Domain Admins' |Select name).name | out-file Admins1.txt

в csv

(Get-ADGroupMember 'Domain Admins' |Select name).name | export-csv -notypeinformation "Admins1.csv"
2
ответ дан maazza 5 August 2015 в 22:00
поделиться

Джои упомянул, что Format-* предназначен для потребления человеком. Если вы пишете в файл для машинного потребления, может быть, вы хотите использовать Export-*? Вот некоторые хорошие:

  • Export-Csv - значение через запятую. Отлично подходит для тех случаев, когда вы знаете, какими будут столбцы
  • Export-Clixml - Вы можете экспортировать целые объекты и коллекции. Это отлично подходит для сериализации.

Если вы хотите прочитать обратно, вы можете использовать Import-Csv и Import-Clixml. Я нахожу, что мне это нравится больше, чем придумывать собственные форматы данных (также довольно легко набрать Import-Ini, если вы предпочитаете).

2
ответ дан Caleb Jares 5 August 2015 в 22:00
поделиться

Свойство -expand не работает более чем с 1 объектом. Вы можете использовать это:

Select-Object Name | ForEach-Object {

Свойство -expand не работает более чем с 1 объектом. Вы можете использовать это:

[110]

Если существует более одного значения, то:

Select-Object Name, Country | ForEach-Object {

Свойство -expand не работает более чем с 1 объектом. Вы можете использовать это:

[110]

Если существует более одного значения, то:

[111].Name + " " + $Country}
.Name}

Если существует более одного значения, то:

Select-Object Name, Country | ForEach-Object {

Свойство -expand не работает более чем с 1 объектом. Вы можете использовать это:

[110]

Если существует более одного значения, то:

[111].Name + " " + $Country}
1
ответ дан Lyric Tropsed 5 August 2015 в 22:00
поделиться

добавьте параметр -expandproperty после объекта select, он вернет только данные без заголовка.

2
ответ дан Dominic Caron 5 August 2015 в 22:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: