Найти тему

Активные ПК домена (PowerShell)

Cкрипт предназначен для поиска компьютеров в Active Directory, которые были активны (т.е., которые были использованы в течение последних 30 дней) и выводит информацию о них.

Подробно:

  1. Import-Module ActiveDirectory - Эта команда импортирует модуль Active Directory PowerShell, который позволяет управлять объектами Active Directory.
  2. $inactiveDays = 30 - Эта команда определяет количество дней, которые могут быть неактивными.
  3. $currentDate = Get-Date - Эта команда получает текущую дату.
  4. $lastActiveDate = $currentDate.AddDays(-$inactiveDays) - Эта команда вычисляет дату, которая была 30 дней назад.
  5. $activeComputers = Get-ADComputer -Filter {LastLogonDate -gt $lastActiveDate} -Property Name,LastLogonDate - Эта команда получает список компьютеров, которые были активны в течение последних 30 дней.
  6. foreach ($computer in $activeComputers) - Это цикл, который проходит по каждому компьютеру в списке активных компьютеров.
  7. Write-Host "Компьютер: $($computer.Name)" - Эта команда выводит имя компьютера.
  8. Write-Host "Последний вход в систему: $($computer.LastLogonDate)" - Эта команда выводит дату последнего входа в систему компьютера.
  9. Write-Host "------------------------" - Эта команда выводит разделительную строку.
  10. $activeComputers | Select-Object Name, LastLogonDate | Export-Csv -Path "C:\Script\pc.csv" -NoTypeInformation - Эта команда сохраняет информацию о компьютерах в CSV-файл.

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

# Импортируем модуль Active Directory
Import-Module ActiveDirectory

# Определение времени неактивности в днях (например, 30 дней)
$inactiveDays = 30

# Получаем текущую дату
$currentDate = Get-Date

# Вычисляем дату, которая была $inactiveDays дней назад
$lastActiveDate = $currentDate.AddDays(-$inactiveDays)

# Получаем список компьютеров в домене, которые были активны в течение последних $inactiveDays дней
$activeComputers = Get-ADComputer -Filter {LastLogonDate -gt $lastActiveDate} -Property Name,LastLogonDate

# Выводим информацию о каждом активном компьютере
foreach ($computer in $activeComputers) {
Write-Host "Компьютер: $($computer.Name)"
Write-Host "Последний вход в систему: $($computer.LastLogonDate)"
Write-Host "------------------------"
}

# Опционально, можно сохранить информацию в файл
$activeComputers | Select-Object Name, LastLogonDate | Export-Csv -Path "C:\Script\pc.csv" -NoTypeInformation
Активные ПК домена (PowerShell) (с)Яндекс Картинки
Активные ПК домена (PowerShell) (с)Яндекс Картинки