New-EventLog

在本地或远程计算机上创建新事件日志和新事件源。

语法

New-EventLog
   [-LogName] <string>
   [-Source] <string[]>
   [[-ComputerName] <string[]>]
   [-CategoryResourceFile <string>]
   [-MessageResourceFile <string>]
   [-ParameterResourceFile <string>]
   [<CommonParameters>]

说明

此 cmdlet 在本地或远程计算机上创建新的传统事件日志。 此外,它还会注册写入新日志或现有日志的事件源。

包含 EventLog 名词的 cmdlet (EventLog cmdlet) 仅适用于传统事件日志。 若要从那些使用 Windows Vista 及 Windows 更高版本中的 Windows 事件日志技术的日志中获取事件,请使用 Get-WinEvent

示例

示例 1 - 创建新的事件日志

此命令在本地计算机上创建 TestLog 事件日志并为该日志注册新源。

New-EventLog -source TestApp -LogName TestLog -MessageResourceFile C:\Test\TestApp.dll

示例 2 - 向现有日志添加新事件源

此命令将新事件源 NewTestApp 添加到 Server01 远程计算机上的应用程序日志。

$file = "C:\Program Files\TestApps\NewTestApp.dll"
New-EventLog -ComputerName Server01 -Source NewTestApp -LogName Application -MessageResourceFile $file -CategoryResourceFile $file

该命令要求 NewTestApp.dll 文件位于 Server01 计算机上。

参数

-CategoryResourceFile

指定某一文件的路径,该文件包含源事件的类别字符串。 此文件也称为“类别消息文件”。

文件必须存在于正在创建事件日志的计算机上。 此参数不会创建或移动文件。

Type:String
Aliases:CRF
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

在指定计算机上创建新事件日志。 默认为本地计算机。

远程计算机的 NetBIOS 名称、IP 地址或完全限定的域名。 若要指定本地计算机,请键入计算机名称、点 (.) 或 localhost

此参数不依赖于 PowerShell 远程处理。 即使计算机未配置为运行远程命令,你也可以使用 Get-EventLog 的 ComputerName 参数。

Type:String[]
Aliases:CN
Position:3
Default value:Local computer
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LogName

指定事件日志的名称。

如果日志不存在,则 New-EventLog 会创建新事件日志并对该日志的 Log 和 LogDisplayName 属性使用此值。 如果日志存在,则 New-EventLog 会为该事件日志注册新源。

Type:String
Aliases:LN
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-MessageResourceFile

指定某一文件的路径,该文件包含源事件的消息格式设置字符串。 此文件也称为“事件消息文件”。

文件必须存在于正在创建事件日志的计算机上。 此参数不会创建或移动文件。

Type:String
Aliases:MRF
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ParameterResourceFile

指定某一文件的路径,该文件包含用于事件说明中的参数替换的字符串。 此文件也称为“参数消息文件”。

文件必须存在于正在创建事件日志的计算机上。 此参数不会创建或移动文件。

Type:String
Aliases:PRF
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Source

指定事件日志源(如写入事件日志的应用程序)的名称。 此参数是必需的。

Type:String[]
Aliases:SRC
Position:2
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

输入

None

不能通过管道将输入传递给此 cmdlet。

输出

EventLogEntry

备注

若要在 Windows Vista 和 Windows 的更高版本上使用 New-EventLog,请使用“以管理员身份运行”选项打开 PowerShell。

若要在 Windows Vista、Windows XP Professional 或 Windows Server 2003 中创建事件源,则你必须是计算机上 Administrators 组的成员。

创建新事件日志和新事件源时,系统会为新日志注册新源,但只有在新日志中写入首个条目时才会创建该日志。

操作系统将事件日志存储为文件。

创建新事件日志时,会将关联的文件存储在指定计算机上的 $env:SystemRoot\System32\Config 目录中。

文件名是带有 .evt 文件扩展名的 Log 属性的前八个字符。