Powershell Get-WinEvent $_.Properties[ ].value возвращает неожиданное значение

Использование PS для прохождения некоторых событий. Поиск неудачных входов в систему (4635), а затем получение соответствующей информации.

У меня есть что-то вроде:

Get-WinEvent -FilterHashtable @{path=$path; id=$ID} | ? {$_.Properties[5].Value -match $user} |
Select-Object -Property TimeCreated, @{Name="AccountName"; Expression={$_.Properties[5].Value}}, @{Name="IP ADDRESS"; Expression={$_.Properties[19].Value}}, @{Name="LOGON"; Expression={$_.Properties[10].Value}}, @{Name="DOMAIN"; Expression={$_.Properties[6].Value}}, @{Name="STATUS"; Expression={$_.Properties[9].value}}  | 
Format-Table -Auto | Out-File temp.txt

Все работает нормально, КРОМЕ $_.Properties[9].value. Предполагается, что он возвращает некоторое шестнадцатеричное значение (например, 0xc0000064), но вместо этого я получаю отрицательное целое число, например. -1073741718

Как получить шестнадцатеричный код? Благодарность


person user3403041    schedule 16.06.2014    source источник


Ответы (1)


Вы можете использовать

.ToString('X2')

на целое число без знака, чтобы вывести его как шестнадцатеричный

Вы можете использовать функцию для этой цели

function int2hex
{
    param([int]$value)
    return "0x$($value.ToString('X2'))"
}
person Mathias R. Jessen    schedule 16.06.2014