Войти

Показать полную графическую версию : [блог] Декодирование IDs сообщений в Event Log


Kazun
18-06-2016, 17:30
При просмотре событий журнала в Event Viewer, вкладка General содержит тело события в удобном для понимая виде и в зависимости от локализации ОС,по* возможности, отображает строки в заданной локализации.   В нашем примере событие* с номером 4663 содержит поле Accesses , которое имеет значение в удобном для нас виде — DELETE. При переключении на вкладку […]

Читать дальше в блоге... (https://kazunposh.wordpress.com/2016/06/18/%d0%b4%d0%b5%d0%ba%d0%be%d0%b4%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-ids-%d1%81%d0%be%d0%be%d0%b1%d1%89%d0%b5%d0%bd%d0%b8%d0%b9-%d0%b2-event-log/)

Это сообщение создано автоматически. Вы можете задать вопрос автору в теме, поскольку он на нее подписан.

greg zakharov
20-06-2016, 12:41
Сам пост не читал, ибо телепатирую что автор темы имел в виду это:
function Invoke-FormatMessage {
param(
[Parameter(Mandatory=$true, Position=0)]
[Int32]$MessageId,

[Parameter(Position=1)]
[ValidateNotNullOrEmpty()]
[String]$Module = 'msobjs.dll'
)

if (($ptr = ($$ = (
$asm = [Regex].Assembly).GetType(
'Microsoft.Win32.UnsafeNativeMethods'
).GetMethod('GetModuleHandle')).Invoke(
$null, @($Module)
)) -eq [IntPtr]::Zero) {
if (($mod = $asm.GetType(
'Microsoft.Win32.SafeNativeMethods'
).GetMethod('LoadLibrary').Invoke(
$null, @($Module)
)) -eq [IntPtr]::Zero) { break }

$sb = New-Object Text.StringBuilder(1024)
[void][Object].Assembly.GetType(
'Microsoft.Win32.Win32Native'
).GetMethod(
'FormatMessage', [Reflection.BindingFlags]40
).Invoke($null, ($par = [Object[]]@(
0x800, $$.Invoke($null, @($Module)), $MessageId, 1024,
[Text.StringBuilder]$sb, $sb.Capacity, [IntPtr]::Zero
)))
$par[4].ToString().Trim()
}

if ($mod) {
[void][Linq.Enumerable].Assembly.GetType(
'Microsoft.Win32.UnsafeNativeMethods'
).GetMethod(
'FreeLibrary', [Reflection.BindingFlags]40
).Invoke($null, @($mod))
}
}




© OSzone.net 2001-2012