Powershell v2 Get-Eventlog: попытка выполнить несанкционированную операцию

Я использую Powershell v2 это мой скрипт

param([string]$Sender_IP=$(throw " Sender's IP is required."))
$eventList = @()
Get-EventLog "Security" -computername $Sender_IP `
        | Where -FilterScript {$_.EventID -eq 4624 -and $_.ReplacementStrings[4].Length -gt 10 -and $_.ReplacementStrings[5] -notlike "*$"} `
        | Select-Object -First 2 `
        | foreach-Object {
            $row = "" | Select UserName, LoginTime
            $row.UserName = $_.ReplacementStrings[5]
            $row.LoginTime = $_.TimeGenerated
            $eventList += $row
            }
$UserId = $eventList[1].UserName

$UserID

Единственный раз, когда код работает, я передаю IP-адрес моего текущего сервера.

Я вошел на этот сервер, используя свои учетные данные администратора, и даже выбрал Run-As Administrator для запуска powershell.

Почему я получаю следующую ошибку при использовании других IP-адресов, которые я могу пропинговать и иметь административный доступ:

Get-EventLog : Attempted to perform an unauthorized operation.
At script_path_and_name.ps1:5 char:13
+ Get-EventLog <<<<  "Security" -computername $Sender_IP `
    + CategoryInfo          : NotSpecified: (:) [Get-EventLog], UnauthorizedAccessException
    + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.GetEventLogCommand

@Adi Inbar

Служба удаленного реестра работает, и брандмауэр выключен. Все же это не работает.

И когда я пытаюсь запустить сервисную учетную запись, она тоже не работает.

Но странная вещь, когда я запускаю с учетной записью службы и вводить свой собственный IP-адрес, я получаю сообщение об ошибке,

Get-EventLog : Requested registry access is not allowed.

1 ответ

(У меня пока недостаточно репутации, чтобы комментировать...)

Когда вы запускаете его как служебную учетную запись на вашем компьютере, повышается ли приглашение Powershell?

Я получал эту ошибку (доступ к реестру не разрешен) при запуске Powershell в приглашении без повышенных прав на моем компьютере.

Знаете ли вы, что такое политика выполнения на удаленных машинах? Я не уверен, имеет ли это значение, так как командлет удален сам, но, возможно, стоит проверить.

Также, к вашему сведению:

Труба в любом случае является естественным разрывом линии, вам не нужны обратные черты (просто не оставляйте пробелов после трубы).

Например:

cmdlet1 |
 cmdlet2 |
  cmdlet 3
Другие вопросы по тегам