我正在使用 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。
为什么在使用可以 ping 并具有管理访问权限的其他 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.