Добавление значения к объекту группы AD - PullRequest
0 голосов
/ 01 февраля 2020

Я довольно новичок в Powershell, но я пытался получить список sAMAccountNames из группы AD для экспорта в файл CSV. Для этого я делаю следующее:

Get-ADGroupMember -Identity "group name" -Recursive | Select-Object SamAccountName | Export-Csv c:\"file location

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

| Select-Object SamAccountName | ForEach-Object { $_ + '@domain.net'} |

| Select-Object SamAccountName | ForEach-Object { $SamAccountName + '@domain.net} |

Я знаю, что мне нужно как-то вытянуть объект как переменную, чтобы потом добавить новое строковое значение, просто не знаю как. Любые советы или разъяснения приветствуются.

Ответы [ 2 ]

0 голосов
/ 01 февраля 2020

Вы можете сделать следующее:

Get-ADGroupMember -Identity "Group" -Recursive |
    Select-Object samAccountName,@{n='UpdatedName';e={"{0}@domain.com" -f $_.SamAccountName } } |
        Export-Csv -Path file.csv -NoType

Результат - file.csv, который содержит два столбца, SamAccountName и UpdatedName.

Это зависит от вычисляемого свойства (синтаксис @{n='property';e={value}}) в пределах Select-Object. В вычисляемых свойствах хорошо то, что выражение применяется к каждому элементу, переданному в Select-Object. Это легко позволяет вам вернуть SamAccountName и ваше новое значение в виде пользовательского объекта PowerShell, который можно экспортировать в CSV. Без свойств ваш CSV-экспорт будет содержать только длины строк.

0 голосов
/ 01 февраля 2020

Следующий скрипт использует строку для поиска всех членов группы. Ищет каждое имя samAccountName и добавляет к нему @ domain.com.

CODE

(Get-ADGroupMember -Identity "YourGroupHere" -Recursive | select-object samAccountName).samAccountName | ForEach-Object { "$_@domain.com" } | Export-Csv C:\fileLocation
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...