none
Обрезанный вывод PS RRS feed

  • Вопрос

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

    Пытаюсь выгрузить пользователей из AD с полями UserPrincipalName, DisplayName, Title, Company, Department, Manager, EmployeeNumber.

    У некоторых пользователей очень длинные Title или Department и в выводе они обрезаются. Для вывода использую вот такую команду:

    Get-ADUser -filter * -Properties *  | where {$_.Enabled -eq $True} | ft -Property UserPrincipalName, Title, Company, Department | Out-String -Width 5000  | Out-File  c:\temp\users3.csv 

    Пробовал в части с ft добавлять -autosize, менять размер out-string - результат не меняется. Но если выполнять ту же самую команду, но по конкретному пользователю, вывод которого обрезается, то все выводится полностью.

    4 августа 2019 г. 18:18

Ответы

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

    Пытаюсь выгрузить пользователей из AD с полями UserPrincipalName, DisplayName, Title, Company, Department, Manager, EmployeeNumber.

    У некоторых пользователей очень длинные Title или Department и в выводе они обрезаются. Для вывода использую вот такую команду:

    Get-ADUser -filter * -Properties *  | where {$_.Enabled -eq $True} | ft -Property UserPrincipalName, Title, Company, Department | Out-String -Width 5000  | Out-File  c:\temp\users3.csv 

    Пробовал в части с ft добавлять -autosize, менять размер out-string - результат не меняется. Но если выполнять ту же самую команду, но по конкретному пользователю, вывод которого обрезается, то все выводится полностью.

    Делаете лишнее

    Get-ADUser -filter * -Properties *  | where {$_.Enabled -eq $True} | Select UserPrincipalName, Title, Company, Department | Export-CSV c:\temp\users3.csv 

    PoSh работает с обьектами и преобразовывать обьекты в строку без лишней надобности - себе вредить

    Командлеты Format-Table, Format-List, Out-GridView и прочие должны быть последними в наборе команд и не подразумевают (в общих случаях) какой либо обработки после себя (хоть и позволяют это сделать)


    The opinion expressed by me is not an official position of Microsoft

    • Изменено Vector BCOModerator 4 августа 2019 г. 18:36
    • Помечено в качестве ответа Валера2 4 августа 2019 г. 19:13
    4 августа 2019 г. 18:24
    Модератор

Все ответы

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

    Пытаюсь выгрузить пользователей из AD с полями UserPrincipalName, DisplayName, Title, Company, Department, Manager, EmployeeNumber.

    У некоторых пользователей очень длинные Title или Department и в выводе они обрезаются. Для вывода использую вот такую команду:

    Get-ADUser -filter * -Properties *  | where {$_.Enabled -eq $True} | ft -Property UserPrincipalName, Title, Company, Department | Out-String -Width 5000  | Out-File  c:\temp\users3.csv 

    Пробовал в части с ft добавлять -autosize, менять размер out-string - результат не меняется. Но если выполнять ту же самую команду, но по конкретному пользователю, вывод которого обрезается, то все выводится полностью.

    Делаете лишнее

    Get-ADUser -filter * -Properties *  | where {$_.Enabled -eq $True} | Select UserPrincipalName, Title, Company, Department | Export-CSV c:\temp\users3.csv 

    PoSh работает с обьектами и преобразовывать обьекты в строку без лишней надобности - себе вредить

    Командлеты Format-Table, Format-List, Out-GridView и прочие должны быть последними в наборе команд и не подразумевают (в общих случаях) какой либо обработки после себя (хоть и позволяют это сделать)


    The opinion expressed by me is not an official position of Microsoft

    • Изменено Vector BCOModerator 4 августа 2019 г. 18:36
    • Помечено в качестве ответа Валера2 4 августа 2019 г. 19:13
    4 августа 2019 г. 18:24
    Модератор
  • Спасибо, вроде теперь все хорошо. Только еще -encoding utf-8 добавил.
    4 августа 2019 г. 19:14