[блог] Декодирование IDs сообщений в Event Log
При просмотре событий журнала в Event Viewer, вкладка General содержит тело события в удобном для понимая виде и в зависимости от локализации ОС,по* возможности, отображает строки в заданной локализации. В нашем примере событие* с номером 4663 содержит поле Accesses , которое имеет значение в удобном для нас виде — DELETE. При переключении на вкладку […]
Читать дальше в блоге...
Это сообщение создано автоматически. Вы можете задать вопрос автору в теме, поскольку он на нее подписан.
|
greg zakharov |
20-06-2016 12:41 2644172 |
Сам пост не читал, ибо телепатирую что автор темы имел в виду это:
Код:
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))
}
}
|
Время: 08:58.
© OSzone.net 2001-