Сортировка свойств с разбрызгиванием PowerShell - PullRequest
0 голосов
/ 05 ноября 2019

Я использую модуль Active Directory для Windows PowerShell для экспорта определенных значений из Active Directory. Как я могу отобразить результаты в том же порядке, в котором перечислены свойства? Когда я запускаю эту команду, я получаю все доступные свойства, перечисленные в алфавитном порядке. Но я хочу и ожидаю получить только те свойства, которые я перечислил в хеш-таблице в том же порядке, что и хеш-таблица.

$GetADUserOptions = @{
    properties = @(
    "employeeID",
    "employeeNumber",
    "whencreated",
    "wWWHomePage",
    "c",
    "CO"
    )
}
Get-ADUser @GetADUserOptions

Чего мне не хватает?

1 Ответ

1 голос
/ 05 ноября 2019

Вы не можете контролировать порядок, когда свойства возвращаются вам Active Directory или модулем.

Но если то, что вы делаете с результирующими данными, экспортируется в нечто вроде CSV (или даже простоконсоль), и вы заботитесь о порядке столбцов, просто используйте Select-Object с вашим желаемым порядком перед выполнением экспорта.

Вы можете просто передать массив из сплата, как предложено @AdminOfThings, как это

Get-ADUser @GetADUserOptions | Select-Object $GetADUserOptions.properties

Или вы можете сделать это явно, что также допускает некоторую постобработку атрибутов, которые по умолчанию не очень удобочитаемы, например lastLogonTimestamp или pwdLastSet.

# assuming lastLogonTimestamp was added to your list of properties
Get-ADUser @GetADUserOptions | Select-Object sAMAccountName,@{
    Label='LastLogonTS'
    Expression={
        [DateTime]::FromFiletime($_.lastLogonTimestamp)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...