PowerShell — Аудит компьютерного парка в Active Directory

Потребовалось собрать информацию обо всех компьютерах в сети офиса :

Нужно было знать имя компьютера, мак адрес, кто последний авторизовался

Сам скрипт:

$base = "OU=Computers,DC=Domain,DC=Local"

Get-ADComputer -Filter * -SearchBase $base | Foreach {
 $pr=$mac=$null
 if (Test-Connection $_.Name -Count 2 -Quiet) {
  $pr = Get-WMIObject Win32_NetworkLoginProfile -ComputerName $_.Name| Sort LastLogon -Desc | Select -First 1 | Foreach {$_.Caption}
  $mac = Get-WMIObject Win32_NetworkAdapter -ComputerName $_.Name -Filter "MACAddress like '%'" | Foreach {$_.MACAddress}
 }
 New-Object PSObject -Prop @{
  ComputerName = $_.Name
  MACAddress = ($mac -join ",")
  UserName = $pr
 }
} | Export-CSV -NoType pc-date.csv -Delimiter ";"
  
Send-MailMessage -From abc@domain.local -To info@domain.local -Subject "Informer AD-PC" -Attachments pc-date.csv -SmtpServer smtp.domain.local