===== Обновление файла Excel по данным из Active Directory с помощью PowerShell ===== Предположим, у нас имеется некий файл **Excel**, содержащий на листе с условным именем ''Domain Users'' условную таблицу с перечнем доменных учётных записей. {{ :powershell:office:pasted:20220328-102133.png }} Есть необходимость получить по этим учётным записям из **Active Directory** некую дополнительную информацию и добавить её в таблицу в дополнительный столбец. То есть, нужно, используя учётные записи из второго столбца, заполнить данные третьего столбца. Пример простого **PowerShell** скрипта для выполнения решения подобной задачи: # Импортируем модуль для работы с Active Directory # Import-Module ActiveDirectory # Открываем файл Excel # $ExcelObj = New-Object -comobject Excel.Application $ExcelBook = $ExcelObj.Workbooks.Open("C:\Temp\Users.xlsx") # Получаем лист с именем "Domain Users" # $ExcelSheet = $ExcelBook.Sheets.Item("Domain Users") # Получаем счётчик строк на листе # $rowcount=$ExcelSheet.UsedRange.Rows.Count # Цикл перебора строк листа начиная с 2 строки # (в первой строке ячейки содержат заголовки таблицы) # for($i=2;$i -le $rowcount;$i++){ # Получаем имя пользователя из колонки (у нас 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 появится нужнапя нам дополнительная информация об учётных записях. {{ :powershell:office:pasted:20220328-103810.png }} ---- {{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 28.03.2022 10:13 {{tag>PowerShell Excel "Active Directory" "Microsoft Office"}} ~~DISCUSSION~~