Events 通过远程PowerShell在函数中写入事件日志

Events 通过远程PowerShell在函数中写入事件日志,events,powershell,logging,event-log,Events,Powershell,Logging,Event Log,环境: 服务器:启用远程PowerShell的Windows Server 2012 R2。 工作站:Windows 8.1 因此,我创建了一个名为MyModule.psm1的PowerShell模块,具有以下功能: Function CreateEvent() { Write-EventLog –LogName ToolLog –Source “Schedule” –EntryType Information –EventID 13 –Message “There were users wr

环境: 服务器:启用远程PowerShell的Windows Server 2012 R2。 工作站:Windows 8.1

因此,我创建了一个名为MyModule.psm1的PowerShell模块,具有以下功能:

Function CreateEvent() {

Write-EventLog –LogName ToolLog –Source “Schedule” –EntryType Information –EventID 13 –Message “There were users written to the database.”

}
我创建了一个PSSessionConfigurationFile,然后用EventLogging的配置名称注册了它,以便我可以通过以下方式远程powershell:

$Creds = Get-Credential
$SessionOpts = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck
$Session = New-PSSession -ComputerName Server.Domain.Com -ConfigurationName EventLogging -Credential $Creds -UseSSL -SessionOption $SessionOpts
Import-PSSession $Session
现在,当我在Get Credential中输入本地管理员凭据时,我可以运行函数CreateEvent,一切正常。但是,如果输入标准的本地用户凭据,则会出现以下错误:无法打开源“Schedule”的日志“ToolLog”的注册表项

我将函数中的写入事件日志替换为:

$EventLog = new-object System.Diagnostics.EventLog("ToolLog");
$EventLog.MachineName = ".";
$EventLog.Source = "Schedule";
$EventLog.WriteEntry("There were users written to the database.", "Information", 15);
我收到一个错误:调用带有“3”参数的“WriteEntry”时发生异常:“无法打开源“Schedule”的日志。您可能没有写访问权限。”

如果我在本地登录到服务器并导入模块并尝试运行该函数,我会得到同样的错误。我也无法单独运行Write EventLog的cmdlet

根据我在internet上找到的所有信息,我已授予本地非管理员用户对事件日志的写入权限。通过RegEdit和实际事件日志文件上的NTFS

有什么想法吗

谢谢,
Brian

据我所知,只有管理员才能创建新的事件日志。我不确定是否有办法解决这个问题。我建议以管理员身份提前在服务器上添加新的事件日志,以便在非管理员尝试写入事件日志之前,事件日志就在那里。

Hey Aaron,我已经从管理员帐户创建了事件日志。当我试图将一个事件写入事件日志时,我收到了错误。嗨,布莱恩,你从哪里得到这个消息的?