Задать вопрос
@Typ6o_CycJIuk

Как заставить скрипт PowerShell работать в WinSrv 2008?

Доброго времени суток друзья! Есть задача выполнять аудит входа/выхода пользователей на серваке. Поискав на просторах, понял, что лучше реализовать это скриптом Powershell. Есть "почти" готовый скрипт:
param ($key1,$val1,$val2,$val3,$val4,$val5,$val6)
if ($val1 -eq $null) {$val1=0};
$mydate = Get-date -hour 0 -minute 0 -second 0;
if ($key1 -eq "year") { $mydate = (Get-date -hour 0 -minute 0 -second 0 -day 1 -month 1); $mydate = $mydate.addyears(-$val1); };
if ($key1 -eq "month") { $mydate = (Get-date -hour 0 -minute 0 -second 0 -day 1); $mydate = $mydate.addmonths(-$val1); };

if ($key1 -eq "day") { $mydate = $mydate.adddays(-$val1) };

if ($key1 -eq "date") { $mydate = (Get-date -hour 0 -minute 0 -second 0 -day $val1 -month $val2 -year $val3); }; # здесь реализуем возможность задания интервала

if ($val4 -eq $null) {$Events = Get-EventLog security -message "*Тип входа:?10*" -after ($mydate) | ?{$_.eventid -eq 4624 }} 
if ($val4 -ne $null) {$Events = Get-EventLog security -message "*Тип входа:?10*" -after ($mydate) -before (get-date -hour 0 -minute 0 -second 0 -day $val4 -month $val5 -year $val6) | ?{$_.eventid -eq 528 }}
$Data = New-Object System.Management.Automation.PSObject
$Data | Add-Member NoteProperty Time ($null)
$Data | Add-Member NoteProperty UserName ($null)
$Data | Add-Member NoteProperty Address ($null)

$Events | %{

$Data.time = $_.TimeGenerated

$message = $_.message.split("`n") | %{$_.trimstart()} | %{$_.trimend()}

$Data.UserName = ($message | ?{$_ -like "Пользователь:*"} | %{$_ -replace "^.+:."} ) 
$Data.Address = ($message | ?{$_ -like "Адрес сети источника:*"} | %{$_ -replace "^.+:."}) 

$textcolor = $host.ui.rawui.foregroundcolor

$host.ui.rawui.foregroundcolor = "red"

if ($data.address -like "192.168.222*") {$host.ui.rawui.foregroundcolor = "DarkGreen"}

$data

$host.ui.rawui.foregroundcolor = $textcolor

}


Который при выполнении должен выдавать что-то вроде этого: 1c11e9027a494eeab720c97e584c45f6.JPG

Но к сожалению данный скрипт писался под WinSrv 2003 и на моей машине работать отказывается, выдавая множество ошибок, нужно заставить его работать в Win2008...
  • Вопрос задан
  • 258 просмотров
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@Typ6o_CycJIuk Автор вопроса
На текущий момент исправил ошибки в запуске скрипта, но теперь он срабатывает не верно, выводит время но не выводит еще два поля данныхc9b34d93546c486eab00b563dda26907.jpg:
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы