Найти в Дзене

Активные пользователи AD (PowerShell)

Данный скрипт предназначен для получения информации о пользователях Active Directory, у которых заполнена должность

Подробно:

  1. Import-Module ActiveDirectory - Эта команда импортирует модуль Active Directory PowerShell, который позволяет управлять объектами Active Directory.
  2. $users = Get-ADUser -Filter {(Enabled -eq $true) -and (Title -like "*")} -Properties DisplayName, Title, Department, Company - Эта команда получает список пользователей, которые включены (Enabled -eq $true) и у которых заполнена должность (Title -like "*").
  3. $excel = New-Object -ComObject Excel.Application - Эта команда создает новый объект Excel.Application, который позволяет управлять Excel из PowerShell.
  4. $workbook = $excel.Workbooks.Add() - Эта команда создает новую рабочую книгу.
  5. $sheet = $workbook.ActiveSheet - Эта команда получает активный лист рабочей книги.
  6. Следующие команды устанавливают заголовки столбцов и данные пользователей в ячейки таблицы.
  7. $workbook.SaveAs($savePath) - Эта команда сохраняет рабочую книгу в указанном пути.
  8. $workbook.Close() и $excel.Quit() - Эти команды закрывают рабочую книгу и Excel.
  9. Следующие команды освобождают ресурсы COM-объекта.
  10. Write-Host "Информация о пользователях сохранена в Excel-таблицу." - Эта команда выводит сообщение о том, что информация о пользователях сохранена в Excel-таблицу.

Таким образом, скрипт позволяет получить информацию о пользователях Active Directory с заполненной должностью и сохранить эту информацию в Excel-таблицу.

# Подключение к Active Directory
Import-Module ActiveDirectory

# Получение списка пользователей с заполненной должностью
$users = Get-ADUser -Filter {(Enabled -eq $true) -and (Title -like "*")} -Properties DisplayName, Title, Department, Company

# Создание нового объекта Excel.Application
$excel = New-Object -ComObject Excel.Application

# Создание новой рабочей книги
$workbook = $excel.Workbooks.Add()

# Получение активного листа
$sheet = $workbook.ActiveSheet

# Установка заголовков столбцов
$sheet.Cells.Item(1, 1) = "Пользователь"
$sheet.Cells.Item(1, 2) = "Должность"
$sheet.Cells.Item(1, 3) = "Отдел"
$sheet.Cells.Item(1, 4) = "Компания"

# Установка данных пользователей в ячейки таблицы
$row = 2
foreach ($user in $users) {
$sheet.Cells.Item($row, 1) = $user.DisplayName
$sheet.Cells.Item($row, 2) = $user.Title
$sheet.Cells.Item($row, 3) = $user.Department
$sheet.Cells.Item($row, 4) = $user.Company
$row++
}

# Сохранение файла
$savePath = "C:\Script\ActiveUserAd.xlsx"
$workbook.SaveAs($savePath)

# Закрытие рабочей книги и Excel
$workbook.Close()
$excel.Quit()

# Освобождение ресурсов COM-объекта
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($sheet) | Out-Null
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($workbook) | Out-Null
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel) | Out-Null
[System.GC]::Collect()
[System.GC]::WaitForPendingFinalizers()

Write-Host "Информация о пользователях сохранена в Excel-таблицу."
Активные пользователи AD (PowerShell) (c)Яндекс.Картинки
Активные пользователи AD (PowerShell) (c)Яндекс.Картинки