none
Ключ для -replace. Замена текста с конца строки. RRS feed

  • Вопрос

  • Доброго времени суток, друзья.

    Не могли бы вы помочь глупому болтокруту с регулярными выражениями?

    В командлете get-adcomputer параметр Canonical Name выводится следующим образом "domain/OU/OU/OU/OU/Computername", аналога ParentContainer как в QuestCmdlets я не нашел, поэтому придется выдумывать костыли.

    С помощью регулярных выражений, я хочу удалить последнюю часть, а именно /Computername, естественно, что строка полностью динамическая, поэтому с помощью -replace я хочу заменить часть строки с конца до первого знака "/"

    {$_.CanonicalName -replace ''} буду премного благодарен за разъяснение и пример того, какие ключи для replace нужно использовать в ''


    25 ноября 2014 г. 12:02

Ответы

  • Split-Path (get-adcomputer computername -Properties CanonicalName).CanonicalName -Parent


    Грамотная постановка вопроса - уже 50% решения. Не забывайте помечать ответы как полезные или как ответ, если они Вам; помогли.

    • Предложено в качестве ответа Vector BCOModerator 25 ноября 2014 г. 13:13
    • Помечено в качестве ответа powershell_dummy 26 ноября 2014 г. 10:30
    25 ноября 2014 г. 12:41
  • А зачем тут regex?

    Get-ADComputer Comp -prop canonicalname | Select Name,@{n="Parent";e={$_.canonicalname.substring(0,$_.canonicalname.LastIndexOf("/"))}}

    Или простой заменой:

    Get-ADComputer Comp -prop canonicalname | Select Name,@{n="Parent";e={$_.canonicalname -replace "/$($_.Name)$"}}



    • Изменено KazunEditor 25 ноября 2014 г. 12:38
    • Предложено в качестве ответа Vector BCOModerator 25 ноября 2014 г. 13:13
    • Помечено в качестве ответа powershell_dummy 26 ноября 2014 г. 10:30
    25 ноября 2014 г. 12:25
    Отвечающий

Все ответы

  • А зачем тут regex?

    Get-ADComputer Comp -prop canonicalname | Select Name,@{n="Parent";e={$_.canonicalname.substring(0,$_.canonicalname.LastIndexOf("/"))}}

    Или простой заменой:

    Get-ADComputer Comp -prop canonicalname | Select Name,@{n="Parent";e={$_.canonicalname -replace "/$($_.Name)$"}}



    • Изменено KazunEditor 25 ноября 2014 г. 12:38
    • Предложено в качестве ответа Vector BCOModerator 25 ноября 2014 г. 13:13
    • Помечено в качестве ответа powershell_dummy 26 ноября 2014 г. 10:30
    25 ноября 2014 г. 12:25
    Отвечающий
  • Split-Path (get-adcomputer computername -Properties CanonicalName).CanonicalName -Parent


    Грамотная постановка вопроса - уже 50% решения. Не забывайте помечать ответы как полезные или как ответ, если они Вам; помогли.

    • Предложено в качестве ответа Vector BCOModerator 25 ноября 2014 г. 13:13
    • Помечено в качестве ответа powershell_dummy 26 ноября 2014 г. 10:30
    25 ноября 2014 г. 12:41
  • Спасибо большое за помощь, так же спасибо большое Vector BCO за альтернативное решение. Хорош дня вам друзья.
    26 ноября 2014 г. 10:30