New-ADUser + OtherAttributes ж / Splatting для удобочитаемости - PullRequest
0 голосов
/ 22 марта 2019
foreach ($Person in $People) {
    $NewUserParams = @{
        Name = $Person.Name
        Server = 'xxxx.com:389'
        Path = 'CN=Users,CN=addressBook,DC=xxxx,DC=com'
        Credential = $Credentials
        givenName = $Person.givenName
        otherAttributes = @{sn=$Person.sn}
    }
    New-ADUser @NewUserParams 
}

У меня есть много дополнительных атрибутов (otherAttributes), которые я хотел бы добавить, которые доступны мне в formart New-ADUser -Name XXX -OtherAttributes @ {sn = xxx}.Тем не менее, я пытаюсь использовать splatting, чтобы сделать другие атрибуты более читабельными, наряду с другими необходимыми параметрами.Мне не нужно использовать splatting для всей команды, моя цель состояла в том, чтобы разбить другие атрибуты, чтобы это не была длинная строка, которая обернута.Идеи? * * 1002

1 Ответ

0 голосов
/ 22 марта 2019

Значение otherAttributes - это просто еще одна хеш-таблица, и ее можно переносить, как любую другую хеш-таблицу:

$NewUserParams = @{
    'Name'            = $Person.Name
    'Server'          = 'server.example.com:389'
    'Path'            = 'cn=Users,cn=addressBook,dc=example,dc=com'
    'Credential'      = $Credentials
    'givenName'       = $Person.givenName
    'otherAttributes' = @{
        'sn' = $Person.sn
    }
}

Лично я рекомендую помещать ключи хеш-таблиц в кавычки, чтобы избежать неожиданностей, но припо крайней мере, в приведенном выше примере это не требуется.

Если приведенное выше не работает для вас, вам необходимо предоставить более подробную информацию о выполняемом коде и ошибках, которые вы получаете.Отображение содержимого сгенерированной хеш-таблицы внутри цикла обычно помогает устранить проблемы с конкретными значениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...