Я написал сценарий PowerShell, который идет и получает LastLogonTimestamp для каждого компьютера в моем домене.Я настроил этот скрипт для записи в мой системный журнал.Все работает правильно, за исключением того, что я получаю @{......}
в своем сообщении журнала, но не при печати на экране.Я отправляю эти журналы в SIEM, и ему не нравятся дополнительные символы.
Скрипт:
$dcs = Get-ADComputer -Filter { OperatingSystem -NotLike '*Server*' } -Properties OperatingSystem
foreach($dc in $dcs) {
# Implement LastLogonTime log item, if necessary
try {
# create a new event log type of "FreePhysicalMemory"
[System.Diagnostics.EventLog]::CreateEventSource($dc.Name, "System")
} catch {
# ignore if the above fails.
}
$LastLogon = Get-ADComputer $dc.Name -Properties LastLogonTimestamp |
Select-Object @{Name="LastLogon"; Expression={
[DateTime]::FromFileTime($_.LastLogonTimeStamp)
}}
# for debugging purposes. comment out when happy
$LastLogon
# logging entries for SIEM
Write-EventLog -LogName System -Source $dc.Name -EventID 8007 -EntryType Information -Message "LastLogonTimeStamp `n $LastLogon" -Category 1
}
Результаты:
![Screenshot: eventlog record](https://i.stack.imgur.com/JClYo.png)