Отчет о новых пользователях и ПК в Active Directory
Небольшой скрипт,который формирует отчет о создание нового пользователя и пе в домене. Используется механизм отправки из этой статьи.
Делаем выборку из ад user с датой whencreated минус -1 день, добавляем в планировщик на каждый в 00:00:01
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
#Сopyright©win13.ru# Import-Module ActiveDirectory $filesreport = "C:\admin\reportuser\report\report_new.html" $dayu = ((Get-Date).AddDays(-3)).Date ##HTML## $a = "<style>" $a = $a + "BODY{background-color:#f1f0ef;}" $a = $a + "TABLE{border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;}" $a = $a + "TH{border-width: 2px;padding: 40px;border-style: solid;border-color: black;background-color:#f5eff5}" $a = $a + "TD{border-width: 2px;padding: 10px;border-style: solid;border-color: black;background-color:#ecfbff}" $a = $a + "</style>" $D = "<H2>-</H2>" $D = $D + "<H4>Поиск в DC=win13,DC=ru<H4>" $D = $D + "<H4>Новые учетные записи созданные за 2 дня<H4>" $p = "<H4>Новые сервера\рабочие станции за 2 дня<H4>" $m = "<H4>Перенести из CN=Computers,DC=win13,DC=ru<H4>" ##HTML## ##General-user## Get-ADUser -Filter {whenCreated -ge $dayu} -Properties "whenCreated","SamAccountName","mail" | Select-Object -Property "whenCreated","SamAccountName","mail" | ConvertTo-HTML -head $a,$d|Out-File $filesreport ##General-user## ##General-server## Get-ADComputer -Filter {whenCreated -ge $dayu} -Properties "whenCreated","dNSHostName","description","operatingSystem","distinguishedName" | Select-Object -Property "whenCreated","dNSHostName","description","operatingSystem","distinguishedName" | ConvertTo-HTML -head $p|out-file -Append -filepath $filesreport ##General-server## ##default-OU## Get-ADComputer -Filter * -SearchBase "CN=Computers,DC=win13,DC=ru" -Properties "whenCreated","dNSHostName","description","operatingSystem" | Select-Object -Property "whenCreated","dNSHostName","description","operatingSystem" | ConvertTo-HTML -head $m | out-file -Append -filepath $filesreport ##default-OU## #Invoke-Expression $filesreport #### $Report= "$filesreport" #Делаем креденталы $secpasswd = ConvertTo-SecureString "password" -AsPlainText -Force $mycreds = New-Object System.Management.Automation.PSCredential ("user_send", $secpasswd) #mail# $MailBody= Get-Content $Report #Отправляем письмо send-mailmessage $encoding = [System.Text.Encoding]::UTF8 send-mailmessage -to "ad_notify@win13.ru" -from "user_send@win13.ru" -subject "-----Report New User\PC-----" -body "$mailbody" -BodyAsHtml -smtpserver ex10.win13.ru -credential $mycreds -Encoding $encoding del $filesreport #Сopyright©win13.ru# |
пример вывода
переменные
$dayu — дни выборки.
$filesreport сохранение отчета
Можно указать свои.