powershell:office:update-an-excel-file-with-data-from-active-directory-using-powershell
no way to compare when less than two revisions
Различия
Показаны различия между двумя версиями страницы.
— | powershell:office:update-an-excel-file-with-data-from-active-directory-using-powershell [28.03.2022 10:39] (текущий) – создано Алексей Максимов | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ===== Обновление файла Excel по данным из Active Directory с помощью PowerShell ===== | ||
+ | Предположим, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Есть необходимость получить по этим учётным записям из **Active Directory** некую дополнительную информацию и добавить её в таблицу в дополнительный столбец. То есть, нужно, используя учётные записи из второго столбца, | ||
+ | |||
+ | Пример простого **PowerShell** скрипта для выполнения решения подобной задачи: | ||
+ | |||
+ | |||
+ | <code powershell> | ||
+ | # Импортируем модуль для работы с Active Directory | ||
+ | # | ||
+ | Import-Module ActiveDirectory | ||
+ | |||
+ | # Открываем файл Excel | ||
+ | # | ||
+ | $ExcelObj = New-Object -comobject Excel.Application | ||
+ | $ExcelBook = $ExcelObj.Workbooks.Open(" | ||
+ | |||
+ | # Получаем лист с именем " | ||
+ | # | ||
+ | $ExcelSheet = $ExcelBook.Sheets.Item(" | ||
+ | |||
+ | # Получаем счётчик строк на листе | ||
+ | # | ||
+ | $rowcount=$ExcelSheet.UsedRange.Rows.Count | ||
+ | |||
+ | # Цикл перебора строк листа начиная с 2 строки | ||
+ | # (в первой строке ячейки содержат заголовки таблицы) | ||
+ | # | ||
+ | for($i=2;$i -le $rowcount; | ||
+ | |||
+ | # Получаем имя пользователя из колонки (у нас 2 колонка) | ||
+ | # | ||
+ | $ADusername=$ExcelSheet.Columns.Item(2).Rows.Item($i).Text | ||
+ | |||
+ | # Получаем для пользователя нужные атрибуты из AD | ||
+ | # | ||
+ | $ADuserProp = Get-ADUser $ADusername -properties name, canonicalName | ||
+ | |||
+ | # Наполняем данными из AD ячейку в нужной колоке (у нас 3 колонка) | ||
+ | # | ||
+ | $ExcelSheet.Columns.Item(3).Rows.Item($i) = $ADuserProp.canonicalName | ||
+ | |||
+ | |||
+ | } | ||
+ | # Сохраняем Excel файл и закрываем его | ||
+ | # | ||
+ | $ExcelBook.Save() | ||
+ | $ExcelBook.close($true) | ||
+ | </ | ||
+ | |||
+ | В результате выполнения данного PS-кода в файле Excel появится нужнапя нам дополнительная информация об учётных записях. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ---- | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{tag> | ||
+ | |||
+ | ~~DISCUSSION~~ |
powershell/office/update-an-excel-file-with-data-from-active-directory-using-powershell.txt · Последнее изменение: 28.03.2022 10:39 — Алексей Максимов