Wecutil.exe

Wecutil.exe是一个 Windows 事件收集器实用工具,使管理员能够创建和管理从支持WS-Management协议的远程事件源转发的事件的订阅。 命令、选项和选项值对于此实用工具不区分大小写。

如果在尝试运行 wecutil 时收到一条消息,指出“RPC 服务器不可用”或“接口未知”,则需要 (wecsvc) 启动 Windows 事件收集器服务。 若要启动 wecsvc,请在提升的命令提示符下键入 net start wecsvc

列出现有订阅

以下语法用于列出现有的远程事件订阅。

wecutil { es | enum-subscription }

如果使用脚本从输出中获取订阅的名称,则需要绕过输出第一行中的 UTF-8 BOM 字符。 以下脚本演示了如何跳过 BOM 字符的示例。

setlocal enabledelayedexpansion

set bomskipped=
for /f %%i in ('wecutil es') do (
    set sub=%%i
    if not defined bomskipped (
        set sub=!sub:~3!
        set bomskipped=yes
    )
    echo !sub!
)
goto :eof

endlocal

获取订阅配置

以下语法用于显示远程事件订阅配置数据。

wecutil { gs | get-subscription } SUBSCRIPTION_ID [/f:VALUE 
[/u:VALUE] ...]

获取配置参数

SUBSCRIPTION_ID

唯一标识订阅的字符串。 此标识符在用于创建订阅的 XML 配置文件的 SubscriptionId 元素中指定。

/f:VALUE

一个 值,该值指定订阅配置数据的输出。 VALUE 可以是“XML”或“Terse”,默认值为“Terse”。 如果 VALUE 为“XML”,则输出以“XML”格式打印。 如果 VALUE 为“Terse”,则输出以名称/值对的形式打印。

/u: VALUE

一个 值,该值指定输出是否为 Unicode 格式。 VALUE 可以是“true”或“false”。 如果 VALUE 为“true”,则输出为 Unicode 格式,如果 VALUE 为“false”,则输出不是 Unicode 格式。

获取订阅运行时状态

以下语法用于显示订阅运行时状态。

wecutil { gr | get-subscriptionruntimestatus } SUBSCRIPTION_ID
 [EVENT_SOURCE [EVENT_SOURCE] ...]

获取状态参数

SUBSCRIPTION_ID

唯一标识订阅的字符串。 此标识符在用于创建订阅的 XML 配置文件的 SubscriptionId 元素中指定。

EVENT_SOURCE

一个 值,该值标识作为事件订阅的事件源的计算机。 此值可以是计算机的完全限定域名、NetBIOS 名称或 IP 地址。

设置订阅配置信息

以下语法用于通过命令行或使用 XML 配置文件更改订阅参数来设置订阅配置数据。

wecutil { ss | set_subscription } SUBSCRIPTION_ID [/e:VALUE] 
[/esa:EVENT_SOURCE [/ese:VALUE] [/aes] [/res] [/un:USERNAME] [/up:PASSWORD]] 
[/d:DESCRIPTION] [/uri:URI] [/cm:CONFIGURATION_MODE] [/ex:DATE_TIME] 
[/q:QUERY] [/dia:DIALECT] [/tn:TRANSPORTNAME] [/tp:TRANSPORTPORT] [/dm:MODE] 
[/dmi:NUMBER] [/dmlt:MS] [/hi:MS] [/cf:FORMAT] [/l:LOCALE] [/ree:[VALUE]] 
[/lf:FILENAME] [/pn:PUBLISHER] [/hn:NAME] [/ct:TYPE] 
[/cun:USERNAME] [/cup:PASSWORD] 
[/ica:THUMBPRINTS] [/as:ALLOWED] [/ds:DENIED] [/adc:SDDL]

wecutil {ss | set_subscription } /c:CONGIG_FILE [/cun:USERNAME] 
[/cup:PASSWORD]

备注

如果在 wecutil ss 命令中指定了错误的用户名或密码,则在使用 wecutil gr 命令查看订阅的运行时状态之前,不会报告错误。

设置配置参数

SUBSCRIPTION_ID

唯一标识订阅的字符串。 此标识符在用于创建订阅的 XML 配置文件的 SubscriptionId 元素中指定。

/c: CONGIG_FILE

一个 值,该值指定包含订阅配置信息的 XML 文件的路径。 该路径可以是当前目录的绝对路径或相对路径。 此参数只能与可选的 /cus 和 /cup 参数一起使用,并且与其他所有参数互斥。

/e: VALUE

一个 值,该值确定是启用或禁用订阅。 VALUE 可以为 true 或 false。 默认值为 true,这将启用订阅。

注意

禁用收集器启动的订阅时,事件源将变为非活动状态,而不是处于禁用状态。 在收集器发起的订阅中,可以禁用独立于订阅的事件源。

/d: DESCRIPTION

一个 值,该值指定事件订阅的说明。

/ex: DATE_TIME

一个指定订阅过期时间的 值。 DATE_TIME 是用标准 XML 或 ISO8601 日期时间格式指定的值:“yyyy-MM-ddThh:mm:ss[.sss][Z]”,其中“T”是时间分隔符,“Z”表示 UTC 时间。 例如,如果 DATE_TIME 为“2007-01-12T01:20:00”,则订阅到期时间为 2007 年 1 月 12 日 01:20。

/uri: URI

一个 值,该值指定订阅使用的事件类型。 事件源计算机的地址以及统一资源标识符 (URI) 唯一标识事件的源。 该 URI 字符串用于订阅中的所有事件源地址。

/cm: CONFIGURATION_MODE

一个 值,该值指定事件订阅的配置模式。 CONFIGURATION_MODE 可以是以下字符串之一:“Normal”、“Custom”、“MinLatency”或“MinBandwidth”。 EC_SUBSCRIPTION_CONFIGURATION_MODE枚举定义配置模式。 仅当配置模式设置为“自定义”时,才能指定 /dm、/dmi、/hi 和 /dmlt 参数。

/q: QUERY

一个 值,该值指定订阅的查询字符串。 对于不同的 URI 值,此字符串的格式可能不同,适用于订阅中的所有事件源。

/dia: DIALECT

一个 值,该值指定查询字符串使用的方言。

/cf: FORMAT

一个 值,该值指定返回的事件的格式。 FORMAT 可以是“事件”或“RenderedText”。 当值为“RenderedText”时,将返回事件,其中包含本地化字符串 (,例如) 附加到事件的事件说明字符串。 FORMAT 的默认值为“RenderedText”。

/l: LOCALE

一个 值,该值指定以呈现的文本格式传递本地化字符串的区域设置。 LOCALE 是语言/国家/地区区域性标识符,例如“EN-us”。 仅当 /cf 参数设置为“RenderedText”时,此参数才有效。

/ree:[VALUE]

一个 值,该值指定要为订阅传递哪些事件。 VALUE 可以为 true 或 false。 当 VALUE 为 true 时,将从订阅事件源读取所有现有事件。 如果 VALUE 为 false,则仅传递未来 (到达) 事件。 如果指定 /ree 而不指定值,则默认值为 true;如果未指定 /ree,则默认值为 false。

/lf: FILENAME

一个 值,该值指定用于存储从事件订阅接收的事件的本地事件日志。

/pn: PUBLISHER

一个 值,该值指定事件发布者 (提供程序) 名称。 它必须是拥有或导入 /lf 参数指定的日志的发布者。

/dm: MODE

一个 指定订阅传递模式的 值。 MODE 可以是推送或拉取。 仅当 /cm 参数设置为 Custom 时,此选项才有效。

/dmi: NUMBER

一个 值,该值指定事件订阅中用于批处理传递的最大项数。 仅当 /cm 参数设置为 Custom 时,此选项才有效。

/dmlt: MS

一个 值,该值指定传递一批事件时允许的最大延迟。 MS 是允许的毫秒数。 仅当 /cm 参数设置为 Custom 时,此参数才有效。

/hi: MS

一个 值,该值指定订阅的检测信号间隔。 MS 是间隔中使用的毫秒数。 仅当 /cm 参数设置为 Custom 时,此参数才有效。

/tn: TRANSPORTNAME

一个 值,该值指定用于连接到远程事件源计算机的传输的名称。

/esa: EVENT_SOURCE

一个 值,该值指定事件源计算机的地址。 EVENT_SOURCE 是一个字符串,它使用计算机的完全限定域名、NetBIOS 名称或 IP 地址标识事件源计算机。 此参数可与 /ese、/aes、/res 或 /un 和 /up 参数一起使用。

/ese: VALUE

一个 值,该值确定是启用或禁用事件源。 VALUE 可以为 true 或 false。 默认值为 true,这将启用事件源。 仅当使用 /esa 参数时,才使用此参数。

/Aes

一个 值,该值在事件源不是事件订阅的一部分时添加由 /esa 参数指定的事件源。 如果 /esa 参数指定的计算机已是订阅的一部分,则显示错误。 仅当使用 /esa 参数时,才允许此参数。

/res

一个 值,该值在事件源已是事件订阅的一部分时删除由 /esa 参数指定的事件源。 如果 /esa 参数指定的计算机不是订阅的一部分,则显示错误。 仅当使用 /esa 参数时,才允许此参数。

/un: USERNAME

一个 值,该值指定凭据中用于连接到 /esa 参数中指定的事件源的用户名。 仅当使用 /esa 参数时,才允许此参数。

/up: PASSWORD

一个 值,该值指定 /un 参数中指定的用户名的密码。 用户名和密码凭据用于连接到 /esa 参数中指定的事件源。 仅当使用 /un 参数时,才允许此参数。

/tp: TRANSPORTPORT

一个 值,该值指定在连接到远程事件源计算机时传输所使用的端口号。

/hn: NAME

一个 值,该值指定本地计算机的 DNS 名称。 远程事件源使用此名称来推送事件,并且必须仅用于推送订阅。

/ct: TYPE

一个 值,该值指定用于访问远程事件源的凭据类型。 TYPE 可以是“default”、“negotiate”、“digest”、“basic”或“localmachine”。 默认值为“default”。 这些值在 EC_SUBSCRIPTION_CREDENTIALS_TYPE 枚举中定义。

/cun: USERNAME

一个 值,该值设置用于没有其自己的用户凭据的事件源的共享用户凭据。

注意

如果此参数与 /c 选项一起使用,则会忽略配置文件中各个事件源的用户名和密码设置。 如果要对特定事件源使用不同的凭据,可以通过在另一个 set-subscription 命令的命令行上指定特定事件源的 /un 和 /up 参数来替代此值。

/cup: PASSWORD

一个 值,该值设置共享用户凭据的用户密码。 如果 PASSWORD 设置为 * (星号) ,则从控制台读取密码。 仅当指定了 /cun 参数时,此选项才有效。

/ica: THUMBPRINTS

一个 值,该值设置以逗号分隔的列表中的颁发者证书指纹列表。

注意

此选项仅适用于源启动的订阅。

/as: ALLOWED

一个 值,该值设置以逗号分隔的字符串列表,这些字符串指定允许启动订阅的非域计算机的 DNS 名称。 可以使用通配符(如“*.mydomain.com”)指定名称。 默认情况下,此列表为空。

注意

此选项仅适用于源启动的订阅。

/ds: DENIED

一个 值,该值设置以逗号分隔的字符串列表,这些字符串指定不允许启动订阅的非域计算机的 DNS 名称。 可以使用通配符(如“*.mydomain.com”)指定名称。 默认情况下,此列表为空。

注意

此选项仅适用于源启动的订阅。

/adc: SDDL

一个 值,该值以 SDDL 格式设置字符串,指定允许或不允许哪些域计算机启动订阅。 默认设置是允许所有域计算机启动订阅。

注意

此选项仅适用于源启动的订阅。

创建新订阅

以下语法用于为远程计算机上的事件创建事件订阅。

wecutil {cs | create-subscription } CONFIGURATION_FILE [/cun:USERNAME]
[/cup:PASSWORD] 

备注

如果在 wecutil cs 命令中指定了错误的用户名或密码,则在使用 wecutil gr 命令查看订阅的运行时状态之前,不会报告错误。

创建参数

CONFIGURATION_FILE

一个 值,该值指定包含订阅配置信息的 XML 文件的路径。 该路径可以是当前目录的绝对路径或相对路径。

以下 XML 是订阅配置文件的示例,该文件创建收集器发起的订阅,以将事件从远程计算机的应用程序事件日志转发到 ForwardedEvents 日志。

<Subscription xmlns="http://schemas.microsoft.com/2006/03/windows/events/subscription">
    <SubscriptionId>SampleCISubscription</SubscriptionId>
    <SubscriptionType>CollectorInitiated</SubscriptionType>
    <Description>Collector Initiated Subscription Sample</Description>
    <Enabled>true</Enabled>
    <Uri>http://schemas.microsoft.com/wbem/wsman/1/windows/EventLog</Uri>

    <!-- Use Normal (default), Custom, MinLatency, MinBandwidth -->
    <ConfigurationMode>Custom</ConfigurationMode>

    <Delivery Mode="Push">
        <Batching>
            <MaxItems>20</MaxItems>
            <MaxLatencyTime>60000</MaxLatencyTime>
        </Batching>
        <PushSettings>
            <HostName>thisMachine.myDomain.com</HostName>
            <Heartbeat Interval="60000"/>
        </PushSettings>
    </Delivery>

    <Expires>2010-01-01T00:00:00.000Z</Expires>

    <Query>
        <![CDATA[
            <QueryList>
                <Query Path="Application">
                    <Select>*</Select>
                </Query>
            </QueryList>
        ]]>
    </Query>

    <ReadExistingEvents>false</ReadExistingEvents>
    <TransportName>http</TransportName>
    <ContentFormat>RenderedText</ContentFormat>
    <Locale Language="en-US"/>
    <LogFile>ForwardedEvents</LogFile>
    <CredentialsType>Default</CredentialsType>

    <EventSources>
        <EventSource Enabled="true">
            <Address>mySource.myDomain.com</Address>
            <UserName>myUserName</UserName>
        </EventSource>
    </EventSources>
</Subscription>

以下 XML 是订阅配置文件的示例,该文件创建源启动的订阅,以将事件从远程计算机的应用程序事件日志转发到 ForwardedEvents 日志。

<Subscription xmlns="http://schemas.microsoft.com/2006/03/windows/events/subscription">
    <SubscriptionId>SampleSISubscription</SubscriptionId>
    <SubscriptionType>SourceInitiated</SubscriptionType>
    <Description>Source Initiated Subscription Sample</Description>
    <Enabled>true</Enabled>
    <Uri>http://schemas.microsoft.com/wbem/wsman/1/windows/EventLog</Uri>

    <!-- Use Normal (default), Custom, MinLatency, MinBandwidth -->
    <ConfigurationMode>Custom</ConfigurationMode>

    <Delivery Mode="Push">
        <Batching>
            <MaxItems>1</MaxItems>
            <MaxLatencyTime>1000</MaxLatencyTime>
        </Batching>
        <PushSettings>
            <Heartbeat Interval="60000"/>
        </PushSettings>
    </Delivery>

    <Expires>2018-01-01T00:00:00.000Z</Expires>

    <Query>
        <![CDATA[
            <QueryList>
                <Query Path="Application">
                    <Select>Event[System/EventID='999']</Select>
                </Query>
            </QueryList>
        ]]>
    </Query>

    <ReadExistingEvents>true</ReadExistingEvents>
    <TransportName>http</TransportName>
    <ContentFormat>RenderedText</ContentFormat>
    <Locale Language="en-US"/>
    <LogFile>ForwardedEvents</LogFile>
    <AllowedSourceNonDomainComputers></AllowedSourceNonDomainComputers>
    <AllowedSourceDomainComputers>O:NSG:NSD:(A;;GA;;;DC)(A;;GA;;;NS)</AllowedSourceDomainComputers>
</Subscription>

注意

创建源启动的订阅时,如果 AllowedSourceDomainComputersAllowedSourceNonDomainComputers/IssuerCAListAllowedSubjectListDeniedSubjectList 全部为空,则将为 AllowedSourceDomainComputers 提供默认值 - “O:NSG:NSD: (A;;GA;;;DC) (A;;Ga;;;NS) ”。 此 SDDL 默认值授予域计算机域组的成员以及本地转发器) 的本地网络服务组 (,能够为此订阅引发事件。

/cun: USERNAME

一个 值,该值设置用于没有其自己的用户凭据的事件源的共享用户凭据。 此值仅适用于收集器启动的订阅。

注意

如果指定此参数,则会忽略配置文件中各个事件源的用户名和密码设置。 如果要对特定事件源使用不同的凭据,可以通过在另一个 set-subscription 命令的命令行上指定特定事件源的 /un 和 /up 参数来替代此值。

/cup: PASSWORD

一个 值,该值设置共享用户凭据的用户密码。 当 PASSWORD 设置为“*” (星号) 时,将从控制台读取密码。 仅当指定了 /cun 参数时,此选项才有效。

删除订阅

以下语法用于删除事件订阅。

wecutil { ds | delete-subscription } SUBSCRIPTION_ID

删除参数

SUBSCRIPTION_ID

唯一标识订阅的字符串。 此标识符在用于创建订阅的 XML 配置文件的 SubscriptionId 元素中指定。 此参数中标识的订阅将被删除。

重试订阅

以下语法用于重试非活动订阅,方法是尝试重新激活所有或指定的事件源,方法是建立与每个事件源的连接,并将远程订阅请求发送到事件源。 不会重试禁用的事件源。

wecutil { rs | retry-subscription } SUBSCRIPTION_ID 
[EVENT_SOURCE [EVENT_SOURCE] ...]

重试参数

SUBSCRIPTION_ID

唯一标识订阅的字符串。 此标识符在用于创建订阅的 XML 配置文件的 SubscriptionId 元素中指定。 将重试此参数中标识的订阅。

EVENT_SOURCE

一个 值,该值标识作为事件订阅的事件源的计算机。 此值可以是计算机的完全限定域名、NetBIOS 名称或 IP 地址。

配置 Windows 事件收集器服务

以下语法用于配置 Windows 事件收集器服务,以确保可以通过计算机重启来创建和维持事件订阅。 这包括以下过程:

配置 Windows 事件收集器服务

  1. 如果 ForwardedEvents 通道已禁用,请将其启用。
  2. 延迟 Windows 事件收集器服务的启动。
  3. 如果 Windows 事件收集器服务未运行,请启动该服务。
wecutil { qc | quick-config } /q:VALUE

配置事件收集器参数

/q: VALUE

一个 值,该值确定快速配置命令是否会提示确认。 VALUE 可以为 true 或 false。 如果 VALUE 为 true,则命令将提示进行确认。 默认值为 false。

要求

要求
最低受支持的客户端
Windows Vista
最低受支持的服务器
Windows Server 2008