none
приведение к нижнему регистру в конвейере RRS feed

  • Вопрос

  • Добрый день.

    Я начинаю работать с powershell и имею некоторые трудности с решением реальных задач.

    Есть задача по экспорту пользователей, которым разрешён релей на внешнем почтовом сервере. Для этого мне всего лишь необходимо получить список всех членов определённой группы.

    Список я получил так:

    
    Get-adgroupmember group_mail_external_allow | select samaccountname

    Но как выяснилось некоторые имена пользователей выводятся с буквами в верхнем регистре, а мне необходимо только в нижнем. Я нашёл функцию, которая может приводить строки к нижнему регистру ToLower(). Но я не знаю как мне её использовать в моём конвейере.

    Прошу помощи.


    • Изменено opt1k 26 июня 2012 г. 5:01
    19 июня 2012 г. 4:18

Ответы

  • 1) Можно обойтись без select

    Get-adgroupmember group_mail_external_allow | % {
    $_.samaccountname.ToLower()
    }

    2) Можно исключить Foreach-Object

    Get-adgroupmember group_mail_external_allow | select @{n="samaccountname";e={$_.samaccountname.ToLower()}}

    • Помечено в качестве ответа opt1k 19 июня 2012 г. 5:54
    19 июня 2012 г. 4:59
    Отвечающий
  • Добрый день.

    Вариантов много - всё зависит от того в каком виде Вам нужен результат и что с ним планируется дальше делать.

    К примеру так:

    Get-adgroupmember group_mail_external_allow | select samaccountname | % {
    $_.samaccountname.ToLower()
    }
    Так каждый элемент отдельно обрабатывается.
    • Предложено в качестве ответа KazunEditor 19 июня 2012 г. 4:59
    • Помечено в качестве ответа opt1k 19 июня 2012 г. 5:54
    19 июня 2012 г. 4:37

Все ответы

  • Добрый день.

    Вариантов много - всё зависит от того в каком виде Вам нужен результат и что с ним планируется дальше делать.

    К примеру так:

    Get-adgroupmember group_mail_external_allow | select samaccountname | % {
    $_.samaccountname.ToLower()
    }
    Так каждый элемент отдельно обрабатывается.
    • Предложено в качестве ответа KazunEditor 19 июня 2012 г. 4:59
    • Помечено в качестве ответа opt1k 19 июня 2012 г. 5:54
    19 июня 2012 г. 4:37
  • 1) Можно обойтись без select

    Get-adgroupmember group_mail_external_allow | % {
    $_.samaccountname.ToLower()
    }

    2) Можно исключить Foreach-Object

    Get-adgroupmember group_mail_external_allow | select @{n="samaccountname";e={$_.samaccountname.ToLower()}}

    • Помечено в качестве ответа opt1k 19 июня 2012 г. 5:54
    19 июня 2012 г. 4:59
    Отвечающий
  • благодарю, это то что было необходимо.

    видел похожую конструкцию, но не хватало знака '%'.

    19 июня 2012 г. 5:54